Build / API 1.9
DeFi Portfolio API | Position Reads & Coverage
Plan supported EVM portfolio reads, follow all result pages and preserve unavailable positions. Integrate position data without double-counting financial exposure.
Discover coverage before calculating totals
planPortfolio() accepts one or two EVM wallet addresses and explicitly selected networks. It returns configured reads, coverage and exclusions. It executes no reads and computes no net worth or P&L.
Included plans can cover Morpho positions, supported concentrated liquidity, GMX, Boros and the native Hyperliquid account. Solana accounts, private Options accounts, undiscovered Pendle positions and Hyperliquid subaccounts, vault equity and HIP-3 venues require separate integrations.
const plan = await bitpont.planPortfolio({
wallets: [WALLET_ADDRESS],
networks: ['ethereum', 'base']
});
console.log(plan.coverage, plan.excluded);
for await (const event of bitpont.readPlan(plan, {
maxPagesPerResource: 100, signal: controller.signal
})) {
if (event.type === 'error') {
markUnavailable(event.id, event.error);
} else {
storePositionPage(event.id, event.page, event.response);
}
}
// Application callbacks above must preserve partial data and identity.
// No combined net worth or P&L has been calculated.Consume every declared page
readPlan() follows each planned resource and its pagination, yielding each response as it arrives. An unavailable resource becomes an explicit error event while other reads can continue. Cancellation stops the run. Retain completed results and label coverage incomplete until all required reads have succeeded.
The helper is a bounded read operation, not a snapshot at one common block. Different adapters may observe different blocks or times. It never claims a complete portfolio.
Keep economic exposure separate
A receipt token and its underlying deposit can represent the same capital. Collateral and debt must be separate, and derivatives account equity can include margin already shown elsewhere. Deduplicate using network, wallet, protocol and position identity; never sum every returned amount into one balance.
Make the next action clear
Connect supported position management through Bitpont’s Portfolio. Carry the correct wallet, network and position into an action; refresh balances and permissions before approval. A data read or a deep link does not authorize spending.