Check Portfolio
Retrieve and display user yield positions, balances, and rewards across multiple networks and protocols. This skill supports both single-yield balance queries and aggregate portfolio views.When to Use
Activate this skill when the user asks to:- Check their staking balance or position (e.g., “What’s my ETH staking balance?”)
- View portfolio across all yields and networks (e.g., “Show my yield portfolio”)
- Check rewards earned (e.g., “How much ATOM rewards do I have?”)
- Monitor unstaking progress (e.g., “Is my DOT unstaking complete?”)
- Track position lifecycle (staked, unstaking, claimable, etc.)
- Scan all positions for a wallet address
Authentication
Base URL
Step-by-Step Instructions
Step 1: Get Aggregate Balances (Multi-Yield Portfolio)
Endpoint:POST /v1/yields/balances
Use this to scan multiple yields or entire networks for a user’s positions.
Request Body (BalancesRequestDto):
yieldId is omitted, all yields for that network are scanned.
Specific yield query:
Step 2: Get Balances for a Specific Yield
Endpoint:POST /v1/yields/{yieldId}/balances
Request Body (YieldBalancesRequestDto):
Step 3: Interpret Balance Types
Step 4: Get User Action History
Endpoint:GET /v1/actions
Query Parameters:
Aggregation Patterns
Full Portfolio View
To build a complete portfolio view:- Determine the user’s addresses per network
- Send a batch query with all addresses:
- Process the response to build a summary:
- Total value across all positions
- Breakdown by network / protocol / yield type
- Pending actions (rewards to claim, unstaking in progress)
Monitoring Unstaking Progress
- Query balances for the specific yield
- Look for
unstakingbalance type - Check the
completionDatefield (if available) for when cooldown ends - When
unstaked> 0 and cooldown is complete, use themanage-positionskill to claim
Rewards Summary
- Aggregate query across all networks
- Filter response for entries with
rewardsbalance type - Present each yield with its claimable reward amount
- Suggest claiming or restaking based on amount
Presenting Portfolio Data
Format portfolio information clearly:Error Handling
Edge Cases
- No positions found: If the response contains no balances, the user has no active positions on the queried networks/yields. The API returns only non-zero balances.
- Partial failures: The aggregate endpoint may return
errorsfor individual yields that failed to fetch. These should be reported but don’t block the rest of the results. - EVM address reuse: The same EVM address works across Ethereum, Arbitrum, Base, Optimism, Polygon, etc. Send one query per network.
- Non-EVM addresses: Each non-EVM network has a different address format. Don’t reuse a Cosmos address for Solana queries.
- Deduplication: The API automatically deduplicates requests with the same yieldId + address + network. Specific yield queries take precedence over chain scans.
- Balance precision: Amounts are returned in base units (smallest denomination). Divide by
10^decimalsfor human-readable format. - Rate limiting with large scans: Chain scans (no yieldId) are more expensive. For many networks, consider batching or using specific yield queries when possible.

