Accounts

Set an account's auto-liquidation target

Point an auto-liquidating virtual account at a different crypto account, or enable auto-liquidation on a virtual account created without it. Full-replace: account_id names the destination (an active crypto account of the same customer; its currency becomes the settlement currency), and an absent developer_fee_bps clears any configured fee. Enabling after creation is available only where the account supports it — GET /customers/{id}/liquidation-destinations reports whether auto-liquidation is supported for a customer and currency; where it isn't, a liquidation target can only be attached when the account is created. The destination must be the account holder's own wallet: a crypto account registered as a third party's is refused, and GET /customers/{id}/liquidation-destinations leaves it out. Returns the updated account.

put/v0/accounts/{id}/liquidation

Request

  • Base URL
    https://orchestration.seismic.systems/api
  • Auth
    API key in header Api-Key

Path parameters

idstring uuid required

Account id.

Request body

account_idstring uuid required
developer_fee_bpsinteger nullable

Your own developer fee in basis points (100 = 1%) on funds auto-converted through this account. Accepted where GET /v0/customers/{id}/liquidation-destinations reports developer_fee_supported for the currency; rejected elsewhere. At most 999 (9.99%). Omit for no fee.

Response

The account with its updated liquidation target.

asset_contract_addressstring nullable

Token contract pinned to a crypto account when it is created.

asset_standardstring nullable

Token interface used by a crypto account, such as erc20 or src20.

available_balancestring nullable

Portion of balance spendable right now (total minus holds/pending). Absent when the distinction doesn't exist for the account.

balancestring nullable

Funds held in the account, in currency major units, as of balance_as_of. Seismic keeps this in sync as funds move (deposits, payments, account updates). Present on virtual accounts once the first sync lands; always absent on external accounts (their funds sit at the partner's own bank/wallet).

balance_as_ofstring date-time nullable

When Seismic last refreshed balance.

can_enable_liquidationboolean nullable

Whether auto-liquidation can be enabled on this account via PUT /v0/accounts/{id}/liquidation. Present only on virtual bank accounts that don't auto-liquidate; where false (or absent), a liquidation target can only be attached when a virtual account is created.

chain_idinteger nullable

Numeric network identifier pinned when a crypto account is created.

created_atstring date-time required
currencystring required
customer_idstring uuid required
developer_fee_supportedboolean nullable

Whether liquidation.developer_fee_bps is accepted on this account, when enabling or retargeting auto-liquidation. Present only on virtual bank accounts; absent while the account is still provisioning.

idstring uuid required
kind'fiat' | 'crypto' required

Top-level kind of the account — fiat vs crypto. Carried explicitly on ApiAccount and ApiAccountCreationRequest so callers can branch without parsing shape (and because details is an untagged enum that won't help them dispatch).

liquidation_can_turn_offboolean nullable

Whether auto-liquidation on this account, once on, can be turned off via DELETE /v0/accounts/{id}/liquidation. Present only on virtual bank accounts; absent while the account is still provisioning.

origin'external' | 'virtual' required
railsstring[] required
status'pending' | 'active' | 'failed' | 'closed' | 'paused' required

Lifecycle a partner-visible account can be in. pending and failed occur only for crypto accounts whose setup is still running or failed; every other account is active until closed. paused is a reversible hold on a fiat account whose holder's verification is paused: it clears on unpause.

updated_atstring date-time required

Changes

No recorded changes to this operation across all 1 revision of this API.