GET /accounts/:id
Read a single account by its UUID, polymorphically across fiat and crypto. Use this when you only have the id (e.g. from a webhook payload or stored reference) and don't know the kind upfront. When you do know the kind, the per-kind variants are more specific:
Scoped to the org bound to the credential. Accounts owned by a different org return 404.
Response 200
Returns an Account. The response shape is either-or. Branch on kind to know what's in details. Virtual accounts also carry balance / available_balance / balance_as_of. A virtual account that has never had a balance sync is refreshed at request time (the same one-shot backfill as GET /accounts/:id/balance), so the first such read may take a moment. The result is stored and later reads are instant. If that refresh can't complete, the account is returned without the balance fields rather than failing. External accounts never carry a balance (their funds sit at your own bank or wallet):
const acct = await fetch(`/v0/accounts/${id}`).then(r => r.json());
if (acct.kind === "fiat") {
// acct.shape ∈ FiatShape; acct.details is a FiatAccount variant
} else {
// acct.shape ∈ CryptoShape; acct.details is a CryptoAccount
}Example: fiat (virtual US bank account)
{
"id": "5e3a…",
"customer_id": "2f10…",
"kind": "fiat",
"shape": "us",
"origin": "virtual",
"currency": "USD",
"rails": ["ach", "wire"],
"status": "active",
"balance": "150.00",
"available_balance": "130.00",
"balance_as_of": "2026-06-12T12:30:00Z",
"created_at": "2026-04-23T10:25:00Z",
"updated_at": "2026-04-23T10:25:00Z",
"details": {
"account_number": "0123456789",
"routing_number": "021000021",
"ach_routing_number": "021000021",
"fedwire_routing_number": "021000021",
"bank_name": "JPMorgan Chase Bank",
"account_holder_name": "Alice Liddell",
"bank_address": {
"line1": "270 Park Avenue",
"city": "New York",
"state": "NY",
"postal_code": "10017",
"country": "US"
}
}
}Example: crypto (external EVM wallet)
{
"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"
}
}Errors
404 (unknown id, or scoped to a different org).
Example
curl "$SEISMIC_ORCHESTRATION_URL/v0/accounts/5e3a…" \
-H "Api-Key: $SEISMIC_ORCHESTRATION_API_KEY"