Update a Deposit Address
Update a Deposit Address. The patchable fields are destination
(re-point to a different bank-type External Account), returnDestination,
label, and metadata; any other JSON key in the body is rejected with 400.
Re-pointing destination to a healthy bank External Account recovers a DA
from inactiveActionRequired back to active.
Authorizations
Token from POST /auth/token
Path Parameters
Deposit Address ID (da_ prefix).
Body
Partial update payload for a Deposit Address. The patchable fields are
destination (re-point to a different bank-type External Account), returnDestination,
label, and metadata. Any additional key in the JSON body is rejected with 400 by
the handler (strict whitelist).
Re-pointing destination to a healthy bank External Account recovers a DA
from inactiveActionRequired back to active; a re-point on an
already active DA updates the target without a status transition.
Re-point the DA destination (bank-type External Account by EA id, a registered walletExternal crypto wallet, or a walletFiat fiat wallet). Re-validated exactly like create; walletCrypto is NOT currently supported — 422 destinationWalletCryptoNotSupported. Switching between destination kinds (bank / cryptoWallet / walletFiat) involving walletFiat is rejected with 422 destinationTypeSwitchNotSupported.
- US bank account
- IBAN bank account
- Canadian bank account
- OMS wallet
- External wallet (registered)
- Fiat wallet
Re-point the registered crypto return destination (v0.11-8). PATCHable per
the v0.11-8 contract; send explicit null to clear.
When true, OMS absorbs the on-chain gas cost for the destination
delivery. Only true is currently supported; accepted for
forward-compatibility.
Partner display label.
Free-form key-value pairs stored on the resource and echoed back on reads.
Response
The request has succeeded.
A reusable crypto deposit configuration. Senders deposit the expected asset/network to the assigned on-chain address; OMS converts and delivers the funds to the configured bank destination automatically, creating a transaction per inbound deposit.
Deposit Address ID (da_ prefix).
^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$Resource type discriminator. Always "depositAddress".
depositAddress Public customer id (cst_...). Named customerId to match VA's naming convention.
^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$Resolved id + display name of the owning customer, so list/detail rendering needs no follow-up customer fetch (v0.12, #2665).
Current lifecycle status of the deposit address.
pending, active, frozen, closed, failed, inactiveActionRequired Human-readable explanation of the current status.
Asset of the inbound crypto the DA expects.
Network of the inbound crypto the DA expects.
ethereum, polygon, base, solana Null in the 201 until DEPOSIT_ACCOUNT.OPEN populates the Erebor-owned inlet address.
V0.10: unified destination shape (payoutOrigin now lives inside TransactionDestination).
- OMS wallet
- External wallet
- Fiat wallet
- US bank account
- IBAN bank account
- Canadian bank account
- Card
- Cash
Registered crypto return destination (v0.11-8), echoed when set.
Set when status = failed; closed enum identifying the failure category.
provisioningTimeout, systemError, ereborRejected, intlBankAccountCreateRejected, noMatchingNetwork, blockchainAddressInUse, bankAccountInUse Derived from the destination type: cryptoToFiatAccount for a bank
destination, or cryptoToCrypto for a crypto-wallet destination.
cryptoToCrypto, cryptoToCash, cryptoToFiatAccount, cashToCrypto, fiatAccountToCrypto, fiatAccountToFiatAccount Whether OMS absorbs the on-chain gas cost for the destination delivery.
Persisted from the create/update request (currently only true is
accepted).
Partner display label.
Free-form key-value pairs supplied at creation or update.
When the deposit address was created.
When the deposit address was last updated.