Deposit requests
The deposit request object
The primary resource. Immutable once issued. Deposit state is read from it.
Fields#
iddr_ id- Deposit request id.
deposit_urlstring- Hosted checkout URL.
statusenumawaiting_deposit·partially_deposited·deposited·settled·expired·returned·needs_attentionchainobject- { id, name }.
tokenobject- { symbol, address, decimals }. The exact USDC contract.
currencystring- USDC.
addressstring | null- One-time deposit address. Null until the payer's wallet attestation is accepted.
address_explorer_urlstring | null- When an explorer is configured.
payout_addressstring- Receives exactly amount at settlement.
payer_walletstring | null- Attested payer wallet. Null until bound.
recovery_addressstring | null- Equals payer_wallet. Destination of all returns.
wallet_bound_attimestamp | nullamount, received, remainingdecimal string- Six-decimal USDC. Each has an integer
*_base_unitscounterpart. fee_amount, net_amountdecimal string- Fees are zero. net_amount = amount.
issuer, payerParty- { name, email?, details? }. Snapshot at issuance.
heading, reference, notesstring | null- As submitted.
metadataobject- As submitted. Merchant-only.
customer_id, issuer_idid | null- Linked records.
payer_policyobject- Full policy, including the assertion. Merchant-only.
attachmentobject | null- { id, filename, mime_type, byte_length, sha256 }.
client_secret, client_secret_expires_atstring- merchant_session only. Present on the issuing 201; never again.
verification_completed_attimestamp | null- Payer policy satisfied.
likely_unsolicited_attimestamp | null- First finalized credit from a wallet other than payer_wallet.
created_at, updated_at, expires_attimestamp- RFC 3339 UTC.
deposited_at, settled_at, expired_attimestamp | null- Lifecycle milestones. deposited_at_block and settled_block carry block numbers.
cancellation_requested_attimestamp | null- Set by POST …/cancel.
settlement_tx_hashstring | null- Transaction that executed the deposit contract. settlement_explorer_url when configured.
attentionobject | null- { code, message, action } while status is needs_attention.
transfersTransfer[]- Finalized transfers to address. Same shape as GET …/transfers.
as_ofobject | null- { block, at }. Commit point of this projection.
indexer_freshnessobject- { last_indexed_block, last_finalized_block, cursor_updated_at }.
self_settlementobject | null- { factory, salt }. Sufficient to execute the contract. Null until bound.
attributionobject- { version, hash }. Commitment to the canonical issued document.
Example#
{
"id": "dr_0198f80c-8d2f-7dc1-a369-90556a64f700",
"deposit_url": "https://payday.sh/pay/dr_0198f80c-8d2f-7dc1-a369-90556a64f700",
"status": "awaiting_deposit",
"chain": { "id": "143", "name": "Monad" },
"token": { "symbol": "USDC", "address": "0x754704Bc059F8C67012fEd69BC8A327a5aafb603", "decimals": 6 },
"currency": "USDC",
"address": null,
"address_explorer_url": null,
"payout_address": "0x1111111111111111111111111111111111111111",
"payer_wallet": null,
"recovery_address": null,
"wallet_bound_at": null,
"amount": "10.500000",
"amount_base_units": "10500000",
"received": "0.000000",
"received_base_units": "0",
"remaining": "10.500000",
"remaining_base_units": "10500000",
"fee_amount": "0.000000",
"fee_amount_base_units": "0",
"net_amount": "10.500000",
"net_amount_base_units": "10500000",
"issuer": { "name": "Acme LLC", "email": "billing@acme.example" },
"payer": { "name": "Customer Inc", "email": "ap@customer.example" },
"heading": "March retainer",
"reference": "INV-1042",
"notes": "Net 30. Thank you.",
"metadata": { "po": "PO-77" },
"customer_id": "cus_0198f80c-1111-7dc1-a369-90556a64f700",
"issuer_id": "iss_0198f80c-2222-7dc1-a369-90556a64f700",
"payer_policy": { "mode": "verified_email", "expected_email": "ap@customer.example" },
"attachment": null,
"verification_completed_at": null,
"likely_unsolicited_at": null,
"created_at": "2026-09-06T12:00:00Z",
"updated_at": "2026-09-06T12:00:00Z",
"expires_at": "2026-09-06T13:00:00Z",
"deposited_at": null,
"deposited_at_block": null,
"settled_at": null,
"settled_block": null,
"expired_at": null,
"cancellation_requested_at": null,
"settlement_tx_hash": null,
"settlement_explorer_url": null,
"attention": null,
"transfers": [],
"as_of": { "block": "98765000", "at": "2026-09-06T11:59:58Z" },
"indexer_freshness": {
"last_indexed_block": "98765000",
"last_finalized_block": "98765000",
"cursor_updated_at": "2026-09-06T11:59:59Z"
},
"self_settlement": null,
"attribution": { "version": 2, "hash": "0x…" }
}Routes#
- POSTCreate a deposit request/v1/deposit-requests
- GETList deposit requests/v1/deposit-requests
- GETGet a deposit request/v1/deposit-requests/{id}
- POSTCancel a deposit request/v1/deposit-requests/{id}/cancel
- GETList transfers/v1/deposit-requests/{id}/transfers
- GETGet verification/v1/deposit-requests/{id}/verification
- POSTCreate a client secret/v1/deposit-requests/{id}/client-secret
- POSTCreate a preview session/v1/deposit-requests/{id}/preview-session
- GETGet the attachment/v1/deposit-requests/{id}/attachment
- GETRender the request PDF/v1/deposit-requests/{id}/request.pdf
- GETGet the Proof of Payment/v1/deposit-requests/{id}/proof