Skip to main content

Assets

Canonical keys

Assets are identified by a canonical key of the form <SYMBOL>_<NETWORK>:

ExampleMeaning
ETH_ETHEREUMNative ETH on Ethereum mainnet
USDT_ETHEREUMUSDT (ERC-20) on Ethereum mainnet
BTC_BITCOINNative BTC
ETH_SEPOLIANative ETH on the Sepolia testnet
USDT_SEPOLIAUSDT on Sepolia

Use the exact canonicalKey in every assetCanonical field across the API.

The catalogue is the source of truth

The set of canonical keys enabled on your workspace is exposed at GET /v1/assets. Fetch this at startup rather than hard-coding provider coin keys — it also returns the resolved provider key for the active provider, which ZenVault manages for you and which is informational only.

curl -fsS https://api-staging.zenvault.io/api/v1/assets \
-H "Authorization: Bearer $KEY"

Testnet assets are excluded by default; add ?includeTestnet=true to include them.

Amounts & decimals

Amounts are always decimal strings in the asset's own units (e.g. "250.00" USDT, "0.05" ETH) — never base units, never floats. The catalogue's decimals tells you the maximum precision an asset supports; sending more precision than that is rejected with 400.