Portfolio

Swaps on every chain

The wallet's swaps on every chain in scope, merged newest first, one keyset page at a time. Each item is one side of a swap seen from the wallet: buy = it received token, sell = it gave it.

Notes

  • Pass the page's cursor back as cursor for the next page; cursor: null = nothing older. One transaction's rows stay on one page, so a page can hold fewer than limit items.
  • A chain that could not be read for a page is listed in unavailable and keeps its place: the next page asks it again. items: [] with unavailable set is an outage, not an empty history.
  • How far back: Monad, Robinhood Chain and Arc, their raw tape (45 days); Avalanche, Base, BNB Chain, Arbitrum One and Ethereum, their raw tape and then, where Chord's history lake holds older days, up to 5,000 older swaps; Solana, 45 days. EVM swaps under $0.10 are left out.
  • ts is in milliseconds.
  • Pages are not cached: without an API key (or an Ask session) each page counts against the budget it shares with GET /portfolio/{wallet} (10 new reads per IP every 10 minutes, a limited number a minute for every such caller together); past it 429 RATE_LIMITED or 503 BUSY with Retry-After.
get/portfolio/{wallet}/activity

Request

  • Base URL: https://api.getchord.xyz/v1
  • URL: https://api.getchord.xyz/v1/portfolio/{wallet}/activity
  • Auth: none declared

Path parameters

walletstring required

EVM address, hex, case-insensitive.

Query parameters

solstring

Solana address, base58, case-sensitive. Never lower-case it.

The wallet's Solana address. Adds Solana to the default scope.

chainsstring

all = the eight EVM chains, plus Solana when sol is given. Or a comma list of chain ids (143, 4663, 5042, 43114, 8453, 56, 42161, 1) and solana (which needs sol). Answered in registry order, Solana last. This route does not read chain: chain=5042 on its own still answers for every chain, so send chains=5042 for Arc alone.

cursorstring

The cursor of the previous page.

limitinteger

Items per page.

Response

cursorstring nullable required

Opaque. Pass it back for the next page; null = nothing older.

Changes

No recorded changes to this operation across all 2 revisions of this API.