Zerion is offering discounts for teams migrating from SIM. To claim yours, reach out via the chat widget on dashboard.zerion.io or email api@zerion.io.
- One call for wallet + DeFi: Collapse two SIM requests (
balances+defi/positions) into a single/positions/?filter[positions]=no_filterresponse. - Portfolio in one shot: Total value, 24h change, and chain breakdown without computing from balances.
- Solana on the same endpoints: Pass any EVM or Solana address to
/wallets/{address}/...and get back the same enriched shape.
Endpoint parity
Token balances
SIM returns a flatbalances[] array. Zerion returns a JSON:API collection where each token is one entry under data[], with attributes.fungible_info for metadata and attributes.value for the USD value. The same endpoint accepts both EVM and Solana addresses.
Field mapping
Wallet activity (transactions)
SIM’s/v1/evm/activity/{address} returns chronologically-ordered, decoded transactions (sends, swaps, approvals, and so on). The direct Zerion equivalent is /v1/wallets/{address}/transactions/, which returns enriched, human-readable transactions with transfers, fees, and the dApp (when Zerion recognizes it). The same endpoint accepts both EVM and Solana addresses.
Field mapping
Filter mapping
DeFi positions
SIM’s/v1/evm/defi/positions/{address} returns lending, staking, and LP positions. The Zerion equivalent reuses the /positions/ endpoint with filter[positions]=only_complex to return DeFi positions only. EVM only today; Solana DeFi positions are on the roadmap.
Field mapping
Pagination
Replace SIM’soffset cursor with Zerion’s links.next URL. Each Zerion response includes a fully-formed next-page link you can fetch as-is.
Webhooks (realtime updates)
SIM’s Subscriptions API pushes balance/activity events to a callback URL. Zerion offers transaction webhooks: subscribe a callback URL to one or more wallets and receive a POST when any of them transact. See the wallet activity alerts recipe for a working example.Differences from SIM
Most SIM 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:- Token holders: SIM ranks ERC20 holders by balance via
/v1/evm/token-holders. Not on Zerion today; pair with a separate data source if you need holder rankings. - Raw RPC-style transactions: SIM’s
/v1/evm/transactionsreturns raw block data (gas, calldata, logs). Zerion’s/transactions/is enriched and decoded, not raw. For raw fields, usemined_at_block+hashfrom Zerion to look the transaction up via a node provider (Alchemy, Infura). - Eclipse chain: Zerion supports Solana but not Eclipse SVM. Check the supported chains list before migrating Eclipse-dependent code.
- SVM-specific token-mint fields: SIM’s
/beta/svm/balances/returns Solana-specific fields likeprogram_id(SPL token program),total_supply, anduri(token metadata URI). Zerion abstracts these away. Query a Solana RPC directly if you depend on them.
- Authentication: SIM uses an
X-Sim-Api-Keyheader. Zerion uses HTTP Basic Auth. Get a key at dashboard.zerion.io. - Chain IDs: SIM filters chains via numeric
chain_ids(e.g.1,8453). Zerion uses string chain IDs (e.g.ethereum,base). See the full list. - Solana: SIM splits EVM and Solana into separate endpoint families (Solana lives at
/beta/svm/...with a different schema) and only exposes raw RPC-style Solana transactions, no enriched activity. Zerion accepts Solana addresses on the same/wallets/{address}/...endpoints used for EVM, and returns the same enriched activity shape (operation_type,transfers[],fee) for both chains. DeFi positions are not yet supported for Solana. - Pagination: SIM returns
next_offset; Zerion returns a fully-formedlinks.nextURL you can fetch as-is. See pagination. - Response shape: Zerion uses JSON:API. Payloads live under
data[].attributeswith related entities underdata[].relationships. - Spam filtering: SIM has
exclude_spam_tokens; Zerion usesfilter[trash]=only_non_trash. See spam filtering for the full taxonomy. - One endpoint for wallet and DeFi: Zerion serves both wallet tokens and DeFi positions from
/positions/. Switch viafilter[positions]=only_simple(wallet only) oronly_complex(DeFi only). - Stablecoin filter: SIM has
asset_class=stablecoin. Zerion requires a comma-separatedfilter[fungible_ids]=…list. See the stablecoins note above. - Supply / borrow split: Some SIM DeFi positions split a single lending position into separate supply and borrow rows. Zerion returns one row per position with
position_typeand the underlying token; reconstruct directions fromquantitysign orposition_typesemantics. - LP tick ranges and VeNFT lock metadata: SIM exposes raw LP tick ranges and vote-escrow lock dates. Zerion abstracts these away and surfaces the position’s USD value, underlying token, and protocol module.
- Pool size / low liquidity flags: SIM provides per-token
pool_sizeandlow_liquidityflags. Zerion’s spam classifier filters dust viafilter[trash], but does not expose a numeric pool size.