GET /accounts
List every account the org has attached across all of its end-user customers. UNIONs fiat + crypto rows, sorted by (created_at desc, id desc) and clamped to limit (default 50, max 200).
For per-customer listings, GET /customers/:id/accounts is the more direct path.
Query params
| Param | Type | Notes |
|---|---|---|
customer_id | string? | Narrow to a single customer. |
kind | "fiat" | "crypto" | Narrow to one kind. |
origin | "external" | "virtual" | Narrow to one origin. |
currency | string | number | Match by currency name ("USDC") or numeric id. |
rail | string | number | Match by rail name ("base") or numeric id. |
status | "pending" | "active" | "failed" | "closed" | Match exactly. pending / failed return only the virtual accounts still being provisioned (or whose provisioning failed). closed returns retired accounts, which carry no details. See Account.status. |
limit | integer (1–200, default 50) | Page size. |
cursor | string | Opaque cursor from the prior page's next_cursor. |
Response 200
{
"accounts": [
{
"id": "5e3a…",
"customer_id": "2f10…",
"kind": "fiat",
"shape": "us",
"origin": "external",
"currency": "USD",
"rails": ["ach", "wire"],
"status": "active",
"created_at": "2026-04-22T08:10:00Z",
"updated_at": "2026-04-22T08:10:00Z",
"details": {
"account_number": "0123456789",
"routing_number": "021000021",
"ach_routing_number": "021000021",
"fedwire_routing_number": "021000021",
"bank_name": "JPMorgan Chase Bank",
"account_holder_name": "Acme Inc.",
"bank_address": {
"line1": "270 Park Avenue",
"city": "New York",
"state": "NY",
"postal_code": "10017",
"country": "US"
}
}
},
{
"id": "5e3b…",
"customer_id": "2f10…",
"kind": "crypto",
"shape": "evm",
"origin": "external",
"currency": "USDC",
"rails": ["base"],
"status": "active",
"created_at": "2026-04-23T10:25:00Z",
"updated_at": "2026-04-23T10:25:00Z",
"details": {
"address": "0x742d35Cc6634C0532925a3b844Bc9e7595f8b840"
}
}
]
}When more pages remain, next_cursor is set. Each entry is an Account: branch on kind to dispatch on the shape of details. Virtual entries also carry balance / available_balance / balance_as_of once Seismic's first balance sync lands (the examples above are external-origin, so they never do).
Example
curl "$SEISMIC_ORCHESTRATION_URL/v0/accounts?customer_id=2f10…&kind=fiat" \
-H "Api-Key: $SEISMIC_ORCHESTRATION_API_KEY"