Accounts

Get account assets

GEThttps://api.firstleeward.com/v0/accounts/:id/assets

Retrieves per-asset balance breakdown with valuations, aggregated by symbol across all chains. Crypto assets also carry a byChain breakdown with the amount held, the withdrawable cap, and the withdrawal fee for each chain. All valuations are in the project's billing currency.

Authorizations

Authorizationstring · headerrequired

API key as Bearer token, e.g. Bearer YOUR_API_KEY

Headers

Leeward-Versionenum<string>required

API version (YYYY-MM-DD). Available option: 2026-09-18

Path Parameters

idstring<uuid>required

Account ID

Response

200Account assets with valuations
itemsobject[]required

Per-asset balance breakdown (crypto, fiat and virtual)

Show child attributes
Option 1 · CryptoAsset
symbolstringrequired

Asset symbol

namestringrequired

Display name

decimalsintegerrequired

Decimal places

amountstringrequired

Balance with decimals applied (string for full precision)

typestringrequired

Asset type discriminator

logoUristring | nullrequired

URI to asset logo image

valuenumberrequired

Balance value in the response currency

ratenumberrequired

Valuation rate (in response currency per unit of this asset)

byChainobject[]required

How the balance is distributed across chains. Because moving crypto is chain-scoped, act on these entries rather than the aggregate amount. Empty for balances not held in per-chain wallets.

Show child attributes
chainIdstringrequired

Chain the balance is held on

Available options:ETHEREUM_MAINNETETHEREUM_SEPOLIABASE_MAINNETBASE_SEPOLIAARBITRUM_ONE_MAINNETARBITRUM_ONE_SEPOLIAPOLYGON_MAINNETPOLYGON_AMOYSOLANA_MAINNETSOLANA_DEVNET
assetIdstringrequired

Asset identifier on this chain - the token contract address, or a reserved identifier for the chain native asset

amountstringrequired

Balance held on this chain, with decimals applied (string for full precision)

withdrawablestringrequired

Max amount you can request to withdraw from this chain without taking availableBalance below zero. Outstanding card debt - including pending authorizations - is netted out, and the value is zero while the account is not ACTIVE. Per-chain cap: it assumes nothing else is withdrawn, so the caps across chains cannot all be taken at once. This is the gross you request, not what the recipient receives - the fee comes out of it. Advisory and recomputed on every request; the authoritative check happens when the withdrawal is submitted.

withdrawalFeestring | nullrequired

Flat fee deducted from the requested amount, in this asset. null when withdrawals are not offered on this chain.

Option 2 · FiatAsset
symbolstringrequired

Asset symbol

namestringrequired

Display name

decimalsintegerrequired

Decimal places

amountstringrequired

Balance with decimals applied (string for full precision)

typestringrequired

Asset type discriminator

valuenumberrequired

Balance value in the response currency

ratenumberrequired

Valuation rate (in response currency per unit of this asset). Fiat is credited in the response currency itself, so this is 1.

Option 3 · VirtualAssetItem
symbolstringrequired

Asset symbol

namestringrequired

Display name

decimalsintegerrequired

Decimal places

amountstringrequired

Balance with decimals applied (string for full precision)

typestringrequired

Asset type discriminator

virtualAssetIdstring<uuid>required

Virtual asset identifier

valuenumberrequired

Value of this virtual asset holding, in the response currency.

ratenumberrequired

Valuation rate (in response currency per unit of this asset)

withdrawablestringrequired

Max units of this virtual asset that you can debit via a WITHDRAWAL posting without taking availableBalance below zero. Outstanding card debt - including pending authorizations - is netted out. Per-asset cap: the value assumes only this asset is being debited and all other balances stay untouched. After each withdrawal or posting, call this endpoint again to read the updated cap. Recomputed on every request.

404Account not found
errorobjectrequired
Show child attributes
codestringrequired
messagestringrequired
detailobject | nullrequired