Skip to main content
POST
/
customers
/
{customerID}
/
virtual_accounts
curl --request POST \
  --url https://api.bridge.xyz/v0/customers/{customerID}/virtual_accounts \
  --header 'Api-Key: <api-key>' \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: <idempotency-key>' \
  --data '
{
  "developer_fee_percent": "0.1",
  "source": {
    "currency": "usd"
  },
  "destination": {
    "currency": "usdc",
    "payment_rail": "base",
    "address": "0xdeadbeef"
  }
}
'
{
  "id": "59waova4hbt1vhabj3jo7don6j1mj5peq8i8rhc5l1",
  "status": "activated",
  "developer_fee_percent": "0.1",
  "source_deposit_instructions": {
    "currency": "usd",
    "payment_rails": [
      "ach_push",
      "wire"
    ],
    "bank_name": "Lead Bank",
    "bank_address": "1801 Main St., Kansas City, MO 64108",
    "bank_beneficiary_name\"": "Customer Name",
    "bank_beneficiary_address\"": "1234 Main St., Kansas City, MO 64108",
    "bank_account_number\"": "123456789",
    "bank_routing_number\"": "87654321"
  },
  "destination": {
    "currency": "usdc",
    "payment_rail": "polygon",
    "address": "0xdeadbeef"
  }
}

Documentation Index

Fetch the complete documentation index at: https://apidocs.bridge.xyz/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Api-Key
string
header
required

Headers

Idempotency-Key
string
required

Path Parameters

customerID
string
required

A UUID that uniquely identifies a resource

Required string length: 1 - 42
Pattern: [a-z0-9]*

Body

application/json

Virtual Account object to be created

source
object
required
Example:
{ "currency": "usd" }
destination
object
required
Example:
{
"currency": "usdc",
"payment_rail": "polygon",
"address": "0xdeadbeef"
}
developer_fee_percent
string<number>

The developer fee percent that will be applied to this Virtual Account. The value is a base 100 percentage, i.e. 10.2% is 10.2 in the API.

Example:

"0.1"

fee_config
object

Developer fee configuration. Available by request only. Contact Bridge to enable this feature for your developer account. Cannot be provided alongside developer_fee_percent in the same request.

travel_rule_data
object

Travel Rule data for this virtual account. Use this only when the same originator or beneficiary should apply to every future movement through this virtual account. If counterparties can vary by event, submit the payload later with POST /travel_rule_data/{id} for the relevant event or resource.

Example:
{
"originator": {
"name": "Jane Smith",
"address": {
"street_line_1": "123 Market St",
"street_line_2": null,
"city": "San Francisco",
"state": "CA",
"postal_code": "94105",
"country": "USA"
},
"identifying_information": {
"type": "national_id",
"number": "1234567890",
"issuing_country": "USA"
},
"birth_date": "2000-01-31",
"place_of_birth": { "city": "San Francisco", "country": "USA" },
"wallet_type": "self_custodied",
"wallet_attested_ownership_at": "2026-04-01T12:00:00Z"
},
"beneficiary": {
"is_self": true,
"wallet_type": "external"
}
}

Response

200 - application/json

Virtual Account object created

id
string
read-only

A UUID that uniquely identifies a resource

Required string length: 1 - 42
Pattern: [a-z0-9]*
status
enum<string>

The activation status of the Virtual Account

Available options:
activated,
deactivated
developer_fee_percent
string<number>

The developer fee percent that will be applied to this Virtual Account. The value is a base 100 percentage, i.e. 10.2% is 10.2 in the API.

Example:

"0.1"

fee_config
object

Developer fee configuration. Available by request only and returned only for developers with this feature enabled.

customer_id
string

A UUID that uniquely identifies a resource

Required string length: 1 - 42
Pattern: [a-z0-9]*
created_at
string<date-time>
read-only

Time of creation of the virtual account

source_deposit_instructions
Virtual Account US · object
Example:
{
"currency": "usd",
"payment_rails": ["ach_push", "wire"],
"bank_name": "Lead Bank",
"bank_address": "1801 Main St., Kansas City, MO 64108",
"bank_beneficiary_name": "Customer Name",
"bank_beneficiary_address": "1234 Main St., Kansas City, MO 64108",
"bank_account_number": "123456789",
"bank_routing_number": "87654321"
}
destination
object
Example:
{
"currency": "usdc",
"payment_rail": "polygon",
"address": "0xdeadbeef"
}