Mobula Was Acquired by fomo. Here's How to Migrate to Zerion API
fomo acquired Mobula's technology and team. If your app relies on Mobula's wallet endpoints, here's how they map to Zerion API endpoint by endpoint.
On August 31, 2026, fomo announced the acquisition of Mobula's software and intellectual property. Mobula founder Sacha Marcus, CTO Sacha Delhoux, and Head of Infrastructure Cyril Conan are joining fomo's engineering team.
Mobula has not announced that its public API is shutting down. There is no migration deadline.
But the ownership and product direction have changed. fomo said it’s goal is to bring data capabilities in-house. If your onchain data runs on Mobula, this is a good time to map an alternative while you can test it without rushing.
Zerion API returns wallet balances, DeFi positions, transaction history, NFTs, portfolio charts, and PnL across supported EVM chains and Solana under one normalized schema. This guide covers what it can replace and how the endpoints map.
What Zerion API covers
Zerion API offers enterprise-grade onchain wallet data. Its core endpoints are organized around an address, return supported chains by default, and value positions in your selected currency so the response is ready to render.
- Token balances and DeFi positions:
/v1/wallets/{address}/positions/— returns simple token balances and complex DeFi positions in one response. Usefilter[positions]=only_simple,only_complex, orno_filter. - Portfolio aggregation:
/v1/wallets/{address}/portfolio— returns total value, 24-hour change, and breakdowns by chain and position type. - Transaction history:
/v1/wallets/{address}/transactions/— returns interpreted transactions with transfers, fees, approvals, status, and dApp identification. - Portfolio chart:
/v1/wallets/{address}/charts/{period}— returns historical net worth from hour through max periods. - Wallet PnL:
/v1/wallets/{address}/pnl— returns FIFO-based realized and unrealized gain, net invested, cost basis, and fees. - Fungible assets:
/v1/fungibles/— returns Zerion's asset universe with metadata and asset-level market data. - Transaction webhooks:
/v1/tx-subscriptions/— sends interpreted transactions to your callback when watched wallets become active. - NFTs:
/v1/wallets/{address}/nft-positions/— returns NFT positions; a separate collections endpoint also groups them by collection.
The same wallet endpoints accept EVM and Solana addresses. You can omit the chain filter to query every supported chain for that address. Or you can narrow results with filter[chain_ids] when you need a smaller response.
Mobula-to-Zerion endpoint mapping
The main Mobula wallet endpoints have direct Zerion equivalents. Several separate Mobula calls collapse into one Zerion request.
GET /1/wallet/portfolio → GET /v1/wallets/{address}/portfolio + GET /v1/wallets/{address}/positions/ (totals + asset rows)
GET /2/wallet/holdings → GET /v1/wallets/{address}/positions/?filter[positions]=only_simple
GET /2/wallet/defi-positions → GET /v1/wallets/{address}/positions/?filter[positions]=only_complex
GET /2/wallet/activity → GET /v1/wallets/{address}/transactions/
GET /1/wallet/nfts → GET /v1/wallets/{address}/nft-positions/
GET /1/wallet/history → GET /v1/wallets/{address}/charts/{period}
GET /2/wallet/positions → GET /v1/wallets/{address}/pnl (PnL)
GET /1/all → GET /v1/fungibles/ (asset list)
GET /1/blockchains → GET /v1/chains/
POST /1/webhook → POST /v1/tx-subscriptions/
Here are the differences:
- Fewer calls. If you currently request holdings and DeFi positions separately, one call to
/positions/?filter[positions]=no_filterreturns both wallet tokens and supported DeFi positions. - No per-chain fan-out. Mobula charges several wallet endpoints per chain queried. Zerion queries all supported chains by default and charges one request, independent of the number of chains returned.
For a field-by-field mapping and code samples, use the Mobula migration guide.
Where Zerion goes further
Broader DeFi coverage. Mobula's DeFi endpoint is marked beta and uses an allowlist. Zerion has no protocol allowlist on chains marked for DeFi coverage. Positions are flattened into rows tagged with protocol, protocol_module, position_type, and group_id, so you do not need a separate parser for every lending market, staking contract, liquidity pool, or vault. See the guides for lending, staking, LP, and vault positions and Morpho deposits and loans.
One wallet schema across chain families. The same holdings, portfolio, activity, chart, and PnL routes accept EVM and Solana addresses. The response model stays the same, so you can share transformation and rendering code instead of maintaining a second wallet-data integration.
Used in production wallet experiences. Zerion API powers Zerion Wallet and is used by products including OpenSea, Kraken, Privy, and Safe{Wallet}.
Pricing: credits per chain versus requests
Mobula uses a credit model. Current plan details are published in the Mobula pricing documentation.
Mobula charges one credit per chain for portfolio, history, positions, and token-balance reads. Its DeFi positions endpoint costs ten credits per call. A portfolio read across ten default chains therefore costs ten credits. On the 125,000-credit Start-up plan, that is about 12,500 portfolio reads before you add DeFi. A holdings read plus a DeFi call costs 20 credits per rendered portfolio.
Zerion pricing is request-based. The current tiers are listed on the Zerion API page.
- Developer tier, free for up to 2,000 calls / day and 3 RPS
- Builder: $149 for up to 250,000 / month, 10 RPS
- Startup: $499 for up to 1,000,000 / month, 25 RPS
- Enterprise with custom pricing from 2.5M+ / month and 1,000+ RPS
One request returns all supported chains, so adding chain coverage does not multiply request cost.
DeFi Positions, Wallet Portfolio Chart, and Wallet P&L are limited to 25% of each plan's quota.
Finally, you can configure spending limits and overages from the dashboard, safely going beyond the plan but keeping costs predictable.
Try it now
Get a free Zerion API key and test the mapped endpoints against a wallet you already know.
The Zerion API documentation includes the full reference, migration mappings, recipes, and JavaScript, Python, and cURL samples.
For detailed field mappings, code samples, and edge cases, follow the official migration guide. If you use a coding agent, install the Zerion API migration skill with npx skills add zeriontech/zerion-api-migration and prompt it: “Migrate this codebase to the Zerion API.”
If you are working through a large migration and want to review edge cases, open the chat in the Zerion API dashboard.