Get a deposit
Read one deposit of one virtual account: the same object a deposit list returns, plus rfi.
Read it after a deposit webhook to see where the deposit has got to, what it was charged and, for a crypto inbound, its stages in events.
Authorizations
The data.access_token value from Get access token.
Headers
Version applied to this request. It wins over your account's pinned version — see Versioning.
"2026-06-01"
Path Parameters
UUID of the account the deposit arrived in.
UUID of the deposit, as id in a deposit list or deposit_id in a deposit webhook.
Response
The deposit.
One deposit.
source repeats what sender holds and adds the rail and its tracking numbers. Both are null together, when the bank has not told us who sent the money.
Deposit UUID.
UUID of the account the money arrived in.
How much arrived, before charges, as a decimal string.
Currency of amount.
Where the deposit has got to — see Virtual account values. Available options: PENDING, COMPLETED, FAILED, REFUNDED, KYT_PENDING, KYT_REJECTED, NEEDS_ACTION.
Who sent the money, as the bank reported it.
The user who owns the account the money arrived in. Every field is null if that user can no longer be read.
How the money travelled, such as wire or ach_push. Mirrors source.payment_rail.
On-chain transaction that settled the deposit, the same as settlement.tx_hash. null on a fiat account, and until settlement runs.
Who sent the money, plus what the rail recorded about the transfer.
What was charged on this deposit. Every figure is a decimal string, and they are all 0.00 when nothing was charged. On a crypto inbound they read 0.00 until it is COMPLETED, and stay 0.00 if it is not credited.
What reaches the account, as a decimal string, never below 0.00. It is what was credited only once status is COMPLETED; before that it is what is expected to be credited, and a FAILED, KYT_REJECTED or REFUNDED deposit credited nothing, whatever this reads. A crypto inbound stopped before it was priced shows the tokens that arrived, with the token in net_currency.
Currency of net_amount: USD once the deposit is priced, otherwise the currency it arrived in.
Everything charged on this deposit, your markup included, as a decimal string: the same figure as fees.total_fees.
Currency of fee_total, the same as net_currency.
The part of fee_total that is your own markup (fees.client_markup), as a decimal string. 0.00 when none was charged.
The itemized price a crypto inbound was converted at: every fee line, the totals and the rate, shaped like the quotation object. Absent on every other deposit.
What the conversion did not credit because the token traded below one dollar, as a decimal string. It is part of the rate, not a fee, so it is in no fee line: see How you're charged. 0.00 at par. Present only with quotation.
The stages the deposit went through, oldest first. Only a crypto inbound records them; every other deposit returns []. Absent when the stages could not be read.
What a crypto-mode account converted the deposit into and sent to its wallet, read from the send itself, so a later change to the account's destination never rewrites it. null on a fiat account, and until the deposit settles: the account's mode tells which.
When the deposit was first recorded, as an ISO 8601 timestamp.
When it last changed, as an ISO 8601 timestamp.
Key/value pairs attached to the deposit. {} when there are none.
The open request for information holding this deposit, or null. Present whenever status reads NEEDS_ACTION, and names the request to answer.