spectra_get_portfolio
Fetch a wallet's Spectra portfolio: PT, YT, LP balances with USD values, claimable yield, rates, and unclaimed rewards. Query one chain or all chains.
Instructions
Get wallet positions on Spectra for a specific address. Returns PT, YT, and LP balances with USD values, claimable yield, and current rates. Queries a single chain or all chains. Use this to understand what a wallet currently holds on Spectra.
Also fetches unclaimed Merkl rewards (SPECTRA gauge emissions and other incentive programs) per position. Merkl rewards are best-effort — if the Merkl API is unavailable, the portfolio still displays without reward data.
Protocol context:
Depositing IBT always mints BOTH PT and YT in equal amounts. If a wallet holds YT but no PT, it sold or LPed its PT. If it holds PT but no YT, it sold its YT.
PT + YT = 1 underlying at maturity. This identity is fundamental to all strategies.
Balance ratios are the key signal. Output shows Position Shape (e.g., "YT/PT 4:1") so you can reason about what the holder's position implies given the mechanics above.
When investigating a strategy, ALWAYS cross-reference portfolio with spectra_get_pool_activity. Activity shows the HOW (transaction patterns), portfolio shows the WHAT (resulting position). Neither alone tells the full story.
Strategies often span multiple wallets. If spectra_get_pool_activity shows concentrated activity from several addresses, check each one to build the full picture.
For activity analysis, use spectra_get_pool_activity with the address parameter — it will automatically cross-reference portfolio data and provide flow accounting, contract detection, gas estimates, and pool impact analysis.
Use spectra_get_address_activity to scan all pools for an address's activity in one call.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | The wallet address (0x...) | |
| chain | No | Specific chain to query. Omit to scan all chains. |