Skip to main content
OneBalance’s backend services were deprecated on May 18, 2026. If you’ve been calling OneBalance for aggregated balances, transaction history, or the asset list, Zerion API replaces the wallet data layer with normalized responses across 60+ EVM chains and Solana. This guide shows the direct mapping for the main OneBalance data endpoints, with copy-pasteable code for each. What you get with Zerion:
  • Full wallet portfolio in one call: OneBalance’s aggregated-balance requires one request per asset (you specify aggregatedAssetId=ob:usdc etc.). Zerion’s /positions/ returns every token a wallet holds in a single call.
  • More chains, same shape: Zerion covers 60+ EVM chains plus Solana versus OneBalance’s 11. Solana addresses use the same /wallets/{address}/... paths as EVM, with the same enriched response shape.
  • Enriched transaction history and DeFi positions: Zerion’s /transactions/ returns decoded operation_type, transfers[], fees, and dApp metadata. DeFi positions (lending, staking, LPs) are exposed alongside wallet balances via filter[positions]=only_complex.
Zerion API is the data-layer replacement for OneBalance. For multichain execution (swaps, contract calls), pair Zerion with Relay. For embedded wallets and smart account management, pair with Privy or Turnkey.

Endpoint parity

Prefer not to write code? The Zerion CLI wraps the same endpoints with a one-shot npx @zerion/cli init flow, useful for quick experiments and AI agents.

Wallet portfolio

OneBalance returns the aggregated value of one asset across chains per request. To know a wallet’s total USD value, you call aggregated-balance for each asset and sum the fiatValue. Zerion’s /portfolio endpoint returns the total, 24h change, and breakdowns by chain and position type in one call.

Field mapping

Token balances

OneBalance returns balances grouped by aggregated asset (e.g., “USDC across all chains”). Zerion returns one entry per token per chain via /positions/, with relationships.chain.data.id on each entry. To replicate OneBalance’s per-asset aggregation, group Zerion positions client-side by fungible_info.id and sum value.

Field mapping

Transaction history

OneBalance’s get-tx-history returns transactions performed through the OneBalance system (smart-account operations). Zerion’s /transactions/ returns enriched, decoded wallet history with operation_type, transfers[], fees, and dApp metadata for any address, on every supported chain.

Field mapping

OneBalance’s get-tx-history is scoped to OneBalance-system operations and surfaces quote-level metadata. Zerion’s /transactions/ is a wallet-level, decoded activity feed. The shape differs more than for balances; map at the concept level.

Asset list

OneBalance’s /api/assets/list returns its catalog of aggregated assets (each ob:* ID groups one logical token across chains). Zerion’s /v1/fungibles/ is the equivalent token catalog, with each fungible exposing implementations[] per chain.

Field mapping

Pagination

OneBalance’s get-tx-history accepts offset and limit. Zerion returns a fully-formed links.next URL on every paginated response. Fetch it as-is.

Differences from OneBalance

Most OneBalance data-layer use cases have a direct Zerion equivalent. A few aren’t covered yet, and others behave differently. Worth a scan before you cut over. Not supported today:
  • Multichain execution (swap, transfer, contract call): OneBalance’s quote / prepare-call-quote / execute-quote flow lets you spend an aggregated balance and bridge in one operation. Zerion is data-only. Pair Zerion with Relay for execution.
  • Smart account management: predict-address, account deployment, and signing flows have no Zerion equivalent. Pair with Privy or Turnkey for embedded wallets and key management.
  • Resource locks / EIP-7702 helpers: OneBalance-specific primitives for spending aggregated balances. No Zerion equivalent; tied to OneBalance’s execution layer.
If any of these matter for your migration, let us know. Your feedback helps shape our roadmap. Worth knowing:
  • Authentication: OneBalance uses an x-api-key header. Zerion uses HTTP Basic Auth. Get a key at dashboard.zerion.io.
  • Chain coverage: OneBalance supports 11 chains. Zerion supports 60+ EVM chains and Solana, with NFTs on EVM. See the full list.
  • Address format: OneBalance accepts CAIP-style accounts (eip155:1:0x…, solana:5eyk…:…). Zerion takes plain 0x… EVM or base58 Solana addresses on the same /wallets/{address}/… path.
  • Aggregation model: OneBalance groups balances by aggregatedAssetId (one entry per logical token); per-chain detail is nested in individualAssetBalances. Zerion returns one entry per token per chain; group client-side by fungible_info.id if you need OneBalance-style aggregation.
  • Pagination: OneBalance uses offset + limit. Zerion returns links.next as a fully-formed URL you can fetch as-is. See pagination.
  • Response shape: Zerion uses JSON:API. Payloads live under data[].attributes with related entities under data[].relationships.
  • DeFi positions: Zerion exposes lending, staking, and LP positions via filter[positions]=only_complex on the same /positions/ endpoint. OneBalance does not surface DeFi positions in its data API.
  • Realtime updates: OneBalance offers polling (get-quote-status). Zerion offers transaction webhooks for push notifications on wallet activity.

Get in touch

Have a use case we don’t cover or need assistance with the migration? Our team is happy to help! Reach out via the chat widget on dashboard.zerion.io, or email us.