GET /customers/:id/liquidation-destinations
Resolve, before creating a virtual fiat account, whether it could auto-liquidate and which of the customer's crypto accounts the sweep can settle to.
Eligibility depends on where the new account and each candidate destination are held, which is resolved server-side. Read it here rather than inferring it from the customer's account list: passing an account this endpoint didn't return is rejected at create time. The answer can change as accounts finish provisioning, so resolve it at create time rather than caching it.
Query parameters
| Parameter | Type | Required | Notes |
|---|---|---|---|
currency | string | yes | Currency of the virtual fiat account you're about to create ("USD", "EUR", …). |
Response 200
| Field | Type | Notes |
|---|---|---|
supported | boolean | Whether auto-liquidation is available for a new virtual account in currency for this customer. When false, a create carrying liquidation is rejected. |
destinations | Account[] | The customer's crypto accounts accepted as liquidation.account_id on the create, in full Account form. Empty when supported is false. |
{
"supported": true,
"destinations": [
{
"id": "5e3a…",
"customer_id": "2f10…",
"kind": "crypto",
"shape": "evm",
"origin": "external",
"currency": "USDC",
"rails": ["base"],
"status": "active",
"created_at": "2026-05-20T19:45:00Z",
"updated_at": "2026-05-20T19:45:00Z",
"details": {
"address": "0x1ab8…"
}
}
]
}supported: false with an empty destinations is the normal answer for a currency that can't auto-liquidate, and for an org not approved to open virtual accounts at all. It is a capability probe, not an authorization check — the create still returns the full 403 in that case.
Errors
- 400: unknown
currency. - 404: unknown customer id, or the customer belongs to a different org.
Example
curl "$SEISMIC_ORCHESTRATION_URL/v0/customers/2f10…/liquidation-destinations?currency=USD" \
-H "Api-Key: $SEISMIC_ORCHESTRATION_API_KEY"