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

Unified account create request for onramp/offramp/swap.

account_type
enum<string>
required

Unified account family for account resources.

Available options:
onramp,
offramp,
swap
Example:

"onramp"

capabilities
enum<string>[]

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
Example:
["ach", "fedwire"]
rail
enum<string>

Type of payment rail capability supported.

Available options:
ach,
fedwire,
swift
Example:

"ach"

crypto_destination_id
string

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
Pattern: ^[0-9A-Za-z]{27}$
Example:

"1NFHrqBHb3cTfLVkFSGmHZqdDPi"

fiat_destination_id
string

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
Pattern: ^[0-9A-Za-z]{27}$
Example:

"1NFHrqBHb3cTfLVkFSGmHZqdDPi"

destination_network_id
enum<string>

Identifier for a blockchain network

Available options:
ethereum-mainnet,
ethereum-sepolia,
ethereum-goerli,
ethereum-holesky,
solana-mainnet,
solana-devnet,
solana-testnet,
base-mainnet,
base-sepolia,
arbitrum-mainnet,
arbitrum-sepolia,
optimism-mainnet,
optimism-sepolia,
avalanche-mainnet,
avalanche-fuji,
polygon-mainnet,
polygon-amoy
Required string length: 1 - 30
Example:

"ethereum-mainnet"

source_network_id
string

Source network ID or wildcard network for crypto input.

Example:

"ethereum-mainnet"

source_asset
string

Asset to send into the account.

Minimum string length: 1
Example:

"USDC"

destination_asset
string

Asset to receive at the destination.

Minimum string length: 1
Example:

"USDC"

return_address
Crypto Resource Identifier · object

A unique identifier for a specific account on a specific blockchain. When rendered as a string, it has the syntax: :// (e.g., ethereum-mainnet://0x165cd37b4c644c2921454429e7f9358d18a45e14)

return_crypto_address
Crypto Resource Identifier · object

A unique identifier for a specific account on a specific blockchain. When rendered as a string, it has the syntax: :// (e.g., ethereum-mainnet://0x165cd37b4c644c2921454429e7f9358d18a45e14)

developer_fee_bps
integer<int32>

Developer fee in basis points (1 bp = 0.01%).

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

50

Response

Account created successfully.

Unified account response for onramp/offramp/swap.

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
Pattern: ^[0-9A-Za-z]{27}$
Example:

"1NFHrqBHb3cTfLVkFSGmHZqdDPi"

account_type
enum<string>
required

Unified account family for account resources.

Available options:
onramp,
offramp,
swap
Example:

"onramp"

bank_account
Bank Account · object

Unified schema for bank accounts.

destination
Crypto Destination Response · object

Response for a crypto destination.

source_crypto_address
string

Source crypto address for offramp/swap accounts.

Example:

"0x1234"

source_family
enum<string>

Blockchain family for the crypto account.

Available options:
evm,
solana
Example:

"evm"

source_network_id
enum<string>

Identifier for a blockchain network

Available options:
ethereum-mainnet,
ethereum-sepolia,
ethereum-goerli,
ethereum-holesky,
solana-mainnet,
solana-devnet,
solana-testnet,
base-mainnet,
base-sepolia,
arbitrum-mainnet,
arbitrum-sepolia,
optimism-mainnet,
optimism-sepolia,
avalanche-mainnet,
avalanche-fuji,
polygon-mainnet,
polygon-amoy
Required string length: 1 - 30
Example:

"ethereum-mainnet"

source_asset
string

Asset sent into the account.

Example:

"USDC"

destination_asset
string

Asset received at the destination.

Example:

"USDC"

rail
enum<string>

Type of payment rail capability supported.

Available options:
ach,
fedwire,
swift
Example:

"ach"

destination_rail
enum<string>

Type of payment rail capability supported.

Available options:
ach,
fedwire,
swift
Example:

"ach"