Skip to main content
POST
/
accounts
/
onramp
Create an onramp account
curl --request POST \
  --url https://api.platform.dakota.xyz/accounts/onramp \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --header 'x-idempotency-key: <x-idempotency-key>' \
  --data '
{
  "capabilities": [
    "ach",
    "fedwire"
  ],
  "destination_id": "1NFHrqBHb3cTfLVkFSGmHZqdDPi",
  "source_asset": "USD",
  "destination_asset": "USDC",
  "rail": "ach",
  "developer_fee_bps": 50
}
'
{
  "id": "1NFHrqBHb3cTfLVkFSGmHZqdDPi",
  "bank_account": {
    "id": "1NFHrqBHb3cTfLVkFSGmHZqdDPi",
    "capabilities": [
      "ach",
      "fedwire"
    ],
    "account_holder_name": "John Doe",
    "bank_name": "Bank of America",
    "bank_address": {
      "street1": "123 Main St",
      "city": "San Francisco",
      "country": "US",
      "street2": "Apt 4B",
      "street3": "Building C",
      "region": "California",
      "postal_code": "94105"
    },
    "aba_routing_number": "123456789",
    "aba_wire_routing_number": "123456789",
    "account_number": "123456789",
    "account_type": "checking",
    "bic": "DEUTDEFFXXX",
    "iban": "DE89370400440532013000",
    "account_holder_address": {
      "street1": "123 Main St",
      "city": "San Francisco",
      "country": "US",
      "street2": "Apt 4B",
      "street3": "Building C",
      "region": "California",
      "postal_code": "94105"
    },
    "account_holder_phone": "1234567890",
    "bank_phone": "+12345678900"
  },
  "destination": {
    "destination_id": "1NFHrqBHb3cTfLVkFSGmHZqdDPi",
    "destination_type": "crypto",
    "name": "My Ethereum Wallet",
    "crypto_address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
    "family": "evm",
    "network_id": "ethereum-mainnet"
  },
  "destination_asset": "USDC",
  "rail": "ach"
}

Authorizations

x-api-key
string
header
required

Headers

x-idempotency-key
string<uuid>
required

Unique key to ensure request idempotency. If the same key is used within a certain time window, the original response will be returned instead of executing the request again.

Body

application/json

Schema for onramp account requests with capabilities for payment rails.

capabilities
enum<string>[]
required

List of payment capabilities supported by a rail. Currently, as input, you can only request one in this list. This constraint will be loosened in the future.

Minimum array length: 1

Type of payment rail capability supported.

Available options:
ach,
fedwire,
swift,
sepa
Example:
["ach", "fedwire"]
destination_id
string
required

KSUID is a 27-character globally unique ID that combines a timestamp with a random component. Used for all entity identifiers in the Dakota platform.

Required string length: 27
Example:

"1NFHrqBHb3cTfLVkFSGmHZqdDPi"

source_asset
string
required

ISO 4217 symbol representing a fiat asset.

Required string length: 3
Example:

"USD"

destination_asset
string
required

Asset to receive at the destination.

Minimum string length: 1
Example:

"USDC"

rail
enum<string>

Type of payment rail capability supported.

Available options:
ach,
fedwire,
swift,
sepa
Example:

"ach"

developer_fee_bps
integer<int32>

Developer fee in basis points (1 bp = 0.01%). Only available for authorized clients.

Required range: 0 <= x <= 10000
Example:

50

Response

Onramp account created successfully

Schema for onramp account responses with capabilities for payment rails.

id
string
required

KSUID is a 27-character globally unique ID that combines a timestamp with a random component. Used for all entity identifiers in the Dakota platform.

Required string length: 27
Example:

"1NFHrqBHb3cTfLVkFSGmHZqdDPi"

bank_account
Bank Account · object
required

Unified schema for bank accounts.

destination
Crypto Destination Response · object

Response for a crypto destination.

destination_asset
string

Asset to receive at the destination.

Example:

"USDC"

rail
enum<string>

Payment rail used for this onramp account

Available options:
ach,
fedwire,
swift,
sepa
Example:

"ach"