Skip to main content
Already integrated another portfolio, wallet-data, or DeFi API? Octav is designed as a drop-in upgrade. In most cases a multi-call, multi-vendor integration collapses into a single GET /v1/portfolio call that returns wallet tokens, decoded DeFi positions, net worth, and P&L across EVM and Solana.
Get your API key at data.octav.fi, then follow the guide for your current provider below.

Why teams switch to Octav

One call, everything

Wallet tokens and decoded DeFi positions and net worth in a single request. No merging three endpoints, no deduping receipt tokens.

EVM + Solana, same shape

The same endpoint and response shape work for 0x… and base58 addresses across 90+ chains. No separate Solana integration.

Deepest DeFi decoding

Lending, LP, staking, perps, options, vesting and prediction markets are turned into real positions with underlying assets, health rates, and a per-asset price source.

Precomputed USD + P&L

Every asset ships with price, value, cost basis and open/closed P&L. No client-side pricing, no separate price feed.

Pick your provider

From DeBank

Collapse all_token_list + all_complex_protocol_list + total_balance into one call, and add Solana.

From Zerion

Swap JSON:API positions for a flat, USD-priced portfolio, with receipt tokens decoded once (no double-count).

From Zapper

Replace the portfolioV2 GraphQL query with a single REST call.

From Mobula

Merge wallet/portfolio + wallet/defi-positions into one response, with sanity-checked pricing.

From Nansen

Replace the two profiler/portfolio POST endpoints with one call, no receipt-token double-count.

From Sim (Dune)

Keep token balances, add the decoded DeFi positions Sim sunset, plus Solana.

From GoldRush (Covalent)

Replace balances_v2 and add the DeFi decoding GoldRush deprecated.

From TopLedger

Keep Solana DeFi decoding, add loose token holdings, EVM, and mark-to-market perps.

Authentication mapping

Whatever header your current provider uses, Octav uses a standard Bearer token.
cURL
See Authentication for details.

The core idea: one endpoint

Most providers split a portfolio across several calls (tokens, DeFi, net worth) and sometimes several products (EVM vs Solana). Octav returns all of it from one endpoint: GET /v1/portfolio returns an array with one entry per address, so unwrap the first element for a single address (const [portfolio] = await res.json() / res.json()[0]). Each portfolio groups assets by protocol, then chain, then position:
Valid <POSITION> keys include WALLET, LENDING, LIQUIDITYPOOL, STAKED, FARMING, MARGIN, DEPOSIT, REWARDS, YIELD, VAULT, and LOCKED. Each asset carries symbol, name, balance, price, value, decimal, contract, and chainContract — already priced, so you never compute USD values yourself.
Prefer not to touch REST at all? The Octav MCP server and CLI expose the same data to agents and scripts.

Need a hand?

Migrating a live integration? We are happy to map your exact response shape or unblock an edge case.

Join our Discord

Ask the team directly and get migration help.

Developer Portal

Create your API key and manage credits.