Create a Deposit Address
Create a Deposit Address. Deposit addresses must be enabled for your project and the customer must be provisioned for them.
Authorizations
Token from POST /auth/token
Headers
Required on POST and PUT requests. Use a unique value per logical mutation attempt, for example a UUID.
Body
Owning customer (cus_… or legacy public id).
Side-shaped destination: a registered bankUs, bankIban, or bankCanada External Account. The server validates details (asset/network/accountHolder) against the resolved external account.
- Option 1
- Option 2
- Option 3
Asset of the inbound crypto the deposit address expects. "usdc" | "usdt" (lowercase).
Network of the inbound crypto the deposit address expects. Drawn from the served-network set; excludes polygon, ink, and sui.
Partner display label.
When true, OMS absorbs the on-chain gas cost for the destination
delivery. Only true is currently supported.
Response
The request has succeeded and a new resource has been created as a result.
Public customer id (cst_...). Named customerId to match VA's naming convention.
Null in the 201 until provisioning populates the OMS-owned inlet address. Top-level mirror of the virtual account's bankDetails.
Unified destination shape (payoutOrigin lives inside TransactionDestination).
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
Asset of the inbound crypto the DA expects.
Network of the inbound crypto the DA expects.
v2: closed enum carried on DA when status = "failed". camelCase per partner channel naming convention.
provisioningTimeout, systemError, ereborRejected, intlBankAccountCreateRejected, noMatchingNetwork, blockchainAddressInUse, bankAccountInUse depositAddress pending, active, frozen, closed, failed, inactiveActionRequired Always TransferType.cryptoToFiat for DA. Reuses the existing TransferType enum (instead of a string literal) to avoid collision-driven renames on the generated oapi enums - see feedback_reuse_enums_over_collision memory.
cryptoToCrypto, fiatToCrypto, cryptoToFiat