curl --request GET \
--url https://api.bridge.xyz/v0/customers/{customerID}/virtual_accounts/{virtualAccountID}/history \
--header 'Api-Key: <api-key>'{
"count": 3,
"data": [
{
"id": "va_event_456",
"customer_id": "cust_alice",
"virtual_account_id": "va_123",
"type": "payment_submitted",
"amount": "120.0",
"currency": "usd",
"developer_fee_amount": "1.25",
"exchange_fee_amount": "2.2",
"subtotal_amount": "120.0",
"gas_fee": "0.0",
"deposit_id": "deposit_123",
"created_at": "2024-01-01T00:00:00.000Z",
"destination_tx_hash": "0xdeadbeef",
"source": {
"payment_rail": "ach_push",
"description": "ACH description",
"sender_name": "The name of the business or individual who initiated the ACH",
"sender_bank_routing_number": "The routing number of the entity that initiated this ACH transaction",
"trace_number": "The unique, a 15-digit number associated with each ACH transaction that is used for tracking and reconciling transactions"
}
},
{
"id": "va_event_123",
"customer_id": "cust_alice",
"virtual_account_id": "va_123",
"type": "funds_received",
"amount": "123.45",
"currency": "usd",
"developer_fee_amount": "0.0",
"exchange_fee_amount": "0.0",
"subtotal_amount": "123.45",
"gas_fee": "0.0",
"deposit_id": "deposit_123",
"created_at": "2024-01-01T00:00:00.000Z",
"source": {
"payment_rail": "ach_push",
"description": "ACH description",
"sender_name": "The name of the business or individual who initiated the ACH",
"sender_bank_routing_number": "The routing number of the entity that initiated this ACH transaction",
"trace_number": "The unique, a 15-digit number associated with each ACH transaction that is used for tracking and reconciling transactions"
}
},
{
"id": "va_event_789",
"customer_id": "cust_alice",
"virtual_account_id": "va_456",
"type": "payment_processed",
"amount": "123.45",
"currency": "usdc",
"developer_fee_amount": "0.0",
"exchange_fee_amount": "0.0",
"subtotal_amount": "123.45",
"gas_fee": "0.0",
"deposit_id": "deposit_789",
"created_at": "2025-06-01T00:00:00.000Z",
"source": {
"payment_rail": "spei",
"description": "Receiving CLABE | clave de rastreo | SPEI reference",
"tracking_number": "The unique tracking number or clave de rastreo for this SPEI transaction",
"sender_name": "The name of the business or individual who initiated the SPEI credit",
"reference": "The reference or concepto de pago for this SPEI transaction"
}
}
]
}History of activity for a Virtual Account
curl --request GET \
--url https://api.bridge.xyz/v0/customers/{customerID}/virtual_accounts/{virtualAccountID}/history \
--header 'Api-Key: <api-key>'{
"count": 3,
"data": [
{
"id": "va_event_456",
"customer_id": "cust_alice",
"virtual_account_id": "va_123",
"type": "payment_submitted",
"amount": "120.0",
"currency": "usd",
"developer_fee_amount": "1.25",
"exchange_fee_amount": "2.2",
"subtotal_amount": "120.0",
"gas_fee": "0.0",
"deposit_id": "deposit_123",
"created_at": "2024-01-01T00:00:00.000Z",
"destination_tx_hash": "0xdeadbeef",
"source": {
"payment_rail": "ach_push",
"description": "ACH description",
"sender_name": "The name of the business or individual who initiated the ACH",
"sender_bank_routing_number": "The routing number of the entity that initiated this ACH transaction",
"trace_number": "The unique, a 15-digit number associated with each ACH transaction that is used for tracking and reconciling transactions"
}
},
{
"id": "va_event_123",
"customer_id": "cust_alice",
"virtual_account_id": "va_123",
"type": "funds_received",
"amount": "123.45",
"currency": "usd",
"developer_fee_amount": "0.0",
"exchange_fee_amount": "0.0",
"subtotal_amount": "123.45",
"gas_fee": "0.0",
"deposit_id": "deposit_123",
"created_at": "2024-01-01T00:00:00.000Z",
"source": {
"payment_rail": "ach_push",
"description": "ACH description",
"sender_name": "The name of the business or individual who initiated the ACH",
"sender_bank_routing_number": "The routing number of the entity that initiated this ACH transaction",
"trace_number": "The unique, a 15-digit number associated with each ACH transaction that is used for tracking and reconciling transactions"
}
},
{
"id": "va_event_789",
"customer_id": "cust_alice",
"virtual_account_id": "va_456",
"type": "payment_processed",
"amount": "123.45",
"currency": "usdc",
"developer_fee_amount": "0.0",
"exchange_fee_amount": "0.0",
"subtotal_amount": "123.45",
"gas_fee": "0.0",
"deposit_id": "deposit_789",
"created_at": "2025-06-01T00:00:00.000Z",
"source": {
"payment_rail": "spei",
"description": "Receiving CLABE | clave de rastreo | SPEI reference",
"tracking_number": "The unique tracking number or clave de rastreo for this SPEI transaction",
"sender_name": "The name of the business or individual who initiated the SPEI credit",
"reference": "The reference or concepto de pago for this SPEI transaction"
}
}
]
}A UUID that uniquely identifies a resource
1 - 42A UUID that uniquely identifies a resource
1 - 42The deposit id associated with the events. Cannot be passed if deposit_ids is also passed
The deposit ids associated with the events. Pass a list of deposit ids like "deposit_ids[]=id1&deposit_ids[]=id2". Cannot be passed if deposit_id is also passed
The hash of the transaction
The number of items to return (default of 10, max of 100)
This is an event id. If this is specified, the next page that starts with an event right AFTER the specified event id on the event timeline, which is always ordered from the newest to the oldest by creation time, will be returned. This also implies that events older than the specified event id will be returned (shouldn't be set if ending_before is set)
This is an event id. If this is specified, the previous page that ends with an event right BEFORE the specified event id on the event timeline, which is always ordered from the newest to the oldest by creation time, will be returned. This also implies that events newer than the specified event id will be returned (shouldn't be set if starting_after is set)
Filter history by event type
funds_received, payment_submitted, payment_processed, in_review, refund, microdeposit, account_update, deactivation, activation List of Virtual Account events
The number of events returned
Show child attributes
A UUID that uniquely identifies a resource
1 - 42The type of activity
funds_scheduled, funds_received, payment_submitted, payment_processed, in_review, refund, microdeposit, account_update, deactivation, activation The id of the Bridge customer that this Virtual Account event belongs to
1 - 42The id of the Virtual Account that this Virtual Account event belongs to
1 - 42Amount for that event, represented as a dollar denominated string. Examples include "100.25", "0.1", "1.234567" etc. For "incoming" events such as funds_received or under_review, this is the initial amount received. For "outgoing" events such as payment_submitted and payment_processed, this is the amount of funds sent to the destination. For non-transactional events such as account_update, this will be zero.
usdb, usdc, usdt, dai, usd, pyusd Amount of the developer fee if any, represented as a dollar denominated string. This is the final amount taken out of what is ultimately received by your customer, not a percentage. Examples include "100.25", "0.1", "1.234567" etc.
Amount of the exchange fee if any, represented as a dollar denominated string. Examples include "100.25", "0.1", "1.234567" etc.
Amount of the subtotal, represented as a dollar denominated string. Examples include "100.25", "0.1", "1.234567" etc.
Amount of the gas fee if any, represented as a dollar denominated string. Examples include "100.25", "0.1", "1.234567" etc.
The id of the deposit related to this event. This id can be used to link multiple events to the same transaction. Omitted for some refund cases.
The hash of the on-chain transfer to the destination address
The destination payment rail where the funds are deposited to
Show child attributes
ach_push, pix, sepa, spei, wire (ACH and SPEI only) The description of the deposit that the customer sent
(ACH, SEPA, and SPEI only) The name of the business or individual who initiated the transaction
(ACH only) The routing number of the entity that initiated this ACH transaction
(ACH only) The unique, a 15-digit number associated with each ACH transaction that is used for tracking and reconciling transactions
(Wire only) The routing number of the bank that sent the wire to the Virtual Account
(Wire only) The name of the bank that sent the wire
(Wire only) The beneficiary name of this wire
(Wire only) The beneficiary address of this wire
(Wire only) The originator name of this wire
(Wire only) The originator address of this wire
(Wire only) The memo for this wire
(Wire only) The IMAD of a wire transfer, if available
1 - 40(SEPA only) The BIC of the bank that initiated this transaction
(SEPA only) The full IBAN of the account that initiated this transaction
(SEPA only) The last 4 digits of the IBAN of the account that initiated this transaction
(SPEI only) The CLABE (account number) of the account that initiated this transaction
(SEPA and SPEI only) The SEPA/SPEI (concepto de pago) reference field set by the initiator of this transaction
6 - 140(SPEI only) The clave de rastreo or tracking number of the SPEI transaction
(SEPA only) The payment scheme used for this transaction, such as SEPA Credit Transfer or SEPA Instant
reversed_payment, sepa_credit, sepa_instant The UETR of this SEPA transaction, for tracing purposes.
36Time of creation of the event
Receipt information of a virtual account event. Available for drain and payment_processed events.
Show child attributes
The initial amount of the transfer, represented as a decimal string. Examples include "100.25", "0.1", "1.234567", "1.01" etc.
It's denominated in the transfer's fiat currency (see the top-level currency field for more info)
The fee, expressed as a decimal string, represents the amount you wish to reserve for your own account. This fee is the final amount deducted from what your customer ultimately receives, rather than a percentage.
It is denominated in the transfer's fiat currency (see the top-level currency field for more info).
The fee, expressed as a decimal string, represents the amount Bridge charges for facilitating the transfer. This is the final amount to take out of what is ultimately received by your customer, not a percentage.
It's denominated in the transfer's fiat currency (see top-level currency field for more info).
The initial amount of the transfer less fixed fees (including the developer_fee and exchange_fee). Examples include "100.25", "0.1", "1.234567", "1.01" etc.
It's denominated in the transfer's fiat currency (see top-level currency field for more info).
For Prefunded Accounts, this value will represent the remaining account balance after the transfer.
The fee, expressed as a decimal string. It's deducted from the withdrawn amount to pay for gas. Only nonzero to crypto withdrawals that cost gas (e.g. USDT or DAI), and only known when the transaction is confirmed on-chain. Will be missing if not yet known.
It's denominated in the fiat currency to which the destination currency is pegged.
The final amount of the transfer, expressed as a decimal string, equal to the subtotal_amount minus any gas fees. If the gas fee is not known, this field will be missing. Examples include "100.25", "0.1", "1.234567", "1.01" etc.
It's denominated in the destination currency if that is a fiat currency or the fiat currency to which the destination currency is pegged.
The hash of the on-chain deposit to the source address, where applicable
The hash of the on-chain transfer to the destination address, where applicable
The effective exchange rate can be calculated by dividing the converted amount by the amount available for conversion after deducting the developer fee. This rate includes a currency conversion spread and is subject to a rounding precision loss during the calculation. Currently it's populated for SEPA onramp/offramp transfers only.
The URL of a user-facing copy of the receipt.
Was this page helpful?