Skip to main content
A drop-in mapping from the GoldRush (Covalent) API to Octav. The biggest wins:
  • Every chain in one call. GoldRush balances are fetched per chain (/{chain}/…/balances_v2) or in batches of at most 10 chains (/allchains/…/balances), so full EVM coverage takes several requests. Octav returns every chain from a single GET /v1/portfolio.
  • DeFi positions come back. GoldRush is token balances only; its per-protocol DeFi endpoints are deprecated. Octav decodes lending, staking, liquidity, and farming positions in the same response.
  • Solana in the same shape. Both support Solana tokens. Octav also decodes Solana DeFi and returns it in the identical structure.
  • Values ready to use. GoldRush returns balance as a raw integer string you divide by 10^contract_decimals. Octav returns a human-readable balance and a precomputed value.
Get your API key at data.octav.fi. Base URL: https://api.octav.fi/v1. GoldRush already uses Authorization: Bearer, so only the base URL and response shape change.

Endpoint mapping

Tokens, DeFi positions, and net worth all come from a single GET /v1/portfolio call. There is no per-chain loop and no 10-chain batching to merge.

Authentication

Both APIs use a standard Authorization: Bearer token. Only the base URL and the endpoint shape change: GoldRush scopes each request to a chain slug, while Octav takes the address once and returns everything.

Wallet token balances

GoldRush’s balances_v2 returns data.items[], a flat array of tokens for one chain. In Octav, wallet tokens live under the wallet protocol, grouped by chain, for every chain at once:
Field mapping

Net worth and per-chain breakdown

GoldRush has no single net-worth endpoint. You sum quote across every token and every chain call yourself. Octav returns the total directly on the same portfolio response, plus a per-chain breakdown.
JavaScript

DeFi positions

GoldRush’s per-protocol DeFi endpoints (the stacks/* routes for Aave, Curve, and others) are deprecated and sunset, so there is nothing left to map. This is net-new from Octav: the same portfolio call decodes DeFi positions under assetByProtocols, keyed by protocol, then chain, then position type (LENDING, LIQUIDITYPOOL, STAKED, FARMING, …).
Solana DeFi is decoded too, in the same assetByProtocols structure. You do not switch endpoints or response shapes between EVM and Solana.

Transaction history

Swap transactions_v3 for GET /v1/transactions. GoldRush scopes history to one chain per call; Octav returns it for the address across chains.
Octav categorizes each transaction (swap, deposit, stake, bridge, …) and prices transfers in USD. See the transaction types reference.

Key differences

  • Calls per portfolio. GoldRush: one balances_v2 call per chain, or allchains/balances batched at 10 chains max, plus a separate Solana call. Octav: one GET /v1/portfolio for every chain, EVM and Solana.
  • DeFi. GoldRush is token balances only; its DeFi position endpoints are deprecated. Octav decodes DeFi positions in the same response.
  • Values. GoldRush returns balance as a raw integer string you divide by 10^contract_decimals. Octav returns a human-readable balance and a precomputed value.
  • Net worth. GoldRush has no net-worth endpoint; you sum quote yourself. Octav returns networth and per-chain value directly.
  • Grouping. GoldRush returns a flat data.items[] per chain. Octav groups assetByProtocolschainsprotocolPositionsassets[], with a dedicated wallet bucket for loose tokens.
  • Billing. Octav charges 1 credit per call (see pricing).
  • P&L. Octav adds openPnl, closedPnl, and totalCostBasis at no extra call.

Need help migrating?

Join our Discord

Share your GoldRush response shape and we’ll map it.

Portfolio endpoint

Full reference for the endpoint you’ll be calling.