Create an agent deposit
Create a deposit for the authenticated agent’s customer. The returned target is a BOLT11 invoice for Lightning or an address for a supported chain. Requires the RECEIVE_FUNDS permission in the agent’s policy.
Authorizations
Bearer token authentication for agent-scoped endpoints. The token is the accessToken returned when redeeming a device code via POST /agents/device-codes/redeem. Agent credentials are user-scoped: all requests are automatically bound to the agent's associated customer and subject to the agent's policy.
Headers
Unique identifier used to return the same deposit for retries.
255"550e8400-e29b-41d4-a716-446655440000"
Body
Request for a deposit into one of the agent customer's internal accounts. For LIGHTNING, set sourceCurrency to USD and provide amount; the user pays that exact USD amount and fees are deducted from the amount received. For chain networks, no amount is required and the returned standing deposit address does not expire. A chain request counts the first order the address receives from that network in that currency within 24 hours of the request; while that window is open with nothing paid, a second request for the same account, network and currency is refused.
Network from which the customer will send the deposit.
LIGHTNING, BASE, ETHEREUM, SOLANA, POLYGON, ARBITRUM, TRON Currency or asset the customer will deposit. Must be USD for LIGHTNING; for a chain network, use the asset sent on that chain. TRON supports USDT only.
"USD"
Internal account that will receive the converted deposit. It must belong to the agent's associated customer and be allowed by the agent policy.
"InternalAccount:019542f5-b3e7-1d02-0000-000000000002"
Exact USD amount the user pays for a LIGHTNING deposit, in cents. Required for LIGHTNING; no amount is required for chain networks. This is an exact-in amount: deposit fees are deducted before the destination asset is credited.
x <= 90000000000000002000
Response
Deposit created successfully
A deposit that converts funds from an external network into an internal account belonging to the agent's customer. A deposit reported FAILED or EXPIRED can still become COMPLETED when the funds arrive late; the platform then receives the INCOMING_PAYMENT webhook for the deposit's transaction again, now COMPLETED.
System-generated unique deposit identifier.
"AgentDeposit:019542f5-b3e7-1d02-0000-000000000001"
Current processing state of the deposit.
PENDING, PROCESSING, COMPLETED, EXPIRED, FAILED, REFUNDED Network from which the customer sends the deposit.
LIGHTNING, BASE, ETHEREUM, SOLANA, POLYGON, ARBITRUM, TRON Currency or asset the customer sends.
"BTC"
Internal account that receives the converted deposit.
"InternalAccount:019542f5-b3e7-1d02-0000-000000000002"
Currency credited to the destination internal account.
"USDB"
Whether target is a Lightning invoice or chain address.
LIGHTNING_INVOICE, CHAIN_ADDRESS BOLT11 invoice when targetType is LIGHTNING_INVOICE; otherwise the address on sourceNetwork to which the customer sends funds.
"lnbc1pndepositpp5..."
Time when the deposit was created.
"2026-10-09T18:00:00Z"
Time when the deposit was last updated.
"2026-10-09T18:01:00Z"
Amount to send in the smallest unit of sourceCurrency, when the deposit quote fixes the source amount.
31500
Estimated amount credited to the destination internal account after fees, denominated in the destination asset. Present for LIGHTNING deposits.
Payment links for a LIGHTNING deposit. Absent for chain deposits.
Expiration time for a LIGHTNING invoice. Omitted or null for standing chain deposit addresses, which do not expire.
"2026-10-09T18:05:00Z"