Skip to main content
POST
Create a sandbox direct deposit with a simulated outcome

Authorizations

Authorization
string
header
required

User bearer credential: either a Cognito JWT or an ak_ user API key. Backend integrators using HMAC must include the user API key alongside the three HMAC headers on user-scoped endpoints.

Headers

idempotency-key
string
required

Unique key for this deposit intent. Reuse it verbatim after a timeout to replay the original response. Reusing it with a different request returns an idempotency conflict.

Required string length: 1 - 255
Example:

"deposit-order-7f3f4d4d"

Body

preparationId
string
required

Opaque public preparation identifier returned by direct prepare

Example:

"prep_01JV7Q8M4Y8K6N2Z5P3R1T9W0X"

returnSimulation
object
riskSimulation
object
lifecycleSimulation
object

Response

An ACH debit deposit authorized by the user and processed asynchronously through debit and crypto release lifecycles.

An ACH debit deposit authorized by the user and processed asynchronously through debit and crypto release lifecycles.

id
string
required

Opaque public deposit identifier

Example:

"dep_01JV7Q8M4Y8K6N2Z5P3R1T9W0X"

sourceId
string
required

Opaque public funding source identifier

Example:

"fs_01JV7Q8M4Y8K6N2Z5P3R1T9W0X"

onRampId
string | null
required

Identifier of the on-ramp created for this deposit, or null until the on-ramp record exists.

Example:

"onramp_xyz789"

status
enum<string>
required
Available options:
authorized,
processing,
partially_released,
completed,
returned,
refunded,
failed
quoteType
enum<string>
required
Available options:
exact_input,
exact_output
requestedPriority
enum<string>
required
Available options:
normal,
high
priority
enum<string>
required
Available options:
normal,
high
feeRateBps
number
required
principalAmountUsd
string
required
instantPortionUsd
string
required
settlementPortionUsd
string
required
expectedAssetAmount
string
required
grossFeeUsd
string
required
publishedFeeUsd
string
required
regularPublishedFeeUsd
string
required
instantPublishedFeeUsd
string
required
feeSubsidyUsd
string
required
userFeeUsd
string
required
totalDebitAmountUsd
string
required
feeSubsidy
object | null
required
network
enum<string>
required
Available options:
solana,
ethereum,
polygon,
base,
avalanche,
arbitrum
asset
enum<string>
required

Asset sent to the deposit destination

Available options:
USDC
Example:

"USDC"

assetAddress
string
required
address
string
required

Destination wallet address for the crypto release

debitStatus
enum<string>
required
Available options:
authorized,
submitting,
submitted,
settled,
returned,
failed
releaseStatus
enum<string>
required
Available options:
not_started,
queued,
partial,
completed,
failed
releaseDecisionMode
enum<string>
required
Available options:
after_settlement,
early_full,
early_partial
releasedAmountUsd
string
required
confirmedReleasedAmountUsd
string
required
authorizedAt
string<date-time>
required
createdAt
string<date-time>
required
settledAt
string<date-time> | null
required
returnedAt
string<date-time> | null
required
completedAt
string<date-time> | null
required
returnCode
string | null
required
returnReason
string | null
required
debitFailureCode
string | null
required
debitFailureReason
string | null
required
releaseFailureCode
string | null
required
releaseFailureReason
string | null
required
payoutTxHash
string | null
required