Skip to main content
POST
Create a deposit

Authorizations

Authorization
string
header
required

JWT bearer token. Include as Authorization: Bearer <token>. See the Authentication guide for how to obtain one.

Headers

X-Idempotency-Key
string<uuid>
required

Unique key to ensure idempotent request processing. Required on all POST, PUT, and PATCH requests.

X-Trace-Version
string

API version. Omit to use the default version.

Example:

"1"

Body

application/json

Every deposit references a quote previously obtained from POST /v1/quotes. The quote determines sourceAmount and targetAmount and locks the FX rate (or the 1:1 spot for same-asset). A quote can be consumed by at most one operation. The customer picks the funding rail via fundingInstruction.rail; the response returns the concrete instruction — the PIX dynamic QR code payload — under intent.fundingInstruction.

accountId
string<uuid>
required

Account that will be credited. Must match the account on the referenced quote.

Example:

"a1b2c3d4-5e6f-7890-abcd-ef1234567890"

quoteId
string<uuid>
required

ID of a quote returned by POST /v1/quotes. Must belong to the same customer, must not have expired, and must not have been consumed by another operation.

Example:

"f6a7b8c9-d0e1-2345-fabc-456789012cde"

fundingInstruction
object
required

Selects which funding rail the customer will use to send the money in.

payer
object | null

Optional payer details for the incoming funds. When omitted, the account owner is assumed to be the payer.

Response

Deposit accepted. The operation is in REQUESTED status.

A created operation. Withdrawals, swaps, deposits, and transfers share this shape; intent.type identifies which. quote is present for withdrawals, swaps, and transfers (transfers take no quoteId and get a 1:1 quote generated internally); it is null for deposits created without a prior quote.

id
string<uuid>
required
read-only
customer
object
required

Reference to the customer that owns the operation.

account
object
required

Reference to a customer account, including the registered owner name.

sourceAmount
object
required

Monetary amount expressed as a decimal string in the asset's canonical scale. Use a decimal-precision library (BigDecimal, Decimal) for arithmetic — never JavaScript Number. Request bodies use the scalar AmountValue instead.

targetAmount
object
required

Monetary amount expressed as a decimal string in the asset's canonical scale. Use a decimal-precision library (BigDecimal, Decimal) for arithmetic — never JavaScript Number. Request bodies use the scalar AmountValue instead.

intent
Withdrawal · object
required

Operation intent. Discriminated by type.

quote
object | null
required

Consumed quote. null for deposits created without a prior quote; present for all other operations.

fees
object[]
required
transactions
object[]
required

Rail-level transactions for the operation. Only confirmed transactions are included; pending or failed rail movements are omitted.

currentState
object
required

The operation's current state. Carries a status, optional reason, and the time the state was entered.

createdAt
string<date-time>
required
read-only
updatedAt
string<date-time>
required
read-only
tags
object[]

System-managed labels stamped onto the operation when it is created. Inherited from the account's propagating tags.

Example: