# For AI agents Source: https://docs.defiorbit.xyz/agents The DeFi Orbit API contract on one page: auth, retries, credits, pagination, and MCP. Everything an AI agent needs to call the DeFi Orbit API, on one page. For tool-based access, skip the REST API entirely and connect to [DeFi Orbit AI](/recipes/mcp) over MCP. ## The contract * Base URL: `https://api.defiorbit.xyz`. Every route is under `/v1`. * Auth: `Authorization: Bearer do_sk_...` on every request. The key selects the organization; credits and the rate limit are organization-level. * Every success is JSON with `data` and `request_id`. Every failure is `{ "error": { "code", "message", "request_id" } }`. * Only 2xx responses spend credits. Costs run 1–30 credits per call; each endpoint page in the [API Reference](/api-reference/uniswap-v3/summary) states its cost, and [Credits](/credits) has the billing rules. ## Retry rules | Status | Action | | - | - | | `429` | Wait `Retry-After` seconds, then retry. | | `502`, `503`, `504` | Retry with exponential backoff. | | `400`, `401`, `402`, `403`, `404` | Do not retry. Fix the request, the key, or the balance first. | The rate limit is 5 requests per second per organization by default. `X-RateLimit-Limit`, `X-RateLimit-Remaining`, and `X-RateLimit-Reset` (unix seconds) are set on `429`. ## Protect the credit balance Before loops or batch work, read the balance with `GET /v1/usage/credits` (1 credit). List and batch calls multiply a unit cost by result counts — read [Credits](/credits) before writing a loop. Start with `summary` endpoints (1–3 credits) to decide whether a deeper call is worth it. ## Pagination List endpoints return `pagination` with `page`, `limit` (max 25), `total`, and absolute `next_page` / `prev_page` URLs. Follow `next_page` until it is `null`. ## Connect over MCP instead ```json theme={null} { "mcpServers": { "defiorbit": { "url": "https://mcp.orbitcontrol.xyz/mcp", "headers": { "Authorization": "Bearer " } } } } ``` Same key, same credits, same rate limit; 52 read-only tools. The full list is on the [tool reference](/ai/tools). ## Machine-readable docs * OpenAPI spec: [`/openapi.yaml`](https://docs.defiorbit.xyz/openapi.yaml) * Docs index for LLMs: [`/llms.txt`](https://docs.defiorbit.xyz/llms.txt) · full docs in one file: [`/llms-full.txt`](https://docs.defiorbit.xyz/llms-full.txt) * Every page has a raw markdown twin: append `.md` to its URL. # Tool reference Source: https://docs.defiorbit.xyz/ai/tools The 52 read-only tools DeFi Orbit AI exposes, grouped by protocol. Every DeFi Orbit AI tool is read-only and maps one-to-one to a REST route: same parameters, same credit cost, same organization rate limit. The [dashboard MCP page](https://platform.defiorbit.xyz) shows the tools that are turned on for your organization. Credit costs per route are on [Credits](/credits). ## Liquidity tools Uniswap V3 and Aerodrome V3 expose the same ten tools; the table shows the Uniswap V3 names — replace the `uniswapv3-` prefix with `aerodromev3-` for Base. | Tool | REST route | Returns | | - | - | - | | `uniswapv3-summary` | `/v1/positions/uniswapv3/summary` | Active and inactive position counts | | `uniswapv3-list` | `/v1/positions/uniswapv3` | Positions for a wallet | | `uniswapv3-get` | `/v1/positions/uniswapv3/:id` | One position's state | | `uniswapv3-events` | `.../:id/events` | Deposits, withdrawals, collections | | `uniswapv3-snapshots` | `.../:id/snapshots` | One row per UTC day | | `uniswapv3-snapshot` | `.../:id/snapshot` | Current health check | | `uniswapv3-pnl` | `.../:id/pnl` | PnL, impermanent loss, benchmarks | | `uniswapv3-yield` | `.../:id/yield` | APR, fees, rewards | | `uniswapv3-full` | `.../:id/full` | Everything in one payload | | `uniswapv3-batch` | `/v1/positions/uniswapv3/batch` | Many wallets in one call | **Orca (4):** `orca-summary`, `orca-list`, `orca-get`, `orca-batch` — the same shapes on Solana whirlpool and DeFi Tuna positions. ## Lending tools Aave V3, Morpho, and Kamino expose the same eight tools; the table shows the Aave V3 names — replace the `aavev3-` prefix with `morpho-` or `kamino-`. | Tool | REST route | Returns | | - | - | - | | `aavev3-summary` | `/v1/lending/aavev3/summary` | Per-chain `at_risk` check | | `aavev3-list-positions` | `/v1/lending/aavev3/position` | Positions without calculations | | `aavev3-bundle` | `/v1/lending/aavev3` | Positions with health factor, interest, LTV, APY | | `aavev3-events` | `.../:chain_id/events` | Supply, borrow, withdraw, repay, liquidation | | `aavev3-snapshots` | `.../:chain_id/snapshots` | Daily history | | `aavev3-risk` | `.../:chain_id/risk` | Liquidation distance, safe borrow and withdraw | | `aavev3-yield` | `.../:chain_id/yield` | Interest earned vs paid, net APY | | `aavev3-batch` | `/v1/lending/aavev3/batch` | Many wallets in one call | Kamino routes key on the obligation address instead of `chain_id`. Morpho risk and yield require `market_id`, the same as the REST routes. ## Portfolio and usage tools | Tool | Returns | | - | - | | `portfolio-balance` | Wallet USD value | | `portfolio-assets` | Wallet holdings | | `usage-credits` | Remaining credits for the key's organization | | `usage-logs` | Request log for the key's organization | ## Clients DeFi Orbit AI works with Claude, Cursor, VS Code, and any MCP client. Connection config is on [Get started](/recipes/mcp). # Batch Get Aave V3 Positions Source: https://docs.defiorbit.xyz/api-reference/aave-v3/batch /openapi.yaml post /v1/lending/aavev3/batch Same as the list endpoint, but accepts multiple wallets in one POST. Returns an array in the same shape as the list endpoint, one entry per wallet/chain pair. Optional `market_id` and `target_health_factor` in the body. **Credits:** 15 per matching wallet/chain result when fewer than 100 match; 12 per result at 100 or more. Billing uses the matching count before pagination. # List Aave V3 Positions Source: https://docs.defiorbit.xyz/api-reference/aave-v3/bundle /openapi.yaml get /v1/lending/aavev3 Live Aave V3 lending/borrowing positions for a wallet from the lending indexer, one entry per chain, with calculations. Optional `market_id` and `target_health_factor` (default 1.5). **Credits:** 15 per matching wallet/chain result, before pagination. # Get Position Events Source: https://docs.defiorbit.xyz/api-reference/aave-v3/events /openapi.yaml get /v1/lending/aavev3/position/{chain_id}/events Position history: supply, borrow, withdraw, repay, and liquidation for one chain. Optional `market_id` (default main). Each event has type, amount, amountUSD, priceUSD, asset details, and transactionHash. Newest first. **Credits:** 1 per successful call. # Get Aave V3 Position (all chains) Source: https://docs.defiorbit.xyz/api-reference/aave-v3/position /openapi.yaml get /v1/lending/aavev3/position Live Aave V3 positions from the lending indexer, one entry per chain, without calculation fields. Optional `market_id` to filter main / lido / horizon. **Credits:** 3 per matching wallet/chain result, before pagination. # Get Position Risk Source: https://docs.defiorbit.xyz/api-reference/aave-v3/risk /openapi.yaml get /v1/lending/aavev3/position/{chain_id}/risk Liquidation distance, LTV, and per-asset risk breakdown for one chain's live position. Optional `market_id` (default main) and `target_health_factor` (default 1.5) for the safe borrow/withdraw slider. **Credits:** 8 per successful call. # Get Position Historical Performance Source: https://docs.defiorbit.xyz/api-reference/aave-v3/snapshots /openapi.yaml get /v1/lending/aavev3/position/{chain_id}/snapshots Historical performance: daily Aave V3 position snapshots for the history chart. `max_snapshots` is a day count; omit it for the full indexed series. Optional `market_id` (default main). **Credits:** 2 per successful call. # Get Aave V3 Summary Source: https://docs.defiorbit.xyz/api-reference/aave-v3/summary /openapi.yaml get /v1/lending/aavev3/summary Lightweight per-chain "is this wallet at risk anywhere" check from the lending indexer — no position detail, just chain IDs and an `at_risk` flag (health factor below 1.5). Optional `market_id` (main / lido / horizon) to scope one market. **Credits:** 3 per successful call. # Get Position Yield Source: https://docs.defiorbit.xyz/api-reference/aave-v3/yield /openapi.yaml get /v1/lending/aavev3/position/{chain_id}/yield Daily/weekly/monthly/yearly interest earned vs. paid, plus net APY. Optional `market_id` (default main) and `target_health_factor` (default 1.5). **Credits:** 8 per successful call. # Batch Get Aerodrome V3 Positions Source: https://docs.defiorbit.xyz/api-reference/aerodrome-v3/batch /openapi.yaml post /v1/positions/aerodromev3/batch Same as the list endpoint, multiple wallets in one POST. Returns the same shape as ?full=true on the list endpoint — for scanning many addresses at once on Base. **Credits:** 12 per position returned on this page. # Get Aerodrome V3 Position Events Source: https://docs.defiorbit.xyz/api-reference/aerodrome-v3/events /openapi.yaml get /v1/positions/aerodromev3/{id}/events Position history for one Slipstream LP position: deposits (IncreaseLiquidity), withdrawals (DecreaseLiquidity), fee collections, and compounds (Collect). Each event has token amounts, token prices at the transaction (token0PriceUSD, token1PriceUSD), timestamp, and transaction_hash. USD value is amount times that price; it is not a stored field. The first deposit is the mint. An empty compounds list is omitted. **Credits:** 1 per successful call. # Get Full Aerodrome V3 Position Detail Source: https://docs.defiorbit.xyz/api-reference/aerodrome-v3/full /openapi.yaml get /v1/positions/aerodromev3/{id}/full Everything: state, full event history, PnL, impermanent loss, fee and AERO reward accrual, and APR. The heaviest endpoint — prefer snapshot/pnl/yield if you don't need the whole payload. **Credits:** 15 per successful call. These queries have their own credit cost. | Query | Credits | | --- | --- | | `status=inactive` | 7 | # Get Aerodrome V3 Position Source: https://docs.defiorbit.xyz/api-reference/aerodrome-v3/get /openapi.yaml get /v1/positions/aerodromev3/{id} Raw on-chain state for a single Slipstream position: ticks, pool, tokens, liquidity. **Credits:** 2 per successful call. # List Aerodrome V3 Positions Source: https://docs.defiorbit.xyz/api-reference/aerodrome-v3/list /openapi.yaml get /v1/positions/aerodromev3 All active Slipstream CL positions for a wallet on Base (chain_id=8453). Use status=inactive for closed positions. **Credits:** 2 per position returned on this page. These queries have their own credit cost. | Query | Credits per returned position | | --- | --- | | `status=inactive` | 1 | | `full=true` | 15 | # Get Aerodrome V3 Position PnL Source: https://docs.defiorbit.xyz/api-reference/aerodrome-v3/pnl /openapi.yaml get /v1/positions/aerodromev3/{id}/pnl Just the profit/loss numbers, pulled out of the full payload. **Credits:** 8 per successful call. These queries have their own credit cost. | Query | Credits | | --- | --- | | `status=inactive` | 4 | # Get Aerodrome V3 Position Snapshot Source: https://docs.defiorbit.xyz/api-reference/aerodrome-v3/snapshot /openapi.yaml get /v1/positions/aerodromev3/{id}/snapshot A one-shot health check: current value, in/out of range, PnL, and APR. Not the daily history chart — use GET /:id/snapshots for historical performance. **Credits:** 5 per successful call. # Get Aerodrome V3 Historical Performance Source: https://docs.defiorbit.xyz/api-reference/aerodrome-v3/snapshots /openapi.yaml get /v1/positions/aerodromev3/{id}/snapshots Daily history chart for one Slipstream position: mint genesis point, then one row per UTC day. rewards is the cumulative AERO token amount (not USD). This is not the current health check — that is GET /:id/snapshot. **Credits:** 2 per successful call. # Get Aerodrome V3 Summary Source: https://docs.defiorbit.xyz/api-reference/aerodrome-v3/summary /openapi.yaml get /v1/positions/aerodromev3/summary Wallet-level counts only — active vs. inactive Slipstream CL positions on Base. **Credits:** 1 per successful call. # Get Aerodrome V3 Position Yield Source: https://docs.defiorbit.xyz/api-reference/aerodrome-v3/yield /openapi.yaml get /v1/positions/aerodromev3/{id}/yield Fee and AERO reward accrual. projected_yield_apr and estimated_total_yield match the position page. earned_apr_percentage is historical earned APR and stays non-zero out of range. unclaimed_fees is Pending Fees. unclaimed_rewards is Pending Rewards. **Credits:** 8 per successful call. These queries have their own credit cost. | Query | Credits | | --- | --- | | `status=inactive` | 4 | # Batch Get Kamino Positions Source: https://docs.defiorbit.xyz/api-reference/kamino/batch /openapi.yaml post /v1/lending/kamino/batch Same as the bundle endpoint but accepts multiple Solana wallets in one POST (max 5 — Kamino checks 38+ isolated markets per wallet). Returns the same shape per obligation across all wallets. **Credits:** 15 per matching obligation when fewer than 100 match; 12 per obligation at 100 or more. Billing uses the matching count before pagination. # Get Kamino Bundle Source: https://docs.defiorbit.xyz/api-reference/kamino/bundle /openapi.yaml get /v1/lending/kamino All active Kamino obligations with full position data and risk/yield calculations — health factor, LTV, interest rates, APY projections. One entry per active market obligation. **Credits:** 15 per matching obligation, before pagination. # Get Obligation Events Source: https://docs.defiorbit.xyz/api-reference/kamino/events /openapi.yaml get /v1/lending/kamino/position/{obligation_address}/events Raw obligation history from Kamino's analytics: blockTimestamp, market and obligation addresses, and a nested snapshot (collateral, debt, net worth, health factor). Not a transaction list, and not the mapped snapshots body. Requires market_address from the list or bundle endpoint. **Credits:** 1 per successful call. # List Kamino Positions Source: https://docs.defiorbit.xyz/api-reference/kamino/position /openapi.yaml get /v1/lending/kamino/position All active Kamino obligations for a wallet. Market name, market address, and obligation address are on position, with collateral and debt. Same item shape as the bundle, including calculations. Use it to discover obligation addresses before calling risk, yield, or events. **Credits:** 3 per matching obligation, before pagination. # Get Obligation Risk Source: https://docs.defiorbit.xyz/api-reference/kamino/risk /openapi.yaml get /v1/lending/kamino/position/{obligation_address}/risk Health factor, LTV, and safe borrow/withdraw amounts for a single Kamino obligation. Requires market_address. **Credits:** 8 per successful call. # Get Obligation Historical Performance Source: https://docs.defiorbit.xyz/api-reference/kamino/snapshots /openapi.yaml get /v1/lending/kamino/position/{obligation_address}/snapshots Historical performance for one Kamino obligation: collateral, debt, net worth, and health factor over time, mapped from the same Kamino history GET .../events returns raw. Requires market_address. **Credits:** 1 per successful call. # Get Kamino Summary Source: https://docs.defiorbit.xyz/api-reference/kamino/summary /openapi.yaml get /v1/lending/kamino/summary Wallet-level obligation count and at-risk flag (health factor below 1.5). Cheapest Kamino call — use this to poll whether a wallet needs attention before fetching full detail. **Credits:** 1 per successful call. # Get Obligation Yield Source: https://docs.defiorbit.xyz/api-reference/kamino/yield /openapi.yaml get /v1/lending/kamino/position/{obligation_address}/yield Daily/weekly/monthly/yearly interest earned vs. paid, net APY, leverage, and weighted supply/borrow APY for a single Kamino obligation. **Credits:** 8 per successful call. # Batch Get Morpho Positions Source: https://docs.defiorbit.xyz/api-reference/morpho/batch /openapi.yaml post /v1/lending/morpho/batch Same as the list endpoint, but accepts multiple wallets in one POST (max 10). Returns one entry per wallet/chain pair. Optional `market_id` and `target_health_factor` in the body. **Credits:** 15 per matching wallet/chain result when fewer than 100 match; 12 per result at 100 or more. Billing uses the matching count before pagination. # List Morpho Positions Source: https://docs.defiorbit.xyz/api-reference/morpho/bundle /openapi.yaml get /v1/lending/morpho Live Morpho Blue positions for a wallet from the lending indexer, one bundle per chain, with calculations. Each position is an isolated market. Optional `market_id` and `target_health_factor` (default 1.5). **Credits:** 15 per matching wallet/chain result, before pagination. # Get Position Events Source: https://docs.defiorbit.xyz/api-reference/morpho/events /openapi.yaml get /v1/lending/morpho/position/{chain_id}/events Position history: supply, borrow, withdraw, repay, and liquidation for one chain. Each event has type, amount, amountUSD, priceUSD, asset details, and transactionHash. market_id is optional; each event names its market. Newest first. **Credits:** 1 per successful call. # Get Morpho Position (all chains) Source: https://docs.defiorbit.xyz/api-reference/morpho/position /openapi.yaml get /v1/lending/morpho/position Live Morpho Blue positions from the lending indexer, one bundle per chain, without calculation fields. Each entry inside the bundle is an isolated market. Optional `market_id` (0x + 64 hex) to filter one market. **Credits:** 3 per matching wallet/chain result, before pagination. # Get Position Risk Source: https://docs.defiorbit.xyz/api-reference/morpho/risk /openapi.yaml get /v1/lending/morpho/position/{chain_id}/risk Health factor, LTV, and safe borrow/withdraw amounts for one isolated Morpho market. `market_id` (bytes32) is required. Optional `target_health_factor` (default 1.5). **Credits:** 8 per successful call. # Get Position Historical Performance Source: https://docs.defiorbit.xyz/api-reference/morpho/snapshots /openapi.yaml get /v1/lending/morpho/position/{chain_id}/snapshots Historical performance: daily Morpho Blue position snapshots for the history chart. `max_snapshots` is a day count; omit it for the full indexed series. Optional `market_id` to scope one isolated market. **Credits:** 2 per successful call. # Get Morpho Summary Source: https://docs.defiorbit.xyz/api-reference/morpho/summary /openapi.yaml get /v1/lending/morpho/summary Lightweight per-chain "is this wallet at risk anywhere" check from the lending indexer — no position detail, just chain IDs and an `at_risk` flag (health factor below 1.5 on any isolated market). Optional `market_id` (bytes32) to scope one market. **Credits:** 1 per successful call. # Get Position Yield Source: https://docs.defiorbit.xyz/api-reference/morpho/yield /openapi.yaml get /v1/lending/morpho/position/{chain_id}/yield Daily interest earned vs. paid, net APY, and projections for one isolated Morpho market. `market_id` (bytes32) is required. Optional `target_health_factor` (default 1.5). **Credits:** 8 per successful call. # Batch Get Orca Positions Source: https://docs.defiorbit.xyz/api-reference/orca/batch /openapi.yaml post /v1/positions/orca/batch Same as the list endpoint, multiple Solana wallets in one POST. Returns the same shape as `?full=true` on the list endpoint — for scanning many addresses at once. **Credits:** 12 per position returned on this page. # Get Orca Position Source: https://docs.defiorbit.xyz/api-reference/orca/get /openapi.yaml get /v1/positions/orca/{id} Raw on-chain state for a single whirlpool position: ticks, pool, liquidity. Pass `wallet` to attach DeFiTuna lending info when the position is tuna-wrapped. **Credits:** 2 per successful call. # List Orca Positions Source: https://docs.defiorbit.xyz/api-reference/orca/list /openapi.yaml get /v1/positions/orca All active Orca whirlpool (and DeFiTuna-wrapped) LP positions for a Solana wallet. Closed positions are visible with `status=inactive`. **Credits:** 2 per position returned on this page. These queries have their own credit cost. | Query | Credits per returned position | | --- | --- | | `status=inactive` | 1 | | `full=true` | 15 | # Get Orca Summary Source: https://docs.defiorbit.xyz/api-reference/orca/summary /openapi.yaml get /v1/positions/orca/summary Wallet-level counts only — active vs. inactive whirlpool and DeFiTuna LP positions on Solana. **Credits:** 1 per successful call. # Get Portfolio Assets Source: https://docs.defiorbit.xyz/api-reference/portfolio/assets /openapi.yaml get /v1/portfolio/assets Every token the wallet holds, per chain, with live USD pricing — the raw token list behind the balance total. **Credits:** 30 per successful call. # Get Portfolio Balance Source: https://docs.defiorbit.xyz/api-reference/portfolio/balance /openapi.yaml get /v1/portfolio/balance Total USD value of a wallet, broken down by chain. **Credits:** 30 per successful call. # Batch Get Uniswap V3 Positions Source: https://docs.defiorbit.xyz/api-reference/uniswap-v3/batch /openapi.yaml post /v1/positions/uniswapv3/batch Same as the list endpoint, multiple wallets in one POST. Returns the same shape as `?full=true` on the list endpoint, one array per wallet — for scanning many addresses at once. **Credits:** 12 per position returned on this page. # Get Position Events Source: https://docs.defiorbit.xyz/api-reference/uniswap-v3/events /openapi.yaml get /v1/positions/uniswapv3/{id}/events Position history for one LP position: deposits (IncreaseLiquidity), withdrawals (DecreaseLiquidity), fee collections, and compounds (Collect). Each event has token amounts, token prices at the transaction (token0PriceUSD, token1PriceUSD), timestamp, and transaction_hash. USD value is amount times that price; it is not a stored field. The first deposit is the mint. An empty compounds list is omitted. **Credits:** 1 per successful call. # Get Full Position Detail Source: https://docs.defiorbit.xyz/api-reference/uniswap-v3/full /openapi.yaml get /v1/positions/uniswapv3/{id}/full Everything: state, full event history, PnL, impermanent loss, fee accrual, and APR — the "give me all of it" endpoint. The heaviest-weight endpoint in the catalog — reach for `pnl`, `yield`, or `snapshot` if you don't need the whole payload. **Credits:** 15 per successful call. These queries have their own credit cost. | Query | Credits | | --- | --- | | `status=inactive` | 7 | # Get Uniswap V3 Position Source: https://docs.defiorbit.xyz/api-reference/uniswap-v3/get /openapi.yaml get /v1/positions/uniswapv3/{id} Raw on-chain state for a single position: ticks, pool, tokens, liquidity. **Credits:** 2 per successful call. # List Uniswap V3 Positions Source: https://docs.defiorbit.xyz/api-reference/uniswap-v3/list /openapi.yaml get /v1/positions/uniswapv3 All active LP positions for a wallet. A live USDC/HYPE LP on Unichain (chain 130) is a good real example — this wallet also has 12 closed positions across Optimism, Arbitrum, and Ethereum mainnet, visible with `status=inactive`. **Credits:** 2 per position returned on this page. These queries have their own credit cost. | Query | Credits per returned position | | --- | --- | | `status=inactive` | 1 | | `full=true` | 15 | # Get Position PnL Source: https://docs.defiorbit.xyz/api-reference/uniswap-v3/pnl /openapi.yaml get /v1/positions/uniswapv3/{id}/pnl Just the profit/loss numbers, pulled out of the `full` payload. **Credits:** 8 per successful call. These queries have their own credit cost. | Query | Credits | | --- | --- | | `status=inactive` | 4 | # Get Position Snapshot Source: https://docs.defiorbit.xyz/api-reference/uniswap-v3/snapshot /openapi.yaml get /v1/positions/uniswapv3/{id}/snapshot A one-shot health check: current value, in/out of range, PnL, and APR. Not the daily history chart — use GET /:id/snapshots for historical performance. **Credits:** 5 per successful call. # Get Position Historical Performance Source: https://docs.defiorbit.xyz/api-reference/uniswap-v3/snapshots /openapi.yaml get /v1/positions/uniswapv3/{id}/snapshots Daily history chart for one LP position: mint genesis point, then one row per UTC day. rewards is 0 (Uniswap has no reward token). This is not the current health check — that is GET /:id/snapshot. **Credits:** 2 per successful call. # Get Uniswap V3 Summary Source: https://docs.defiorbit.xyz/api-reference/uniswap-v3/summary /openapi.yaml get /v1/positions/uniswapv3/summary Wallet-level counts only — active vs. inactive positions. **Credits:** 1 per successful call. # Get Position Yield Source: https://docs.defiorbit.xyz/api-reference/uniswap-v3/yield /openapi.yaml get /v1/positions/uniswapv3/{id}/yield Fee/reward accrual. projected_yield_apr and estimated_total_yield match the position page. earned_apr_percentage is historical earned APR and stays non-zero out of range. unclaimed_fees is Pending Fees. unclaimed_rewards is Pending Rewards. **Credits:** 8 per successful call. These queries have their own credit cost. | Query | Credits | | --- | --- | | `status=inactive` | 4 | # Get Remaining Credits Source: https://docs.defiorbit.xyz/api-reference/usage/credits /openapi.yaml get /v1/usage/credits Credits left for your organization, split into Grants (manual grants and the recurring-grant bucket) and Purchased Credits (everything else). Balances are after this call's 1-credit charge. **Credits:** 1 per successful call. # List API Request Logs Source: https://docs.defiorbit.xyz/api-reference/usage/logs /openapi.yaml get /v1/usage/logs Paginated request history for your organization. Filter by time range, API key, endpoint, HTTP status, and success/errors. **Credits:** 1 per successful call. # Authentication Source: https://docs.defiorbit.xyz/authentication Authenticate every DeFi Orbit API request with a bearer API key. Every request needs your organization's API key: ``` Authorization: Bearer YOUR_API_KEY ``` A request without that header is rejected. ## Key format Keys are `do_sk_` plus 24 base62 characters (`A–Z`, `a–z`, `0–9`). Example shape: `do_sk_` followed by 24 characters. The total length is 30 characters. Create and revoke keys under [API Keys](https://platform.defiorbit.xyz/dashboard/keys). Creating a key returns the full value. While the key is active, any member of the organization can reveal it again from that page. A revoked key cannot be revealed. The dashboard list shows a prefix (`do_sk_` plus the first 8 random characters) and masks the rest. ## Where the key is checked The key selects the organization. Credits are spent from that organization's balance, and the organization's rate limit applies. See [Credits](/credits) and [Errors and rate limits](/errors). # API Platform Source: https://docs.defiorbit.xyz/changelog Shipped changes to the DeFi Orbit API, docs, and coverage.
API docs
Verified pricing, full tool reference, and a Chains tab
Every credit cost in these docs is now verified against the platform. One correction: lending batch endpoints (Aave V3, Morpho, Kamino) cost **12 credits** per matching result — the previous 15-credit rate listed here was wrong. See [Credits](/credits), which now also documents spend order: grants are used before purchased credits. The [DeFi Orbit AI tool reference](/ai/tools) lists all 52 tools by name, grouped by protocol. A new [Chains tab](/coverage/chains) shows every network and protocol, and where each is available: app, API, or DeFi Orbit AI.
API docs
Error codes, data methodology and credit math
Error responses include `error.code`. [Errors and rate limits](/errors) lists each status and which ones to retry. [Data methodology](/methodology) documents PnL, APR, fees, impermanent loss, health factor, and freshness. [Credits](/credits) and [Pagination](/pagination) show how `limit`, `data.length`, and `pagination.total` set the charge on list, bundle, and batch calls. Aave `market_id` defaults to `main` on events, snapshots, risk, and yield. Summary, the position list, the bundle, and batch include every market on the chain when you omit it.
Coverage
Robinhood Chain is live
Uniswap V3 positions on Robinhood chain (`4663`) are tracked in the app, the API, and DeFi Orbit AI: range, fees, PnL, and impermanent loss. The full chain list is on [Protocols and chains](/protocols). The API Reference is now generated from the OpenAPI specification. Each endpoint page shows the request, the response schema, and the credit cost.
Infrastructure
V2 indexing and calculation stack is live
The rebuilt indexing and calculation stack is live behind every endpoint: 3,000 positions load in under 30 seconds, position-level data is more accurate, and new protocol integrations landed on the same pipeline. Read the announcement on [the blog](https://defiorbit.xyz/blog/v2-infrastructure-live).
Coverage
Morpho lending coverage
Morpho (Morpho Blue) positions on Ethereum and Base: health factor, LTV, supplied and borrowed assets, interest, events, and daily snapshots — the same route family as Aave V3. Start at [Lending positions](/recipes/lending).
# Portfolio App Source: https://docs.defiorbit.xyz/changelog/portfolio Shipped changes to the DeFi Orbit Portfolio app.
Coverage
Robinhood Chain is live
Track every Uniswap V3 position on Robinhood chain in the app: range, fees, PnL, and impermanent loss, next to your other chains. Read the announcement on [the blog](https://defiorbit.xyz/blog/robinhood-chain-is-live).
Features
Date ranges, HyperLiquid vaults and Demo View
Pick any date range to see how your portfolio did, track your HyperLiquid vaults inside DeFi Orbit, and try the app with no sign-up using Demo View. Details on [the blog](https://defiorbit.xyz/blog/date-ranges-hyperliquid-vaults-demo-view).
Features
Real-time lending alerts
DeFi Orbit sends you a Telegram message the moment your Aave or Morpho loan crosses the health factor you set. Snooze it or act on it. Details on [the blog](https://defiorbit.xyz/blog/real-time-liquidation-alerts).
Coverage
Morpho is live
Track your Morpho loans in DeFi Orbit: health factor, LTV, safe borrow, supplied and borrowed assets, interest and history, next to your Aave positions. Details on [the blog](https://defiorbit.xyz/blog/morpho-live).
Features
Your whole portfolio, one page
The Portfolio page shows every wallet, token and protocol position you hold across EVM chains and Solana, next to your LP and lending positions. Details on [the blog](https://defiorbit.xyz/blog/portfolio-page).
Features
Lending & Borrowing Dashboard
Comprehensive lending and borrowing tracking with real-time health factor monitoring, LTV ratio visualization, and liquidation risk alerts. Track your Aave positions across all supported chains with instant risk assessment. **New:** dedicated Lending & Borrowing page, health factor monitoring, LTV speedometer, Aave V2 and V3 across all chains, max borrow and safe-withdraw figures, collateral breakdown. **Improved:** position grouping by protocol, automatic health factor alerts, historical APY tracking, mobile-optimized dashboard. **Fixed:** health factor on multi-collateral positions, borrowed stablecoin aggregation, supply APY display for rebasing tokens like stETH.
Launch
Beta access is live
DeFi Orbit's private beta opened to waitlist members: LP and lending tracking across 10+ chains, real-time PnL, and smart alerts.
# Chains and protocols Source: https://docs.defiorbit.xyz/coverage/chains Every network and protocol DeFi Orbit covers, and where each is available. DeFi Orbit covers two position types — concentrated liquidity and lending — across the networks below. Chain ids and protocol coverage on this page match the canonical `facts.json` in this repository, which the website syncs from. ## Networks | Network | Chain id | Type | Where | | - | - | - | - | | Ethereum | `1` | EVM | App, API, DeFi Orbit AI | | Optimism | `10` | EVM | App, API, DeFi Orbit AI | | BNB Chain | `56` | EVM | App, API, DeFi Orbit AI | | Unichain | `130` | EVM | App, API, DeFi Orbit AI | | Polygon | `137` | EVM | App, API, DeFi Orbit AI | | Robinhood | `4663` | EVM | App, API, DeFi Orbit AI | | Base | `8453` | EVM | App, API, DeFi Orbit AI | | Arbitrum | `42161` | EVM | App, API, DeFi Orbit AI | | Avalanche | `43114` | EVM | App, API, DeFi Orbit AI | | Solana | `101` | SVM | App, API, DeFi Orbit AI | | Bitcoin | — | UTXO | App (wallet balances) | | Sui | — | Move | Coming soon | ## Protocols | Protocol | Type | Chains | Available in | | - | - | - | - | | [Uniswap V3](/api-reference/uniswap-v3/summary) | DEX / CL | Ethereum, Optimism, BNB Chain, Unichain, Polygon, Base, Arbitrum, Avalanche, Robinhood | App, API, DeFi Orbit AI | | [Aerodrome V3 (Slipstream)](/api-reference/aerodrome-v3/summary) | DEX / CL | Base | App, API, DeFi Orbit AI | | [Orca (Whirlpools)](/api-reference/orca/summary) | DEX / CL | Solana | App, API, DeFi Orbit AI | | [Aave V3](/api-reference/aave-v3/summary) | Lending | Ethereum, Optimism, BNB Chain, Polygon, Base, Arbitrum, Avalanche | App, API, DeFi Orbit AI | | [Morpho (Morpho Blue)](/api-reference/morpho/summary) | Lending | Ethereum, Base | App, API, DeFi Orbit AI | | [Kamino](/api-reference/kamino/summary) | Lending | Solana | App, API, DeFi Orbit AI | | DeFi Tuna | Leveraged LP | Solana | App — the API reads Tuna-wrapped Orca positions | | vFat | LP farming | Ethereum, Optimism, BNB Chain, Unichain, Polygon, Base, Arbitrum, Avalanche | App | | Revert | LP management | Ethereum, Arbitrum, Base | App | Route-level support per protocol (events, snapshots, risk, yield) is on [Protocols and chains](/protocols). How the figures are produced is on [Data methodology](/methodology). # Credits Source: https://docs.defiorbit.xyz/credits How fixed and per-result credit costs are charged. Only a 2xx response spends credits. Any other response is stored with `credits_charged` of 0. Single-resource endpoints have a fixed cost per successful call. List, bundle, and batch endpoints multiply a unit cost by either `data.length` or `pagination.total`. [Pagination](/pagination) defines `limit`, `data.length`, and `total`. Read the balance with [Get Remaining Credits](/api-reference/usage/credits). That call itself costs 1 credit, and the balances in the response are after that charge. Grants are manual grants plus the recurring-grant bucket. Purchased credits are everything else. Usage drains one-off grants first, then recurring grants, then purchased credits. Leftover recurring-grant credits do not carry over: they expire at each monthly renewal and are replaced by that month's grant. Query options such as `status=inactive` and `full=true` have their own unit price. That price replaces the default unit price. The endpoint page lists those rows. ## Page length and match count `limit` is the page size: the maximum number of rows in `data`. `data.length` is how many rows this response contains. `pagination.total` is the match count for the whole request. Uniswap V3, Aerodrome V3, and Orca list and batch calls charge `data.length` times the unit price. Aave V3, Morpho, and Kamino list, bundle, and batch calls charge `pagination.total` times the unit price. Every page request pays that amount. For Aave V3 and Morpho the total counts wallet/chain results. For Kamino it counts obligations. A successful call with `pagination.total` of 0 costs 0 credits. A page after the last page still reports the original `pagination.total`, with an empty `data` array. Liquidity list and batch calls then cost 0 credits. Lending list, bundle, and batch calls still charge that total. Events, snapshots, and usage logs use the per-call price in the table. ## Costs | Endpoint | Unit credits | Billing unit | | - | - | - | | Uniswap V3, Aerodrome V3, Orca summary | 1 | Call | | Uniswap V3, Aerodrome V3, Orca list (active) | 2 | `data.length` (positions) | | Uniswap V3, Aerodrome V3, Orca list with `status=inactive` | 1 | `data.length` (positions) | | Uniswap V3, Aerodrome V3, Orca list with `full=true` | 15 | `data.length` (positions) | | Uniswap V3, Aerodrome V3, Orca position | 2 | Call | | Uniswap V3, Aerodrome V3 events | 1 | Call | | Uniswap V3, Aerodrome V3 daily snapshots | 2 | Call | | Uniswap V3, Aerodrome V3 current snapshot | 5 | Call | | Uniswap V3, Aerodrome V3 PnL | 8 (`status=inactive` is 4) | Call | | Uniswap V3, Aerodrome V3 yield | 8 (`status=inactive` is 4) | Call | | Uniswap V3, Aerodrome V3 full position | 15 (`status=inactive` is 7) | Call | | Uniswap V3, Aerodrome V3, Orca batch | 12 | `data.length` (positions) | | Aave V3 summary | 3 | Call | | Aave V3 positions (no calculations) | 3 | `pagination.total` (wallet/chain results) | | Aave V3 bundle | 15 | `pagination.total` (wallet/chain results) | | Aave V3 batch | 12 | `pagination.total` (wallet/chain results) | | Aave V3 events | 1 | Call | | Aave V3 daily snapshots | 2 | Call | | Aave V3 risk or yield | 8 | Call | | Morpho summary | 1 | Call | | Morpho positions (no calculations) | 3 | `pagination.total` (wallet/chain results) | | Morpho bundle | 15 | `pagination.total` (wallet/chain results) | | Morpho batch | 12 | `pagination.total` (wallet/chain results) | | Morpho events | 1 | Call | | Morpho daily snapshots | 2 | Call | | Morpho risk or yield | 8 | Call | | Kamino summary | 1 | Call | | Kamino positions | 3 | `pagination.total` (obligations) | | Kamino bundle | 15 | `pagination.total` (obligations) | | Kamino batch | 12 | `pagination.total` (obligations) | | Kamino events or daily snapshots | 1 | Call | | Kamino risk or yield | 8 | Call | \| Portfolio balance or assets | 30 | Call | | Usage credits or logs | 1 | Call | ## Examples ### One page of ten results An active Uniswap V3 list whose matches all fit on the page: | `limit` | `data.length` | `pagination.total` | Credits | | - | - | - | - | | 10 | 10 | 10 | 20 | The charge is 10 × 2. ### Short last page Page 3 of an active Uniswap V3 list: | `limit` | `data.length` | `pagination.total` | Credits | | - | - | - | - | | 10 | 3 | 23 | 6 | The charge is 3 × 2. ### No matches An active Uniswap V3 list with nothing to return: | `limit` | `data.length` | `pagination.total` | Credits | | - | - | - | - | | 10 | 0 | 0 | 0 | ### Several pages of a liquidity list An inactive Uniswap V3 list (`status=inactive`, 1 credit per position on the page) with `pagination.total` 40 and `limit` 25. One response can hold at most 25 rows. | Page | `data.length` | Credits | | - | - | - | | 1 | 25 | 25 | | 2 | 15 | 15 | The two requests together cost 40 credits. ### Batch of several wallets A Uniswap V3 batch whose body contains 3 wallets. That route allows 20 wallets. The charge uses the positions on the page. | `limit` | `data.length` | `pagination.total` | Credits | | - | - | - | - | | 10 | 5 | 5 | 60 | The charge is 5 × 12. ### Lending charges the full match count An Aave V3 bundle with `pagination.total` 40 and `limit` 10. Each request costs 40 × 15 credits. | Page | `data.length` | Credits | | - | - | - | | 1 | 10 | 600 | | 2 | 10 | 600 | | 3 | 10 | 600 | | 4 | 10 | 600 | The four pages cost 2,400 credits. Page 3 of an Aave V3 bundle with `pagination.total` 23 and `limit` 10 returns 3 rows and costs 345 credits (23 × 15). An Aave V3 batch with `pagination.total` 4 costs 48 credits (4 × 12). Those 4 fit on the default page. Page 2 of an Aave V3 bundle with `pagination.total` 10 and `limit` 10 has `data.length` 0 and costs 150 credits (10 × 15). Page 2 of an active Uniswap V3 list with that same `limit` and `pagination.total` costs 0 credits. ### Other calls * Uniswap V3 summary (1 credit) plus a list of 3 active positions on one page (2 credits each) costs 7 credits. * Portfolio balance and portfolio assets on the same wallet cost 60 credits (30 each). # Dashboard Source: https://docs.defiorbit.xyz/dashboard Manage API keys, credits, usage, and DeFi Orbit AI from the dashboard. The [dashboard](https://platform.defiorbit.xyz) is where your organization manages access to the DeFi Orbit API. ## API keys Create and revoke keys under [API Keys](https://platform.defiorbit.xyz/dashboard/keys). Creating a key returns the full `do_sk_` value — copy and store it securely. While a key is active, any member of the organization can reveal it again from that page; a revoked key cannot be revealed. The list shows each key's prefix and masks the rest. ## Credits API requests spend credits from the organization's balance. Buy credit packs from the dashboard, or read the balance programmatically with [Get Remaining Credits](/api-reference/usage/credits). Grants are used alongside purchased credits; only successful (2xx) responses are charged. Per-endpoint costs are on [Credits](/credits). ## Usage The usage view shows each request: method, path, status code, latency, credits charged, time, and which key made it. The same data is available programmatically from [List API Request Logs](/api-reference/usage/logs), filterable by time range, key, path, and status. ## DeFi Orbit AI The MCP page shows your live server URL and the tools that are turned on for your organization. Setup is on [Get started with DeFi Orbit AI](/recipes/mcp). # Errors and rate limits Source: https://docs.defiorbit.xyz/errors Status codes, error JSON, and which failures to retry. Only a 2xx response spends credits. Any other response is stored in [List API Request Logs](/api-reference/usage/logs) with `credits_charged` of 0. Use the HTTP status, `error.code`, and `error.request_id` when you contact [support@defiorbit.xyz](mailto:support@defiorbit.xyz). ## Error body Every failure uses this JSON: ```json theme={null} { "error": { "code": "INVALID_API_KEY", "message": "Missing API key.", "request_id": "req_..." } } ``` ## Status codes | Status | Code | What to do | | - | - | - | | 400 | `MISSING_PARAMETER`, `INVALID_PARAMETER` | Fix the request. A missing `chain_id` where that route requires one is `MISSING_PARAMETER`. A bad address, page, or limit is `INVALID_PARAMETER`. | | 401 | `INVALID_API_KEY` | Send `Authorization: Bearer` and a key shaped `do_sk_` plus 24 base62 characters. This code also covers a malformed header, an invalid key, and a revoked key. | | 402 | `INSUFFICIENT_CREDITS` | Add credits, then call again. | | 403 | `ACCOUNT_SUSPENDED`, `ENDPOINT_DISABLED`, `FEATURE_DISABLED` | Wait until access is restored. `FEATURE_DISABLED` means snapshots or MCP is turned off. | | 404 | `NOT_FOUND`, `ORGANIZATION_NOT_FOUND` | The position or organization is not there. | | 429 | `RATE_LIMIT_EXCEEDED` | Wait `Retry-After` seconds. The response also sets `X-RateLimit-Limit`, `X-RateLimit-Remaining`, and `X-RateLimit-Reset` (unix seconds). | | 500 | `INTERNAL_ERROR`, `API_ENDPOINT_NOT_CONFIGURED` | Unexpected failures use `INTERNAL_ERROR` and the message `An unexpected error occurred.` | | 502 | `UPSTREAM_ERROR` | A transient upstream failure. Returned by portfolio balance, portfolio assets, the Orca position route, and Kamino routes. Retry after a short wait. | | 503 | `SERVICE_UNAVAILABLE` | Uniswap V3 and Aerodrome V3 full position, when that position's data is not ready yet. Any route can also return this transiently, with `Retry-After: 1`. | | 504 | `GATEWAY_TIMEOUT` | Kamino batch only. Retry with fewer wallets. | Each reference page shows 200, then 400, 401, 402, 403, 429, and 500. 502, 503, and 504 are on the page for the route that returns them. Any other failure is returned as `NOT_FOUND` on 404, `INVALID_REQUEST` on any other 4xx, and `INTERNAL_ERROR` on 5xx. ## Retry Retry `429` after the `Retry-After` value. Retry `502`, `503`, and `504` after a short wait. Leave `400`, `401`, `402`, `403`, and `404` alone until the request or the account changes. ```javascript theme={null} const retryable = new Set([429, 502, 503, 504]); for (let attempt = 0; attempt < 4; attempt++) { const response = await fetch(url, { headers: { Authorization: "Bearer YOUR_API_KEY" }, }); const body = await response.json(); if (response.ok) return body; if (!retryable.has(response.status)) { const { code, request_id } = body.error; throw new Error(`${response.status} ${code} (${request_id})`); } const retryAfter = Number(response.headers.get("Retry-After")); const waitMs = response.status === 429 && Number.isFinite(retryAfter) ? retryAfter * 1000 : 500 * 2 ** attempt + Math.random() * 250; await new Promise((resolve) => setTimeout(resolve, waitMs)); } throw new Error("DeFi Orbit API kept failing"); ``` ## Suspended organizations Suspending an organization suspends its DeFi Orbit API access. Calls then return 403 `ACCOUNT_SUSPENDED`. Restoring the organization restores API access with the same keys and credit balance. While it is suspended, creating a key from the dashboard returns HTTP 403 with `ACCOUNT_SUSPENDED`. Contact [support@defiorbit.xyz](mailto:support@defiorbit.xyz) if you need the organization resumed. ## Rate limit New organizations start at 5 requests per second. The limit applies to the organization, and it can be adjusted. ## Request logs `GET /v1/usage/logs` returns method, path, status code, latency, credits charged, time, and the key id and name. Filter with `range` (`5m`, `1h`, `24h`, `7d`, `30d`), `from` and `to`, `api_key_id`, `path`, `status_code`, and `errors` (`all`, `success`, or `errors`). # Audit Trail Source: https://docs.defiorbit.xyz/guides/audit-trail A dated record of every portfolio you run. DeFi Orbit snapshots your portfolio's net worth every day, then shows the history as a table, a daily PnL chart, and a calendar. A dated record of every portfolio you run. DeFi Orbit snapshots your portfolio's net worth every day, then shows the history as a table, a daily PnL chart, and a calendar. The Audit Trail is part of [Portfolio Enterprise](/guides/enterprise)—open it from the sidebar. ## How Snapshots Are Captured Every day, DeFi Orbit records a snapshot of your total net worth across all your tracked wallets (archived wallets are excluded). Snapshots are taken automatically early each day (UTC), and an extra snapshot is captured whenever you create or update a share link, or a viewer refreshes a shared portfolio—so shared records stay current. Because the record builds one day at a time, the Audit Trail becomes more useful the longer your account runs: you can show what a portfolio was worth on any date since tracking began. ## The Three Widgets ### Daily PnL Variation A bar chart of day-over-day gains and losses for the month—one bar per day, so the shape of a good or bad month is visible at a glance. ### PnL Calendar The same month as a calendar grid (UTC days). Click any day to see the net worth on that day, the previous day's net worth, and the variation between them—useful when a client asks about one specific date. ### Snapshot Overview The full history as a table: | **Column** | **What it shows** | | - | - | | **Date** | The day the snapshot was taken | | **Wallet addresses** | Which wallets were included in that day's total | | **Net worth** | Total portfolio value on that date | | **Variation** | Change from the previous snapshot, in USD and percent | Filter the table by date range, and page through history 10, 25, or 50 rows at a time. ## Why It Matters If you report to clients, investors, or auditors, the Audit Trail is your evidence: a daily, dated series of what the book was worth and how it moved, recorded by the platform rather than assembled by hand at reporting time. Pair it with [share links](/guides/enterprise#share-links) to give each client a view of their own record. # Demo View Source: https://docs.defiorbit.xyz/guides/demo-view Browse DeFi Orbit without an account. The demo view opens a real portfolio with live-looking data so you can explore every screen before signing up. Browse DeFi Orbit without an account. The demo view opens a real portfolio with live-looking data so you can explore every screen before signing up. Just open [app.defiorbit.xyz](https://app.defiorbit.xyz)—no sign-up, no wallet connection required. ## How It Works Visitors are signed in automatically as guests viewing a demo portfolio—a set of wallets with real positions across chains. Everything you see is the same interface paying users get; the only difference is whose wallets you're looking at. The demo data is a snapshot refreshed on a 24-hour cycle, so hitting **Refresh** replays the cached portfolio rather than pulling new chain data. ## What You Can Explore | **Area** | **What you'll see** | | - | - | | [Portfolio Dashboard](/guides/portfolio-dashboard-pools) | Yield, APR, PnL, and range status for the demo's liquidity positions | | [Portfolio page](/guides/portfolio-page) | Whole-wallet holdings, token list, and wallet and chain breakdowns | | DeFi Positions | The full positions table with filters and sorting | | Lending & Borrowing | Health factors and loan detail for the demo's lending positions | | Wallet toggles | Switch the demo's wallets on and off to see how multi-wallet filtering works | | [Swap & Bridge](/guides/swap-and-bridge) | The full drawer works—connect your own wallet and you can transact for real | ## What Requires an Account As a guest you're viewing someone else's portfolio, so anything personal is locked: * **Adding your own wallets** - the demo can't track your addresses; clicking into a position prompts you to sign up and add the wallet * **Position detail pages** - opening an individual position's full record * **Custom chart date ranges** - the portfolio chart stays on its default view * **Investor Profile and Billing** - account settings belong to real accounts ## From Demo to Your Own Portfolio When you're ready, sign up and you get **full access free for 7 days, no card required**—add your wallets and see your real positions with the same screens you just explored. See [Plans & Billing](/guides/plans-and-billing) for how the trial works, and the [Quick Start Guide](/guides/quick-start-guide) to get set up in minutes. # Portfolio Enterprise Source: https://docs.defiorbit.xyz/guides/enterprise Run your clients' DeFi portfolios from one account. Enterprise adds client sub-accounts, shareable portfolio links, and a daily audit trail on top of the full DeFi Orbit app. Run your clients' DeFi portfolios from one account. Enterprise adds client sub-accounts, shareable portfolio links, and a daily audit trail on top of the full DeFi Orbit app. It's built for teams that manage positions for other people—asset managers, funds, market makers, and family offices. ## What Enterprise Adds Enterprise includes everything in the Advanced plan, plus: | **Feature** | **What it does** | | - | - | | **Customers** | A sub-account per client, each with its own wallets and its own share link | | **Share links** | Public read-only portfolio pages your clients, investors, or auditors open without an account | | **"Managed by" attribution** | Shared portfolios carry a Managed-by attribution, so clients see who runs the book | | **[Audit Trail](/guides/audit-trail)** | Daily snapshots of portfolio net worth, with a PnL calendar and day-by-day variation | | **Position metrics on the Portfolio page** | Extra cards—estimated yield, pending fees, yield APR, P\&L, impermanent loss, and total positions value—right on the [Portfolio page](/guides/portfolio-page) | ## Customers: One Sub-Account per Client The **Customers** section keeps each client's book separate while you see everything from one account: 1. Click **Add New Customer** and give them a name (an email is optional) 2. On the customer's page, attach wallets—add ones you already track or create new ones 3. Generate their share link Each customer page shows the client's wallets and a running portfolio total. You can rename the customer, add or remove wallets, and copy their portfolio link at any time. ## Share Links There are two kinds of share link, and viewers never need a DeFi Orbit account for either. ### Customer portfolio links From a customer's page, select which of their wallets to include and generate **one link with the full portfolio overview**: total value, chart, token holdings, wallet breakdown, and chain exposure. Choose whether wallet addresses are shown, and switch the link on or off whenever you need to. ### Single-wallet links For a partner, investor, or auditor who should see one wallet and nothing else, share any tracked wallet from the [Wallets Manager](/guides/wallets-manager): | **Option** | **Choices** | | - | - | | **Show wallet address** | On or off (off by default) | | **Expire after** | 7 days, 30 days, 90 days, 1 year, or never (30 days by default) | You stay in control: remove a link to revoke it instantly, and archiving a wallet disables its link. Anyone opening an expired or disabled link sees "Sorry, this link has expired." ### What viewers see Shared pages show a dated snapshot of the portfolio—summary, value chart, token holdings, wallet breakdown, chain exposure, and allocation—labelled with the snapshot date, so the record a client opens is a fixed point in time rather than a moving target. ## The Audit Trail DeFi Orbit takes a snapshot of each portfolio every day, so you can show what a book was worth on any date and how it changed—as a table, a daily PnL chart, and a calendar. See [Audit Trail](/guides/audit-trail) for the full walkthrough. ## Pricing and Contract Enterprise pricing is custom and depends on the wallets and clients you manage: * **Annual contract, invoiced** — scoped first, so you know the full cost before you commit * **One-time onboarding fee** when custom reporting is involved * **Dedicated account manager and support channel**, with an SLA guarantee * **Multi-user team access** with unlimited seats and unlimited client sub-accounts Onboarding is fast because there's no data to migrate: add wallet addresses and the sub-accounts are live. [Book a demo](https://defiorbit.xyz/book-a-demo) or see the [pricing page](https://defiorbit.xyz/pricing) to get started. # Founding & Charter Members Source: https://docs.defiorbit.xyz/guides/founding-charter-members DeFi Orbit recognizes and honors our earliest believers—the users who had faith in our vision before the masses arrived. These special membership tiers celebrate the people who supported us from the beginning. DeFi Orbit recognizes and honors our earliest believers—the users who had faith in our vision before the masses arrived. These special membership tiers celebrate the people who supported us from the beginning. ## Overview We've created two exclusive membership tiers for our first 100 paid customers: | **Status** | **Description** | | - | - | | **Founding Members** | The ultimate early believers who pre-paid annually | | **Charter Members** | Early supporters who joined on monthly subscriptions | Both tiers come with exclusive benefits, special recognition, and privileges that honor your early commitment to DeFi Orbit. ## Founding Members ![](https://framerusercontent.com/images/E1YQ3S8yUm7HuRfpce0a4gFVm0.png) ### Who Qualifies You're a Founding Member if you meet ALL of these requirements: 1. **Pre-paid annually** before general availability 2. One of the **first 100 annually-paid customers** 3. Chose an **annual pre-paid plan** Founding Members showed the ultimate commitment by investing in DeFi Orbit's annual plan before we were fully proven in the market. ### Founding Member Benefits (Forever) Once you're a Founding Member, these benefits are yours for life: #### Recognition & Status **Golden Badge** ✅ Golden checkmark badge visible throughout the platform ✅ Exclusive DeFi Strategies ✅ Subtle gold accent glow behind your avatar ✅ Unique profile badge distinguishing you from other users ✅ "Founding Member" status displayed in Account Settings ✅ Recognition in future community interactions #### Price Lock Guarantee **Forever Locked Pricing** ✅ Your plan pricing is locked at the rate you paid—forever ✅ Lock transfers automatically to each new annual period ✅ Never pay more than your original Founding Member rate ✅ Keep your price lock until you voluntarily cancel #### Exclusive Access **Premium Perks** ✅ Private Founding Members Discord channel ✅ Feature voting with **2x weight** on our roadmap ✅ **Up to two weeks early access** to all new features ✅ First in line for new swag and merchandise when available #### Public Recognition **Hall of Fame** (Opt-In) ✅ Listed on our public "Founding Members" page ✅ Annual anniversary email acknowledging your support ✅ Recognized as a core part of DeFi Orbit's origin story *** ## Charter Members ![](https://framerusercontent.com/images/KNBUKUC1p2IQ1mZTmbylBl5EfQ.png) ### Who Qualifies You're a Charter Member if you meet ALL of these requirements: 1. One of the **first 100 paid customers** 2. Started on a **monthly subscription** 3. **Maintain an active subscription** to keep benefits Charter Members joined early and believed in us, choosing to support us monthly as we grew. ### Charter Member Benefits (While Subscribed) These benefits remain active as long as you maintain your subscription: #### Recognition & Status **Silver Badge** ✅ Silver checkmark badge throughout the platform ✅ Special visual treatment (one tier below Founding Members) ✅ "Charter Member" status displayed in Account Settings ✅ Recognition as an early believer #### Conditional Price Lock **Locked Pricing While Active** ✅ Your pricing is locked at your original signup rate ✅ Lock remains active as long as your subscription continues ✅ **Important:** If you cancel and return later, you'll pay current market rates ✅ Incentive to maintain your subscription and keep your locked pricing #### Early Access **Priority Features** ✅ **1-week early access** to new features (versus 2 weeks for Founding Members) ✅ Feature voting with **1.5x weight** on our roadmap ✅ Priority consideration for beta testing opportunities ## Comparing the Tiers | **Benefit** | **Founding Members** | **Charter Members** | | - | - | - | | **Badge Color** | Gold | Silver | | **Visual Treatment** | Gold glow accent (Behind Avatar) | Silver Badge | | **Price Lock** | Forever (until cancellation) | While subscribed | | **Early Access to Features** | Up to 2 weeks | 1 week | | **Feature Voting Weight** | 2x | 1.5x | | **Special Discord Role & Channel** | Yes | No | | **Listed on Founding / Charter Page** | Yes (opt-in) | Yes (opt-in) | | **First Access to Swag** | Yes | No | ## Why We Created These Tiers **Honoring Early Believers** The first 100 customers took a chance on DeFi Orbit before we were proven. You believed in our vision, gave us feedback that shaped the product, and supported us financially when it mattered most. **Building Community** Founding and Charter Members aren't just customers—you're part of DeFi Orbit's foundation. These tiers recognize that contribution and give you a voice in how we evolve. **Price Protection** We want to reward your early commitment. As DeFi Orbit grows and adds features, prices may increase for new users. Your locked pricing ensures you'll never pay more than your original rate. *** ## Frequently Asked Questions **What happens if I cancel my Charter Membership?** You'll lose your Charter Member status and price lock. If you return later, you'll pay current market rates and won't regain Charter Member benefits. **Do Founding Members keep their status if they cancel?** Your Founding Member status and benefits are tied to maintaining an active subscription. If you cancel and return, you may lose certain benefits depending on how long you were away. We evaluate these on a case-by-case basis. **Can I opt out of being listed on the Founding Members page?** Yes, absolutely. Being listed is opt-in only. You can choose not to be publicly recognized and still keep all other Founding Member benefits. **How do I know if I'm a Founding or Charter Member?** Check above your username. You can also check settings, membership tier will be displayed in the "Status" section if you qualify. **Will there be future opportunities to become a Founding or Charter Member?** No. These tiers are exclusively for the first 100 paid customers who joined before general availability. This exclusivity is what makes these memberships special. # Key Features Source: https://docs.defiorbit.xyz/guides/key-features DeFi Orbit gives you everything you need to track, analyze, and optimize your liquidity positions across multiple chains. Here's what makes our platform different. DeFi Orbit gives you everything you need to track, analyze, and optimize your liquidity positions across multiple chains. Here's what makes our platform different. ## Portfolio Dashboard ![](https://framerusercontent.com/images/WBJgZxTS083S6Vmo4zH0CJYQZc.png?width=2364\&height=1450) **What You'll See:** * **Total Position Value** - Aggregate value across all positions and chains * **Est. Daily/Weekly/Monthly Yield** - Projected earnings from all active positions * **Pending Yield** - Uncollected fees and rewards ready to be claimed * **Yield APR** - Time-weighted average annualized yield across your portfolio * **Net Invested** - Your current capital deployed * **Total P\&L** - Profit and loss, split into yield contribution and market (price) contribution **Why It Matters:** No more jumping between different protocols and chains. Get a complete picture of your DeFi investments in seconds, not hours. *To learn more about our Dashboard,* [*please click here.*](/guides/portfolio-dashboard-pools) *** ### Liquidity Position Tracking Track every concentrated liquidity position with precision. Know exactly how each pool is performing and when action is needed. **Track These Metrics:** * **Current Range Status** - See if your position is in-range or out-of-range * **Fee Earnings** - Tracking of claimed and uncollected fees and rewards * **Current APR** - Live yield calculations based on actual performance * **Token Composition** - See your exact token amounts and current values * **Position Age** - How long you've been in each position * **Historical Data** - Price/rate history and full transaction history per position **Why It Matters:** Concentrated liquidity requires active management. Know when your positions go out of range, when fees are accumulating, and when it's time to rebalance. *** ## Lending & Borrowing Monitoring Track your lending and borrowing positions on **Aave V3**, **Morpho**, and **Kamino**. Never miss a liquidation warning or optimization opportunity. **Monitor These Metrics:** * **Health Factor** - Real-time liquidation risk assessment * **LTV Ratio** - Current loan-to-value across all positions * **Borrow APY** - What you're paying to borrow * **Supply APY** - What you're earning from lending * **Collateral Value** - Total value securing your loans * **Safe Borrow Available** - How much more you can safely borrow **Why It Matters:** Stay ahead of liquidation risks. Optimize your borrowing costs and lending returns with clear visibility into your positions. *To learn more about Lending & Borrowing,* [*please click here.*](/guides/lending-borrowing-cards-dashboard) *** ## Real-Time Alerts Set health factor alerts per wallet and get notified before liquidation risk becomes a problem. * **Custom thresholds** - Alert when a wallet's health factor drops below (or rises above) your chosen level * **Delivery channels** - Telegram, Email, or Discord, plus the in-app notification bell * **Snooze control** - Pause alerts temporarily when you're actively managing a position **Why It Matters:** You can't watch your dashboard 24/7. Alerts watch your lending positions for you. *** ## Whole-Wallet Portfolio View The Portfolio page shows everything your connected wallets hold—not just your LP and lending positions. * **Token holdings** - All tokens across wallets with live prices and 24h change * **DeFi app holdings** - Positions in other apps (trading, vaults, staking, farming—including protocols like Hyperliquid) * **Allocation breakdown** - How your capital splits across tokens, apps, chains, and wallets * **Portfolio chart** - Value over time, with custom date ranges on the Advanced plan **Why It Matters:** LP positions are only part of the picture. See your full on-chain net worth in one place. *** ## Multi-Chain Support Manage positions across multiple blockchains without switching between different tools. **Supported Networks:** * **Solana** * Ethereum Mainnet * Base * Arbitrum * Optimism * Polygon * BNB Chain * Avalanche * Unichain * Robinhood **Cross-Chain Features:** * Unified portfolio view across all chains * Aggregate performance metrics * Chain-specific position details * Multi-chain fee tracking * Consolidated P\&L calculations **Why It Matters:** DeFi is multi-chain. Your portfolio tracker should be too. See everything in one place, make better decisions faster. *** ## Swap & Bridge Swap tokens and bridge across chains without leaving DeFi Orbit, powered by **LI.FI**. Open it from the sidebar, connect your wallet, and move capital between Ethereum, Solana, and more—right where you're already managing your positions. *** ## Performance Analytics Understand your true returns with accurate calculations that account for fees, impermanent loss, and capital changes. **Key Analytics:** * **Profit & Loss (P\&L)** - Realized and unrealized gains/losses * **Yield vs. Market split** - See how much of your P\&L comes from fees and rewards vs. token price movement * **Fee Income Analysis** - Total fees earned, breakdown by position and token * **Historical Performance** - Track returns over time * **Position ROI** - Returns on each individual position * **TWAC-based APR** - Time-Weighted Average Capital calculations, so adding or removing liquidity mid-way doesn't skew your yield numbers **Why It Matters:** Know if you're actually making money. Many LPs think they're profitable until they properly account for impermanent loss. We show you the complete picture. *** ## Real-Time Data Updates Get accurate, up-to-date information with on-demand refreshes. Your dashboard updates when you click "Refresh" to show the latest blockchain data. **What Updates:** * Token prices * Position values * Fee accruals * APR rates * Health factors (lending) * Range status Manual refreshes are subject to a daily limit that depends on your plan (unlimited on higher tiers); the counter resets every day. **Why It Matters:** DeFi moves fast. Stale data leads to bad decisions. With DeFi Orbit, you control when to sync the latest information and always work with current data. *** ## Smart Filtering & Organization Find what you need fast. Filter and sort your positions to focus on what matters most. **Filter Options:** * By range (In Range, Out of Range) * By status (Active, Inactive) * By chain (Ethereum, Base, Arbitrum, Solana, etc.) * By protocol (Uniswap V3, Orca, Aerodrome, etc.) * By wallet (when tracking multiple addresses) **Sort Options:** * By value (highest to lowest) * By APR (best to worst yields) * By pending yield or claimed yield * By P\&L or invested amount * By age, range width, pool fee, pair, chain, or impermanent loss **Why It Matters:** As your portfolio grows, organization becomes critical. Find the positions that need attention and filter out the noise. *** ## Demo View Want to see all of this in action first? Open [app.defiorbit.xyz](https://app.defiorbit.xyz/) without signing up—the app loads a fully populated demo portfolio you can click through before connecting your own wallets. # Lending & Borrowing Cards (Dashboard) Source: https://docs.defiorbit.xyz/guides/lending-borrowing-cards-dashboard Monitor your lending and borrowing positions across protocols with real-time health factor tracking and risk assessment. Monitor your lending and borrowing positions across protocols with real-time health factor tracking and risk assessment. ![](https://framerusercontent.com/images/yUZVXmVG0G7EHmmQBUkWH7FD31Y.png?width=2364\&height=1450) DeFi Orbit tracks lending and borrowing positions on **Aave V3** (Ethereum, Base, Arbitrum, Optimism, Polygon, BNB Chain, Avalanche), **Morpho** (Ethereum, Base), and **Kamino** (Solana). From your Portfolio Dashboard: 1. Click the **Lending & Borrowing** tab above your positions 2. Your view switches from liquidity pools to lending positions 3. You can also open the dedicated **Lending & Borrowing** page from the sidebar ## Position Card Overview Each lending/borrowing position card displays key information about your position on a specific protocol and blockchain. ### Position Header **Protocol & Market** * Protocol logo (e.g., Aave) * Protocol name with external link icon * Market/blockchain indicator (e.g., Ethereum) **Quick Actions** * **Expand Details** - Opens detailed position view * **Open in \[Protocol]** - Direct link to manage the position on the protocol ### Key Metrics At a Glance | **Value / Metric** | **Description** | | - | - | | **Protocol** | Protocol where your collateral is supplied. | | **Market** | Your protocol's market | | **Health Factor** | Your liquidation risk indicator | | **Net Worth** | Total value of supplied assets minus debt | | **Wallet** | Which connected wallet holds this position | ### Top Row Summary Metrics | Metric | **Description** | | - | - | | **Total Collateral** | Total USD value of all assets you've supplied | | **Total Debt** | Total USD value of all assets you've borrowed | | **Current LTV** | Your current loan-to-value ratio with visual indicator | | **Safe Borrow Available** | How much more you can safely borrow | | **Daily Net Interest** | Your net interest paid or earned per day | ## Understanding Current LTV **The LTV Indicator** Visual bar showing your current loan-to-value ratio with three zones: **Green Zone (Safe)** * Your debt is well below maximum limits * Low liquidation risk * Room to borrow more if needed **Yellow/Orange Marker** * Shows your current LTV position * The closer to red, the riskier your position **Red Zone (Danger)** * Approaching liquidation threshold * High risk of liquidation if prices move against you **LTV Tooltip Information:** **Maximum LTV** (e.g., 77.89%) * The highest LTV ratio your debt can reach as a percentage of your total collateral * This is NOT your liquidation point * Warning threshold before liquidation **Liquidation LTV** (e.g., 80.54%) * The debt-to-collateral ratio at which your position CAN be liquidated * If your LTV reaches this level, liquidators can close your position * Always maintain LTV well below this threshold ## Supplied Assets (Collateral) Table View all assets you've supplied to the lending protocol: | **Column** | **Description** | | - | - | | **Supplied** | Which token you've deposited as collateral | | **Balance** | Token amount + USD value you've supplied | | **Supply APY** | Annual percentage yield you're earning on this asset | | **Max LTV** | Loan-to-value ratio for this specific asset (how much you can borrow against it) | **Why Supply APY Varies:** Different assets have different supply rates based on: * Protocol utilization * Asset risk profile * Market demand for borrowing that asset **Understanding Individual Asset LTV:** * Higher LTV (e.g., 80%) = Can borrow more against this asset (usually stablecoins or blue chips) * Lower LTV (e.g., 65%) = Can borrow less (riskier or more volatile assets) ## Borrowed Assets (Debt) Table View all assets you've borrowed from the protocol: | **Column** | **Description** | | - | - | | **Borrowed** | Which token you've borrowed | | **Balance** | Token amount + USD value of your debt | | **Borrow APY** | Annual interest rate you're paying on this loan | | **Liquidation Price** | USD price per token at which your Health Factor would reach 1.0 | **Why Borrow APY Varies:** Borrow rates change based on: * Protocol utilization (more borrowing = higher rates) * Asset volatility * Market demand **Understanding Liquidation Price:** * If the borrowed asset's price reaches this level, you're at risk of liquidation * Monitor this closely for volatile assets * Multiple borrowed assets = multiple liquidation prices to track ## Health Factor Alerts You don't have to watch your health factor manually. From **Notification Settings**, you can enable alerts per wallet: * **Custom threshold** - Get alerted when a wallet's health factor drops below (or rises above) a level you choose (default 1.5) * **Delivery channels** - Telegram, Email, or Discord webhook, plus the in-app notification bell * **Snooze** - Temporarily pause alerts while you're actively managing a position Set up your channels once, and DeFi Orbit will warn you before liquidation risk becomes critical. # Notifications & Alerts Source: https://docs.defiorbit.xyz/guides/notifications-alerts Get alerted before a lending position approaches liquidation. Set a health factor threshold per wallet and receive alerts by Telegram, Email, or Discord. Get alerted before a lending position approaches liquidation. Set a health factor threshold per wallet and receive alerts by Telegram, Email, or Discord. Open **Settings → Notifications** from the sidebar to configure them. > **Note:** Notifications are rolling out gradually. If you don't see the Notifications item in your sidebar yet, it hasn't been enabled for your account. ## Delivery Channels Delivery channels are set once and apply to all your wallets. You need at least one channel configured to receive alerts—until then, the page shows a warning that no delivery channels are set up. ### Telegram 1. Click **Connect Telegram** 2. Open the DeFi Orbit bot (**@DeFiOrbitNotification\_bot**) using the link shown 3. Send the bot the **12-character verification code** from the settings page—the code expires in 10 minutes and works once The bot replies "Telegram connected!" once it's done. You can disconnect any time from the same settings page. ### Email Toggle **Email** on and enter the address where you want alerts. Email alerts come from [alerts@defiorbit.xyz](mailto:alerts@defiorbit.xyz). ### Discord Toggle **Discord** on and paste a webhook URL for the channel where you want alerts. The URL must start with `https://discord.com/api/webhooks/`—the settings page links to Discord's guide on creating one. ## Health Factor Alerts Each wallet has its own alert toggle, off by default. Turn it on and set the rule: **Alert when Health Factor is below (or above) your threshold.** | **Setting** | **Value** | | - | - | | Default threshold | 1.5 | | Default direction | Below | | Allowed range | 0.01 – 100 | | Saving | Automatic as you type | **Coverage** - Health factor alerts monitor your Aave V3 positions (Ethereum, Polygon, BNB Chain, Arbitrum, Optimism, Base, Avalanche) and Morpho positions (Ethereum, Base). Positions with no debt never trigger an alert. **What the alert contains** - The wallet name and address, the protocol and chain, the current health factor, and your threshold. If several wallets trip at once, they're combined into one message per channel. ## Alert Frequency Health factors are checked every 30 minutes. To keep channels from flooding, each channel waits out a cooldown after sending: | **Channel** | **Cooldown between alerts** | | - | - | | Telegram | 30 minutes | | Discord | 30 minutes | | Email | 6 hours | ## Snoozing Alerts Every Telegram alert comes with **Snooze 1h**, **Snooze 4h**, and **Snooze 24h** buttons. Snoozing pauses alerts on all channels and all wallets for that period. While snoozed, the Notifications settings page shows an "Alerts snoozed" banner with the time remaining and a **Cancel** button to resume alerts immediately. ## In-App Alerts Separately from the channels above, the notification bell in the app raises alerts on its own—no setup needed: **At risk** - Raised when a lending position's health factor drops below 1.25, with severity increasing as it falls further. The alert clears automatically once the health factor recovers above 1.35. **Out of range** - Raised when a Uniswap V3 or Aerodrome liquidity position leaves its price range and stops earning fees. The alert clears when the position is back in range or closed. Each position gets one open alert at a time, re-flagged only if the situation gets worse—so the bell stays readable. For more on health factors and liquidation risk, see the [Lending & Borrowing Dashboard](/guides/lending-borrowing-cards-dashboard). # Plans & Billing Source: https://docs.defiorbit.xyz/guides/plans-and-billing Every new account starts with a 7-day free trial of the Advanced plan, no card required. Here's what each plan controls and how billing works. Every new account starts with a 7-day free trial of the Advanced plan, no card required. Here's what each plan controls and how billing works. Current prices are on the [pricing page](https://defiorbit.xyz/pricing), and you manage your subscription from **Billing** in the app. ## The Free Trial Sign up and the trial activates on its own: * **7 days of the Advanced plan** with full access—add your wallets and see your real positions before you pay * **No card required** to start * **Upgrade any time during the trial**—subscribing ends the trial immediately and starts your paid plan * **If the trial ends without a subscription**, your account drops to a limited free mode (see below) and your data stays put until you subscribe ## The Plans DeFi Orbit offers three tiers: **Pro**, **Advanced**, and **Enterprise**. Each plan sets the limits below—the exact numbers for each tier are shown on the [pricing page](https://defiorbit.xyz/pricing) and on the plan picker in the app. | **Limit** | **What it controls** | | - | - | | **Wallets** | How many wallets you can track. Wallets over your limit simply aren't tracked. | | **Active positions** | How many open positions are tracked per protocol | | **Manual refreshes** | How many times per day you can refresh on demand. The counter resets at midnight UTC; higher tiers are unlimited. Your portfolio also refreshes automatically once a day, which doesn't count against the limit. | | **Position history** | Whether closed (inactive) positions are tracked alongside active ones | | **Protocol access** | Which protocols are indexed for your account | | **Leveraged LP data** | Whether leverage, margin, and liquidation detail is shown for leveraged LP positions | | **Historical snapshots** | Whether daily portfolio snapshots are kept for your account | **The Advanced chart** - The headline Advanced feature is portfolio history: Advanced accounts get daily portfolio snapshots and a custom date-range picker on the [portfolio value chart](/guides/portfolio-page#portfolio-value-chart). Other plans see a rolling 7-day chart. **Enterprise** - Built for teams and asset managers, with client sub-accounts, share links, and an audit trail. Pricing is custom—see [Portfolio Enterprise](/guides/enterprise). ## Free Mode After the Trial If your trial or subscription lapses, your account keeps working in a limited free mode: | **Limit** | **Free mode** | | - | - | | Wallets | 3 | | Active positions | 5 per protocol | | Manual refreshes | None (automatic daily refresh only) | | Position history | Active positions only | | Protocols | Uniswap V3 and Orca | | Historical snapshots | Not kept | ## How Billing Works **Monthly or yearly** - Both plans bill monthly or yearly. Yearly billing gets you **12 months for the price of 10**—two months free. **Payments** - Subscriptions are handled by Stripe. Promo codes are accepted at checkout. **Upgrades** - Take effect immediately. You're charged a prorated amount for the remainder of the current period. **Downgrades** - Scheduled for the end of your current billing period—nothing is charged now, you keep your current plan until then, and you can cancel the scheduled change any time before it lands. **Cancelling** - You can cancel any time; access runs to the end of the paid period. Note that cancelling also turns off any [health factor alerts](/guides/notifications-alerts) you've configured. # Portfolio Dashboard (Pools) Source: https://docs.defiorbit.xyz/guides/portfolio-dashboard-pools Your Portfolio Dashboard is the command center for monitoring all your DeFi positions. It provides a real-time overview of your liquidity pools, lending positions, and overall portfolio performance across all supported chains. Your Portfolio Dashboard is the command center for monitoring all your DeFi positions. It provides a real-time overview of your liquidity pools, lending positions, and overall portfolio performance across all supported chains. ![](https://framerusercontent.com/images/RKSUQGNKhNkQcrB02lp2nNwZKtU.png?width=2364\&height=1450) > **Note:** This page covers the Pools view. For lending and borrowing positions, see [Lending & Borrowing Dashboard](/guides/lending-borrowing-cards-dashboard). For whole-wallet holdings beyond your DeFi positions, see the Portfolio page in the sidebar. ## Dashboard Overview The dashboard shows live data for critical metrics like prices, range status, and yields. Use the **Refresh** button to pull the latest blockchain data on demand—manual refreshes are subject to a daily limit depending on your plan (unlimited on higher tiers), and the counter resets daily. The dashboard offers two metric layouts—**Basic** and **Advanced**—that you can toggle between depending on how much detail you want at a glance. ## Market Context Bar | **Indicator** | **Definition** | | - | - | | **Market Cap** | Total cryptocurrency market capitalization with 24-hour percentage change | | **DeFi TVL** | Total Value Locked across all DeFi protocols with 24-hour percentage change | These metrics help you understand the broader market context for your investments. ## Key Performance Metrics The main dashboard displays your most important portfolio metrics in easy-to-read cards: | **Metric** | **Definition** | **How it's calculated** | | - | - | - | | **Est. Daily/Weekly/Monthly Yield** | Your projected earnings based on current performance. Toggle between Daily (D), Weekly (W), or Monthly (M) views to see different timeframes. | Projected yield earnings (fees + rewards) based on your approximate APR from active positions. | | **Pending Yield** | Total uncollected yield available to claim across all your positions, broken down into pending fees and pending rewards. | Accumulated fees and rewards sitting in your positions that you haven't claimed yet. These are already yours—you just need to execute a transaction to collect them. | | **Yield APR** | Your estimated annualized yield (fees + rewards) across all active positions. | Computed using **Time-Weighted Average Capital (TWAC)**, so adding/removing liquidity mid-way doesn't skew the result. Out-of-range positions contribute 0% since they aren't earning fees. APR calculations get more accurate as time passes. | | **Net Invested** | The capital you currently have deployed into DeFi positions. | Your deposits across all liquidity pools minus principal you've withdrawn, measured in USD. | | **Total Position Value** | The current USD value of all your liquidity positions combined. | Current token values + uncollected yield. This is the total value you could withdraw if you closed all positions right now. | | **Positions in Range** | Shows how much of your liquidity is currently in-range and actively earning versus out-of-range. | In-range (capital at work) vs. out-of-range capital, shown as counts and percentages. | | **Total P\&L** | Your total realized and unrealized gains/losses across all positions, split into **Yield contribution** (fees + rewards) and **Market contribution** (token price movement). | PnL = Total Positions Value + All Claimed Yields − Net Invested. Green indicates profit, red indicates loss. | | **Total Claimed** | The total amount of yield you've collected from all positions over time. | Sum of all yield collection transactions you've executed. This is your actual realized income from providing liquidity and does not include uncollected pending yield. | ## Yield Income Tracker If you set an annual yield income target, you'll see a progress tracker showing: | **Indicator** | **Description** | | - | - | | **Projected Annual Yield** | Your projected annual income based on the TWAC-estimated yearly yield of your active positions | | **Your Target** | The annual income goal you set (e.g., "\$10,000 /year") | | **Progress Bar** | Visual indicator showing how close you are to reaching your goal. | **Important:** Only in-range positions that are actively earning fees count toward your projection. Out-of-range positions are excluded from this calculation since they're not generating yield. You can update your yield income target anytime from your [Investor Profile](/guides/updating-your-yield-income-target). ## Market Sentiment Indicators On your dashboard, you'll find market sentiment tools: ![](https://framerusercontent.com/images/d6uqqh7kgLDQrQGXQ7fkSBPtBc.png?width=2364\&height=1450) ### CMC Crypto Fear and Greed Index A visual gauge showing current market sentiment from "Extreme Fear" to "Extreme Greed." **How to read it:** * **Red zone (0-25):** Extreme Fear - Market may be oversold * **Orange zone (25-45):** Fear - Cautious market sentiment * **Yellow zone (45-55):** Neutral - Balanced market * **Light Green (55-75):** Greed - Bullish sentiment * **Green (75-100):** Extreme Greed - Market may be overbought *Why this matters:* Understanding market sentiment helps you contextualize position performance and make better decisions about opening or closing positions. ### CMC Altcoin Season Index A numerical indicator (0-100) showing whether Bitcoin or Altcoins are performing better. **How to read it:** * **Below 50:** Bitcoin Season - BTC outperforming altcoins * **Above 50:** Altcoin Season - Altcoins outperforming BTC **Why this matters:** Helps you understand which assets are likely gaining momentum, useful for rebalancing strategies or identifying opportunities. ## Understanding Your Dashboard Data ### What Counts Toward Your Metrics? | **Included in Yield APR:** | **NOT included in Yield APR:** | | - | - | | ✅ In-range liquidity positions | ❌ Out-of-range positions (contribute 0%) | | ✅ Any position generating yield | ❌ Closed positions | | **Included in Net Invested:** | **Included in Pending Yield:** | | - | - | | ✅ All capital deployed to liquidity pools | ✅ All uncollected fees and rewards from liquidity pools | | ✅ Both active and out-of-range positions | ❌ Does NOT include yield you've already claimed | | ❌ Does NOT include lending positions | ❌ Does NOT include lending interest | ## My Positions Section Below the metrics cards, you'll see your positions, with tabs to switch between **Positions** (liquidity pools) and **Lending & Borrowing**. For the full table view with customizable columns, open **DeFi Positions** from the sidebar. ### Position Filters & Views Use filters to quickly find specific positions or focus on what matters most. When filters are active, both the position count and dashboard metrics update to reflect only the filtered positions. **Active Filter Indicator** When any filter is enabled, you'll see an indicator and the position count will update. For example: "My Positions (4/23)" means 4 out of 23 total positions match your current filters. > **Important:** Filters also update your Key Performance Metrics cards at the top of the dashboard, showing data only for the filtered positions. #### Filter Options: | **Filter** | **Options** | **Description** | | - | - | - | | **Range** | All / In Range / Out of Range | Show positions that are in-range, out-of-range, or all positions. | | **Status** | All / Active / Inactive | Filter by whether positions are currently open (Active) or closed (Inactive). | | **Chains** | All Chains / Ethereum / Base / Arbitrum / Optimism / Polygon / BNB Chain / Avalanche / Unichain / Robinhood / Solana | View positions from specific blockchains only. | | **Wallets** | All Wallets / \[Your wallet labels] | Filter to show positions from specific connected wallets. Useful when managing multiple addresses. | | **Protocols** | All Protocols / \[Your protocols] | Show positions from specific protocols only (e.g., Uniswap V3, Orca, Aerodrome). | #### Sort Options Organize your positions by different criteria, each in ascending or descending order: | **Sort By** | **Description** | | - | - | | **APR** | See your best or worst performing positions first. | | **Value** | Sort by position value to see your largest or smallest positions first. | | **Pending Yield** | See which positions have the most uncollected fees. | | **Claimed Yield** | Sort by yield you've already collected. | | **P\&L / Invested** | Sort by profit and loss or by capital deployed. | | **Range** | Sort by price range width. Wider ranges = more stable, narrower ranges = more concentrated. | | **Age / Duration** | See recently opened or long-standing positions. | | **Protocol / Pair / Chain / Pool Fee** | Group similar positions together. | | **Impermanent Loss** | Surface the positions where IL is biting hardest. | ![](https://framerusercontent.com/images/9bPiPiqlXkZEu8AnmcQhFN2SLMM.gif?width=1096\&height=720) Switch between two display formats: | **View Mode** | **Description** | | - | - | | **List View** | Compact table format, ideal for scanning many positions quickly | | **Cards View** | Visual cards with more detail, better for reviewing individual position metrics | # Portfolio Page Source: https://docs.defiorbit.xyz/guides/portfolio-page The Portfolio page shows everything your wallets hold—tokens, DeFi positions, and DApp balances—with breakdowns by wallet and chain and a value chart over time. The Portfolio page shows everything your wallets hold—tokens, DeFi positions, and DApp balances—with breakdowns by wallet and chain and a value chart over time. Open **Portfolio** from the sidebar to see it. > **Note:** This page covers your whole-wallet holdings. For liquidity pool metrics, see the [Portfolio Dashboard](/guides/portfolio-dashboard-pools). For loans, see the [Lending & Borrowing Dashboard](/guides/lending-borrowing-cards-dashboard). ## What's on the Page | **Section** | **What it shows** | | - | - | | **Summary** | Total portfolio value across all your tracked wallets, with the daily change | | **Portfolio Chart** | Your total value over time (see [chart details](#portfolio-value-chart) below) | | **Token Holdings** | The tokens you hold, with price and share of portfolio | | **Wallet Breakdown** | How your value is split across your wallets | | **Chain Exposure** | How your value is split across blockchains | | **Idle Capital** | Value sitting in your wallets, split into Stablecoins, Majors, and Tokens | | **Deployed Capital** | Value at work in DeFi, split into Lending, Deposits, Borrowing, Vaults, and Staked | | **Wallets** | Each tracked wallet with its balance—expand a wallet to see its tokens and DApp holdings | ## Token Holdings The Token Holdings card lists your top 5 tokens by value, with each token's share of your portfolio, its current price, and your holdings in USD. Click **View All** to open the full list, which also shows the token amounts you hold. **Low-value holdings** - Tokens worth less than \$10 are hidden by default. Use the **Show low-value holdings** toggle in the View All list to include them. **Spam filtering** - Worthless airdropped tokens are filtered out automatically. There's nothing to configure. ## DApp Holdings Expand any wallet in the Wallets section to see its **dApp Holdings**—value the wallet has deployed in protocols, shown alongside its token balances: | **Holding type** | **How it appears** | | - | - | | **Liquidity pools** | Full pool tables for protocols DeFi Orbit indexes (Uniswap V3, Aerodrome, Orca, DeFi Tuna, vFat, Revert), marked with a "Supported by DeFi Orbit" badge | | **Lending** | Lending cards for Aave, Morpho, and Kamino positions | | **Other DApps** | Balances held in other applications—for example, funds trading on Hyperliquid show as "Trading on Hyperliquid" | This means value parked inside a DApp still counts toward your portfolio total, even when it isn't sitting in the wallet itself. ## Portfolio Value Chart The chart plots your total portfolio value over time. **Default view** - The chart shows your last 7 days on a rolling basis. History starts building from the day you add your wallets, so a brand-new account will see "This chart becomes available in 2 days" until enough data exists. **Custom date ranges (Advanced plan)** - On the Advanced plan, a calendar picker lets you chart any date range backed by your daily portfolio snapshots: * Pick any start and end date where snapshots exist—days without a snapshot (and future days) can't be selected * The earliest selectable date is your first snapshot * Lookback is capped at 400 days See [Plans & Billing](/guides/plans-and-billing) for what each plan includes. ## Refreshing Your Data Use the **Refresh** button to re-fetch your balances and positions on demand. The button shows how many manual refreshes you have left today—the allowance depends on your plan and resets daily at midnight UTC. Your portfolio also refreshes automatically once per day without using your allowance. # Position Cards (Dashboard) Source: https://docs.defiorbit.xyz/guides/position-cards-dashboard View comprehensive information about individual liquidity positions by clicking on any position card in your dashboard. View comprehensive information about individual liquidity positions by clicking on any position card in your dashboard. ## Position Cards (Dashboard) ![](https://framerusercontent.com/images/WKxavKX92OMzOvcgPbil2A0Iz7o.png?width=2364\&height=1450) ## Accessing Position Details From your Portfolio Dashboard: 1. Click on any position card in your "My Positions" section 2. A detailed modal opens showing complete position information 3. Click "Close" or outside the modal to return to your dashboard ## Active Position Information ### Position Header | **Value** | **Description** | | - | - | | **Protocol** | The protocol where your position is (e.g., Uniswap V3, Orca, Aerodrome, DeFi Tuna). | | **Range Status Indicator** | Red = Out of range (not earning fees) Green = In range (actively earning fees) | | **Token Pair** | The two tokens in your liquidity position (e.g., USDC/WETH) with token icons. | | **Pool Fee** | The fee tier for this pool (e.g., 0.30%), shown as a badge next to the pair. | ### Top Row Metrics | **Metric** | **Definition** | | - | - | | **Wallet** | Which connected wallet owns this position | | **Position Age** | How long you've held this position | | **Network** | The blockchain where this position exists (e.g., Ethereum, Base, Solana) | | **Range** | Visual representation of your price range with current price indicator | ### Yield & Performance Metrics | **Metric** | **Description** | | - | - | | **Est. Yield** | Projected earnings (fees + rewards) based on your approximate APR. Toggle between Daily (D), Weekly (W), or Monthly (M) views. | | **Pending Yield** | Uncollected fees and rewards available to claim right now. | | **Projected Yield APR** | Annualized yield rate (fees + rewards) based on the capital actually at work. APR calculations get more accurate as time passes for a position. | ### Portfolio Value Metrics | Metric | **Definition** | | - | - | | **Total Invested** | Your capital deployed into this position. | | **Total Position Value** | Current value of your position including tokens and uncollected yield. | | **Total Claimed Yield** | Yield you've already collected from this position. | | **Total P\&L** | Your profit or loss: Total Position Value + All Yields Claimed + All Liquidity Withdrawn − Investment. | ### Fees Breakdown Table | Column | **Description** | | - | - | | Token | Which token the fees are in (USDC, WETH, etc.) | | Total Fees | All fees earned since the position opened (token amount + USD value) | | Claimed Fees | Fees you've already collected (token amount + USD value) | | Uncollected Fees | Fees available to claim now (token amount + USD value) | | Avg Daily Fees | Average daily earnings for this token (token amount + USD value) | ## Closed Position Information For positions that are no longer active, you'll see a **"This Position is Inactive"** banner on the card, and the metrics reflect the final state of the position: | **Metric** | **Description** | | - | - | | **Total Invested** | Your original capital deployed | | **Total P\&L** | Final profit/loss when the position was closed | | **Total Withdrawn** | Amount you withdrew when closing the position | ## Quick Actions ### Expand Insights Click **"Expand Insights"** to open the position's full detail page with: * Additional position metrics * Historical price and rate charts (full history on higher plans) * Complete transaction history * More detailed analytics ### Open in Uniswap (or Protocol) Click the protocol button (e.g., "Uniswap", "Orca") to: * View the position on the native protocol interface * Claim pending fees * Add or remove liquidity * Close the position * Adjust price ranges **Note:** This opens a new tab and takes you directly to your position on the protocol's website. Remember—DeFi Orbit is read-only, so all position management happens on the protocol itself. # Quick Start Guide Source: https://docs.defiorbit.xyz/guides/quick-start-guide Get started with DeFi Orbit in just a few minutes. Follow these simple steps to connect your wallet and start tracking your DeFi positions. Get started with DeFi Orbit in just a few minutes. Follow these simple steps to connect your wallet and start tracking your DeFi positions. [Watch the video](https://www.youtube.com/watch?v=2M0lSNxdNw0) ## Step 1: Access DeFi Orbit Navigate to [**app.defiorbit.xyz**](https://app.defiorbit.xyz/) in your web browser. *We recommend using a desktop browser for the best experience, though DeFi Orbit works on mobile devices as well.* **Just looking around?** You don't need an account to explore. The app opens in **Demo View**—a fully populated example portfolio—so you can see exactly how DeFi Orbit works before signing up. **Invite codes:** While DeFi Orbit is in its invite phase, signing up requires an invite code. If you arrive through an invite link, the code is applied automatically and this step is skipped. Don't have one? [Request Early Access](https://defiorbit.xyz/request-access). ## Step 2: Connect Your Wallet When you're ready to sign up, click sign in. ### Sign-In Options We use [Privy](https://privy.io) as our authentication provider, giving you multiple ways to access the platform. Wallet sign-in supports both Ethereum (EVM) and Solana wallets, including: | **Popular Wallets** | **More Options** | | - | - | | MetaMask | OKX Wallet, Binance, Bitget | | Rabby Wallet | Zerion, Rainbow, Crypto.com | | Phantom | Any wallet via WalletConnect | | Coinbase Wallet | Email & social sign-in | **Choose the method that works best for you.** If you sign in without a crypto wallet, an embedded wallet is created for your account automatically—you can still add and track any wallet address afterward. ### What Happens When You Connect? **Read-Only Access** - DeFi Orbit only reads public blockchain data. We never ask for your private keys or seed phrases, and we cannot execute transactions on your behalf. **Wallet Signature Required** - If you sign up using a wallet, you'll be asked to sign a text message. This is **NOT** a transaction signature—it's simply to verify you own the wallet and prevent anyone from impersonating you or accessing your data. This signature costs no gas fees. **Multiple Wallets** - After your initial connection, you can add additional wallets to track your complete portfolio from the **Wallets** page. ## Step 3: Choose Your Username Pick a unique username for your DeFi Orbit account. ### Username Requirements * **Unique** - Only one person can have each username * **Up to 20 characters** - Keep it memorable * **Alphanumeric** - Letters, numbers, underscores, and hyphens allowed; must start with a letter or number * **Changeable** - You can update your username later from your account settings ## Step 4: Set Your Yield Income Target Tell us how much you want to earn from your DeFi positions annually. This is your personal goal, and we'll help you track your progress. This step is optional—you can set or change your target later from your Investor Profile. ### Why Set a Target? Your dashboard will show: * **Projected annual yield** - Based on your active positions * **Progress toward goal** - Visual indicator showing how close you are * **Goal tracking widget** - Always visible on your dashboard ### How It Works We calculate your projected annual yield from your **active yield-generating positions**: | **✅ Counts Toward Your Goal:** | **❌ Doesn't Count:** | | - | - | | In-range concentrated liquidity positions | Out-of-range positions (not earning fees) | | Positions generating fees and rewards | Closed positions | The projection uses **Time-Weighted Average Capital (TWAC)**, so adding or removing liquidity mid-way doesn't skew the estimate. ### Setting Your Target Enter any amount in USD. Common targets range from $10,000 to $100,000+ per year, but you can set any goal that makes sense for your strategy. **Can I change this later?** Yes! Update your yield income target anytime from your Investor Profile. **Not sure what to set?** Start with a conservative goal based on your current portfolio. You can always adjust as you scale up. ## Step 5: Import Your Positions The final step—add the wallets you want to track, and we'll automatically detect and import your existing DeFi positions. ### What Gets Imported DeFi Orbit scans your connected wallet(s) and imports: **Liquidity Positions** * Uniswap V3 (Ethereum, Base, Arbitrum, Optimism, Polygon, BNB Chain, Avalanche, Unichain & Robinhood) * Aerodrome (Base) * Orca (Solana) * DeFi Tuna (Solana) * vFat positions (across supported EVM chains) * Revert positions (Ethereum, Base, Arbitrum) **Lending & Borrowing** * Aave V3 (Ethereum, Base, Arbitrum, Optimism, Polygon, BNB Chain & Avalanche) * Morpho (Ethereum, Base) * Kamino (Solana) For more information on our supported networks and protocols, [please click here.](/guides/what-is-defi-orbit#multi-chain-support) ### The Import Process 1. **Automatic Detection** - We scan your wallet for compatible positions 2. **Position Analysis** - We fetch historical data and calculate performance 3. **Dashboard Population** - Your positions appear on your dashboard **This usually takes 5-20 seconds** depending on how many positions you have. Newly added wallets with a long history may take a little longer to fully index. ### What If I Have No Positions? No problem! You can still explore DeFi Orbit and: * Connect additional wallets later * View the dashboard interface * Explore features and documentation * Wait until you open your first position ### You're All Set! 🎉 After signing up, your **7-day Advanced plan trial** activates automatically—no payment method required upfront. This gives you full access to connect your wallets, import positions, and see how the platform works with your actual portfolio. Once you complete these steps, you'll land on your Portfolio Dashboard with all your positions visible. # Risk Profile Assessment Source: https://docs.defiorbit.xyz/guides/risk-profile-assessment Understand your DeFi investing style and get personalized portfolio guidance based on your risk profile. Understand your DeFi investing style and get personalized portfolio guidance based on your risk profile. ![](https://framerusercontent.com/images/zzFK3x3Yd84c9RO3J54hqTzea0.png?width=2364\&height=1450) ## What is the Risk Assessment? The Risk Assessment is a short questionnaire—9 questions about your comfort with volatility, investment horizon, DeFi knowledge, risk tolerance, diversification, protocol selection, management frequency, income priority, and liquidity needs—that helps you understand whether your current portfolio aligns with your risk tolerance, investment goals, and management style. Based on your answers, you'll receive one of three risk profiles: | **Investor Type** | **Description** | **Score** | | - | - | - | | Aggressive DeFi Investor | High-risk, high-return strategies with active management | 0-27 | | Moderate DeFi Investor | Balanced approach mixing growth and stability | 28-54 | | Conservative DeFi Investor | Capital preservation with steady income focus | 55-90 | ## How to Take the Assessment 1. Navigate to **Investor Profile** in the main menu 2. Find the **Risk Assessment** section 3. Click **Take Assessment** (first time) or **Retake Assessment** (if updating) 4. Answer the questionnaire honestly based on your actual investing behavior 5. Review your results and click **Submit** to save them You can retake the assessment anytime as your strategy or comfort level evolves. ## What You'll See After the Assessment Once you complete the questionnaire, your results page displays: **Your Score** Your total points out of 90. **Your Risk Profile Type** All three investor categories are shown with their score ranges and descriptions, with yours highlighted—so you can see how close you are to the neighboring profiles. **On Your Investor Profile Page** After submitting, your Investor Profile page shows your score, your profile category, and the strategy approach recommended for your investing style (position range preferences, review frequency, chain and fee tier selection). ## The Three Risk Profiles ### Aggressive DeFi Investor (Score: 0-27) **Characteristics:** * Comfortable with high-risk, high-return strategies * Actively manages concentrated liquidity positions * Willing to explore newer protocols and innovations * Primary goal: capital appreciation * Frequent portfolio rebalancing (daily or multiple times weekly) **Typical Portfolio:** * 25-30% Core holdings (blue-chip assets in active LP positions) * 40-50% Growth opportunities (narrow range concentrated liquidity) * 15-20% Experimental strategies (newer protocols) * 5-10% Stablecoins (for quick entry into opportunities) **Key Focus:** Daily yield generation, position range status, fee accumulation rate, impermanent loss vs. fees. ### Moderate DeFi Investor (Score: 28-54) **Characteristics:** * Balances growth with stability * Mix of concentrated and wider-range positions * Regular monitoring with less frequent adjustments * Combines established protocols with select new opportunities * Weekly position reviews with occasional adjustments **Typical Portfolio:** * 40-50% Core holdings (established assets, medium-range positions) * 20-30% Growth component (selected concentrated liquidity) * 15-20% Yield generation (lending on established platforms) * 10-15% Stablecoins (for opportunities and adjustments) **Key Focus:** Weekly yield trends, position health, protocol TVL stability, portfolio weighted APR. ### Conservative DeFi Investor (Score: 55-90) **Characteristics:** * Prioritizes capital preservation and steady income * Focus on lending and wider-range liquidity positions * Less frequent position adjustments (bi-weekly or monthly) * Primarily uses well-established protocols * Primary goal: income generation and stability **Typical Portfolio:** * 50-60% Core holdings (blue-chip assets, wide-range LP positions) * 25-30% Income generation (lending on established platforms) * 15-20% Stablecoins (capital preservation and flexibility) * 0-5% Limited growth (optional small allocation) **Key Focus:** Monthly income generated, portfolio stability, protocol security ratings, long-term performance. ## How This Helps You **Know Your Style** Put a name and a number on your risk tolerance, so your position choices stop being guesswork. **Strategy Validation** Confirm whether your current approach (rebalancing frequency, protocol selection, position types) matches your stated risk tolerance and goals. **Identify Misalignments** If you're classified as Conservative but your portfolio is full of narrow-range positions, that's a signal your actual portfolio is riskier than you may be comfortable with. **Track How You Evolve** Retake the assessment as your strategy matures and see how your profile shifts over time. # Swap & Bridge Source: https://docs.defiorbit.xyz/guides/swap-and-bridge Swap tokens and bridge between chains without leaving DeFi Orbit. Powered by LI.FI, signed in your own wallet—DeFi Orbit never holds your funds. Swap tokens and bridge between chains without leaving DeFi Orbit. Powered by LI.FI, signed in your own wallet—DeFi Orbit never holds your funds. Open **Swap & Bridge** from the sidebar and it slides out as a drawer, so your portfolio stays in view. ## What It Does The drawer handles both operations in one widget: | **Operation** | **What happens** | | - | - | | **Swap** | Exchange one token for another on the same chain | | **Bridge** | Move tokens from one chain to another, with an automatic swap on the way when needed | Pick the token and chain you're sending from, the token and chain you want to receive, and the widget finds the best route across the DEXs and bridges LI.FI aggregates. Review the quote—including the route and fees—then confirm. ## Supported Ecosystems Swap & Bridge works across **EVM chains, Solana, Bitcoin, Sui, and Tron**—so you can move capital between ecosystems, not just between EVM chains. ## Your Keys, Your Funds **DeFi Orbit never holds your funds.** The widget builds a route and hands the transaction to your own wallet to sign. Nothing moves until you approve it in your wallet, and funds travel wallet-to-wallet through the route's on-chain contracts—never through DeFi Orbit. **Connect inside the widget** - The drawer has its own wallet connection, separate from the account you log in with. Connect whichever wallet you want to transact from, even if it's not one of your tracked wallets. ## Fees DeFi Orbit adds no fee of its own on swaps and bridges. The route itself carries normal costs—network gas, DEX fees, and bridge provider fees—and these are shown in the quote before you confirm. ## Availability Swap & Bridge is available to every user on every plan, including visitors browsing the [demo view](/guides/demo-view). # Updating Your Username Source: https://docs.defiorbit.xyz/guides/updating-your-username Change your DeFi Orbit username anytime from your account settings. Change your DeFi Orbit username anytime from your account settings. ![](https://framerusercontent.com/images/0PvaC8WVAWm3767p2zT3Z0FMdY.png?width=2364\&height=1450) ## How to Update Your Username 1. Click on your username/avatar at the bottom of the sidebar 2. Select **Settings** from the menu to open the Account Settings dialog 3. Click **Update Username** 4. Enter your new username—we'll check availability as you go 5. Save to confirm the change Your new username will be updated immediately across the platform. You can also update your avatar from the same Account Settings dialog. ## Username Requirements Your username must follow these rules: | **Requirement** | **Rule** | **Examples** | | - | - | - | | Length | Maximum 20 characters | Valid: `defi_2025` | | Characters | Letters, numbers, underscores, hyphens only | Valid: crypto-lp\_pro \| Invalid: crypto lp! | | Spaces | No spaces allowed | Valid: defi\_orbit \| Invalid: defi orbit | | Start Character | Must start with a letter or number | Valid: trader123 \| Invalid: \_trader | | Uniqueness | Only one user can have each username | If taken, you'll need to choose another | ## Tips for Choosing a Username **Keep it simple** - Shorter usernames are easier to remember and share **Make it unique** - Add numbers or underscores if your preferred name is taken **Avoid special characters** - Stick to letters, numbers, underscores, and hyphens **Choose wisely** - While you can change your username anytime, consistency helps with community recognition ## Common Issues | Issue | **Description** | | - | - | | Username already taken | Someone else is using that username. Try adding numbers, underscores, or slight variations. | | Invalid characters | Remove any spaces, special characters, or symbols. Only use letters, numbers, underscores (\_), and hyphens (-). | | Username too long | Reduce your username to 20 characters or fewer. | | Must start with letter or number | Usernames cannot start with underscores or hyphens. Start with a letter (a-z, A-Z) or number (0-9) instead. | # Updating your Yield Income Target Source: https://docs.defiorbit.xyz/guides/updating-your-yield-income-target Change your annual yield income goal anytime to reflect your evolving investment strategy. Change your annual yield income goal anytime to reflect your evolving investment strategy. ![DeFi Orbit - How to Adjust Your Income Goal](https://framerusercontent.com/images/9Z3bwn0RzMlc1UOrRdp6Z2nr2U.png?width=2364\&height=1450) ## How to Update Your Target 1. Navigate to **Investor Profile** in the main menu 2. Find the **Yield Income Target** section 3. Click **Adjust** 4. Enter your new annual income target (in USD) 5. Save your changes Your dashboard will immediately update to show your progress toward the new goal. ## How the Yield Income Tracker Works Your dashboard displays: **Projected Annual Yield** Your projected annual income (fees + rewards) based on the current performance of your in-range positions. *Calculation:* Estimated annualized yield using **Time-Weighted Average Capital (TWAC)**, so adding or removing liquidity mid-way doesn't skew the projection. The estimate gets more accurate as your positions age. **Your Target** The annual income goal you've set (e.g., "\$10,000 /year") **Progress Indicator** Visual bar showing how close your projected annual yield is to your goal. > **Important:** Only in-range positions that are actively earning fees count toward your projection. Out-of-range positions contribute 0% since they're not generating yield. ## Setting a Realistic Target **Consider your capital** If you have $100,000 deployed and target $50,000/year, you'd need to maintain a 50% APR across all positions—which is ambitious. **Account for market conditions** Bear markets typically offer lower yields than bull markets. Your target might need adjustment based on overall DeFi market conditions. **Factor in active management** Higher targets often require more frequent rebalancing to keep positions in range and maximizing fees. **Start conservative** You can always increase your target as your portfolio grows or market opportunities improve. ## Target Examples | **Amount** | **Experience Level** | | - | - | | \$100-1,000/year | Learning & Growing | | \$1,000-10,000/year | Building Portfolio | | \$10,000+/year | Experienced Investor | ## Why Track Your Income Goal? **Focus your strategy** Having a clear target helps you make better decisions about position sizing, protocol selection, and risk management. **Measure progress** See at a glance whether your current positions are on track to meet your annual income goals. **Adjust as needed** Your financial goals change over time. Update your target as your portfolio grows or your income needs shift. ## Learn More For detailed information about how the Yield Income Tracker appears on your dashboard, see [Portfolio Dashboard - Yield Income Tracker.](/guides/portfolio-dashboard-pools#yield-income-tracker) # Wallets Manager Source: https://docs.defiorbit.xyz/guides/wallets-manager Add, label, and organize the wallets DeFi Orbit tracks for you. Tracking is read-only: you paste an address, and we read public on-chain data—no keys, no custody. Add, label, and organize the wallets DeFi Orbit tracks for you. Tracking is read-only: you paste an address, and we read public on-chain data—no keys, no custody. Open **My Wallets** from the sidebar to manage them. ## Adding a Wallet 1. Click **Add Wallet** 2. Enter a **Wallet Address or ETH/SOL Domain**—ENS names (`.eth`) and `.sol` domains resolve automatically and prefill the wallet name 3. Give the wallet an **Account Name** (required, up to 60 characters) 4. Save If you signed up with a wallet, that wallet is added for you automatically as "Main Wallet." **Duplicates aren't allowed** - You can't add the same address twice, and two wallets can't share the same name (names are compared case-insensitively). ## Supported Address Types | **Network** | **Coverage** | | - | - | | **Ethereum / EVM chains** | Full position and balance tracking across all supported EVM chains | | **Solana** | Full position and balance tracking | | **Bitcoin** | Native BTC balance | | **Sui** | Address accepted; balance tracking varies | | **Litecoin** | Address accepted; balance tracking varies | | **Ripple (XRP)** | Address accepted; balance tracking varies | | **Dogecoin** | Address accepted; balance tracking varies | The address type is detected automatically from the address format. If an address is valid on more than one network, you'll be asked to pick the account type. ## Managing Your Wallets Each wallet card has a menu with three actions: | **Action** | **What it does** | | - | - | | **Edit** | Change the wallet's address or name | | **Archive** | Stop tracking the wallet without deleting it. Archived wallets are excluded throughout the app, and any share link for the wallet is disabled. You can unarchive any time. | | **Delete** | Remove the wallet permanently. This can't be undone, but you can always re-add the address later. | Use the search box to filter your wallets by name or address—useful once you're tracking many. ## Wallet Limits How many wallets you can track depends on your plan. If you're over your plan's limit, the extra wallets simply aren't tracked until you upgrade or remove some. See [Plans & Billing](/guides/plans-and-billing) for details, or compare plans at [defiorbit.xyz/pricing](https://defiorbit.xyz/pricing). ## Sharing a Wallet's Portfolio Enterprise accounts can generate a public share link for any tracked wallet—a read-only portfolio page the recipient can open without an account, with optional expiry. See [Portfolio Enterprise](/guides/enterprise) for how share links work. # What is DeFi Orbit? Source: https://docs.defiorbit.xyz/guides/what-is-defi-orbit DeFi Orbit is a multi-chain portfolio management platform built specifically for liquidity providers. We help you track, analyze, and optimize your DeFi positions across multiple blockchains—all in one place. DeFi Orbit is a multi-chain portfolio management platform built specifically for liquidity providers. We help you track, analyze, and optimize your DeFi positions across multiple blockchains—all in one place. [Watch the video](https://www.youtube.com/watch?v=UmzbAZuwmYc) ## The Problem We Solve If you're actively providing liquidity in DeFi, you know the struggle: | **Key Problem** | **The Problem** | **Our Solution** | | - | - | - | | **Spreadsheets everywhere** | 70% of DeFi investors still rely on manual spreadsheets to track their positions | ✅ Automatic position import across 10 chains. Connect once, no manual entry required. | | **Fragmented tools** | Different chains require different tools, none of which talk to each other | ✅ Unified multi-chain dashboard. Track all positions in one interface with aggregate metrics. | | **Outdated data** | By the time you update your spreadsheet, the market has already moved | ✅ Refresh on demand. Pull the latest prices, range status, and yields whenever you need them. | | **Missing the big picture** | No clear view of your total P\&L, fee income, or impermanent loss across all positions | ✅ Consolidated metrics show total P\&L, fees, and impermanent loss across all positions automatically. | | **Time drain** | Users spend 30-60 minutes daily just trying to understand their portfolio performance | ✅ 30-second dashboard check replaces 30-60 minutes of daily tracking. All calculations automated. | > ⭐️ We built DeFi Orbit because we experienced these problems ourselves **as active LPs.** ## How DeFi Orbit Helps ### Real-Time Portfolio Monitoring Stop manually checking each protocol. See all your liquidity positions, lending positions, and performance metrics in one unified dashboard. ### Multi-Chain Support Track positions across 10 chains and 9 protocols: | **Network / Chain** | **Protocols** | | - | - | | Ethereum Mainnet | Uniswap V3, Aave V3, Morpho, vFat, Revert | | Base | Uniswap V3, Aerodrome, Aave V3, Morpho, vFat, Revert | | Arbitrum | Uniswap V3, Aave V3, vFat, Revert | | Optimism | Uniswap V3, Aave V3, vFat | | Polygon | Uniswap V3, Aave V3, vFat | | BNB Chain | Uniswap V3, Aave V3, vFat | | Avalanche | Uniswap V3, Aave V3, vFat | | Unichain | Uniswap V3, vFat | | Robinhood | Uniswap V3 | | Solana | Orca, Kamino, DeFi Tuna | No more switching between different tools or maintaining separate spreadsheets for each chain. ### Whole-Wallet Portfolio View Beyond your LP and lending positions, the Portfolio page shows everything your connected wallets hold—tokens, DeFi app positions (including protocols like Hyperliquid and Meteora), allocation breakdowns, and chain exposure—so you always see your complete picture. ### Accurate Performance Tracking Get precise calculations for: * **Profit & Loss (P\&L)** - Your actual returns, not rough estimates * **Impermanent Loss** - Real-time IL tracking vs. fee income * **Fee Earnings** - Detailed breakdown of all fees collected * **APR/APY** - Current and historical yields for each position ### Position Intelligence Understand what's happening with your positions: * **In-range vs. Out-of-range status** - Know when your liquidity is working * **Health scores** - Quick assessment of position performance * **Historical tracking** - See how your positions have performed over time * **Lending risk monitoring** - Track your health factors and liquidation risks * **Real-time alerts** - Get health factor alerts delivered via Telegram, Email, or Discord before liquidation risk becomes a problem ## Built by LPs, for LPs We're not a generic portfolio tracker trying to do everything. DeFi Orbit is laser-focused on the specific needs of liquidity providers because we are liquidity providers. After conducting 40+ in-depth interviews with active DeFi users, we identified the exact features that matter most to people managing concentrated liquidity positions, lending markets, and multi-chain strategies. ## Your Data, Your Control **Read-Only Access** - We never ask for your private keys or seed phrases. DeFi Orbit only reads public blockchain data to show you your positions. **No Custody** - We don't hold your funds. Monitoring is read-only; the optional Swap & Bridge feature (powered by LI.FI) executes transactions only from your own wallet, with your explicit signature. **Privacy First** - Connect your wallets without KYC. We collect minimal data and focus on giving you the insights you need to make better decisions. ## Why DeFi Orbit? ### Try Before You Sign Up Not ready to connect a wallet? Open the app and browse the Demo View—a fully populated example portfolio—without creating an account. ### Save Time Transform 30-60 minutes of daily spreadsheet work into a 30-second dashboard check. ### Make Better Decisions With accurate, up-to-date data across all your positions, you can spot opportunities and risks faster. ### Reduce Stress Know exactly where you stand. No more uncertainty about whether your positions are profitable or if you've missed critical alerts. ### Scale Your Strategy Whether you're managing 3 positions or 30, across one chain or ten, DeFi Orbit keeps everything organized and accessible. # Introduction Source: https://docs.defiorbit.xyz/index DeFi Orbit is on-chain data infrastructure for DeFi positions — a multi-chain data API built for funds, market makers, and the teams building on DeFi. DeFi Orbit sits between raw chain data and your product: position state is read from protocol contracts, indexed in-house, and served as clean, calculated data. Access liquidity positions, lending markets, fees, APR, and protocol analytics across supported blockchains through a single REST API. Use one API key to retrieve on-chain DeFi data and monitor API usage across your organization. The API is one of three ways to use the same data layer, alongside the [Portfolio app](https://app.defiorbit.xyz) and [DeFi Orbit AI](/recipes/mcp), the MCP server for AI agents. Create a key and read a wallet's Uniswap V3 position counts. Send your `do_sk_` key as a bearer token on every request. Aave V3, Morpho, Kamino, Uniswap V3, Aerodrome V3, and Orca. Paths, parameters, credit costs, and response examples. ## What you can access Uniswap V3, Aerodrome V3 on Base, and Orca on Solana. Counts, position state, and history. Aave V3, Morpho, and Kamino. Health factor, risk, and yield. Fees, rewards, APR, impermanent loss, and daily snapshots. Wallet USD value, remaining credits, and request logs. ## Base URL ```text theme={null} https://api.defiorbit.xyz ``` Authenticate every API request using your API key in the header: `Authorization: Bearer YOUR_API_KEY` API requests consume credits from your organization's allocated balance. Credit costs vary by endpoint. Create and revoke API keys from the [Dashboard](https://platform.defiorbit.xyz/dashboard/keys). ## Coverage Support is per protocol. The full chain list is on [Protocols and chains](/protocols). * Uniswap V3 runs on Ethereum, Optimism, BNB Chain, Unichain, Polygon, Base, Arbitrum, Avalanche, and Robinhood (`4663`). * Aerodrome V3 runs on Base (`8453`) only. * Orca and Kamino run on Solana (`101`). * Aave V3 runs on Ethereum, Optimism, BNB Chain, Polygon, Base, Arbitrum, and Avalanche. * Morpho runs on Ethereum and Base. ## Get started Follow the [Quickstart](/quickstart) to make your first API request. Learn how API credits work in the [Credits](/credits) guide. # Data methodology Source: https://docs.defiorbit.xyz/methodology What each PnL, APR, fee, impermanent loss, and risk figure represents. Figures below are what the API returns. USD amounts and percents are decimal strings. `0` and `"0"` are a confirmed zero. `null` means the value is missing: a logo, a 24-hour price change, or a pagination URL. ## How the data is produced Position state is read from protocol contracts and indexed in-house by protocol-specific indexers — 19 of them across 10+ chains. Every figure on this page is calculated from that indexed data and reconciled against on-chain state, with measured position-level accuracy of 99.79%. ## PnL Uniswap V3 and Aerodrome V3 use the same definitions. * `pnl_usd_value` — total profit or loss on the position: everything the position has returned (current value, withdrawals, claimed fees and claimed rewards) net of the capital deposited. * `pnl_percentage` — that PnL relative to net invested capital, times 100. It is `0` when net invested capital is not positive. * `realized_usd_value` — value already taken out: withdrawals plus claimed fees and claimed rewards. * `unrealized_usd_value` — the current position value, which includes unclaimed fees and rewards. * `position_usd_value` — token principal plus unclaimed fees and unclaimed rewards. ## APR APR figures are simple (not compounded), annualized from the position's own history and capital. * `earned_apr_percentage` — three percent strings: `yield` (fees plus rewards), `fees`, and `rewards`. Each is `0` when capital or total yield is not positive. * `projected_yield_apr` — the yearly in-range APR. It applies only while the position is open and in range, and is `0` otherwise. * `estimated_total_yield` — the observed average fee and reward pace, scaled to a day, week, month, and year. It is not the in-range projection. ## Fees, rewards, and impermanent loss * `total_fees` — collected, compounded, and still-uncollected fees. `claimed_fees` is the collected part. `unclaimed_fees` is the uncollected part. * `total_rewards`, `claimed_rewards`, `unclaimed_rewards` — the reward-token equivalents. Uniswap positions have no reward token, so those totals are `0`. Aerodrome rewards are AERO. * On `.../events`, each row carries the token price at that transaction, and USD value is amount times that price. There is no separate historical price series. * `pure_impermanent_loss` — the position compared with holding the net deposited tokens at the current price, token principal only. * `net_impermanent_loss` — the same comparison using the current position value, so unclaimed fees and rewards are included. * The matching `*_percentage` fields express that difference relative to the held value, and are `0` when either value is not positive. * `hodl_gross_benchmark_usd_value` — every deposited token marked at the current price, without subtracting withdrawals. `market_pnl_usd_value`, `alpha_vs_hodl_gross_usd_value`, and `lp_divergence_pnl_usd_value` measure the position against that benchmark. ## Lending risk * `at_risk` — true when the health factor is a finite number below 1.5. `MAX` and `∞` are not at risk. A summary's `total_at_risk` counts chains (Aave, Morpho) or obligations (Kamino) in that state. * Health factor — each protocol's own liquidation-risk measure: `MAX` when there is no debt (Aave V3, Morpho), `∞` when LTV is 0 (Kamino). * `target_health_factor` — the level used for safe-borrow and safe-withdraw figures. The default is 1.5. * Morpho risk and yield are per market, so those routes require `market_id`. Aave risk, yield, events, and snapshots default `market_id` to `main`. Summary, the position list, the bundle, and batch return every market on the chain when you omit it. On Ethereum, `lido` and `horizon` are separate markets. * Supply and borrow APY fields are the rates on the indexed position. ## Freshness | Data | What you are reading | | - | - | | Uniswap V3 and Aerodrome V3 position, list, snapshot, PnL, and yield | Indexed position state. Snapshot, PnL, and yield use the indexed token price. | | `.../full` | The same position, also calculated at the current token price. | | `.../snapshots` on those two protocols | One row per UTC day: value, fees, rewards, and the yearly in-range fee APR. `timestamp` is unix seconds. | | Aave V3 and Morpho positions, risk, and yield | Indexed lending state. | | Aave and Morpho `.../snapshots` | Daily history. `max_snapshots` is how many UTC days to return. | | Kamino obligation state | Live obligation state. History health factor uses liquidation LTV / LTV. | | Portfolio balance and assets | Fetched live for that call. `meta.lastUpdatedAt` is unix milliseconds. A transient failure is 502. | Orca has no events, snapshots, PnL, or yield route. See [Protocols and chains](/protocols) for which chain each protocol covers. # Pagination Source: https://docs.defiorbit.xyz/pagination Page through list results, see which count credits use, and how many wallets a batch accepts. List endpoints return `pagination` with `page`, `limit`, `total`, `next_page`, and `prev_page`. `next_page` and `prev_page` are absolute URLs, or `null` at the ends. ## Counts and credits `limit` is the page size: the maximum number of rows in `data`. `data.length` is how many rows this response contains. On a short last page it is smaller than `limit`. On an empty page it is 0. `total` is the match count for the whole request. List, bundle, and batch credit charges use `data.length` or `total`. Worked examples are on [Credits](/credits). ## Page and limit | Parameter | Default | Maximum | | - | - | - | | `page` | 1 | Not specified | | `limit` on list endpoints | 10 | 25 | Pass `page` and `limit` as query parameters. On batch endpoints they are query parameters too. The wallet list is the JSON body. ## Batch wallets `POST` body field `wallets` is an array of addresses. | Endpoint | Maximum wallets | | - | - | | [Uniswap V3 batch](/api-reference/uniswap-v3/batch) | 20 | | [Aerodrome V3 batch](/api-reference/aerodrome-v3/batch) | 20 | | [Orca batch](/api-reference/orca/batch) | 25 | | [Aave V3 batch](/api-reference/aave-v3/batch) | 10 | | [Morpho batch](/api-reference/morpho/batch) | 10 | | [Kamino batch](/api-reference/kamino/batch) | 5 | Each maximum counts addresses in `wallets`. The credit charge for that call is on [Credits](/credits). ## Boolean queries Include `full=true` only when you want the detailed payload. Omit `full` otherwise. On liquidity list endpoints, `full=true` returns active positions. Closed positions use `status=inactive`. Combining `full=true` with `status=inactive` returns HTTP 400; request an inactive position's full endpoint instead where available. # Protocols and chains Source: https://docs.defiorbit.xyz/protocols Which chain ids and route families each protocol supports. Pass `chain_id` on endpoints that list it. Omit it to include every chain in that protocol's row. Aerodrome V3 rejects anything other than `8453`. Orca and Kamino reject anything other than `101`. Aave V3 and Morpho reject a chain their indexer does not support. Uniswap V3 accepts any enabled network id; only the chains in its row have a position manager. | Protocol | Chain ids | List | Events | Snapshots | Batch | Risk / yield | | - | - | - | - | - | - | - | | [Uniswap V3](/api-reference/uniswap-v3/summary) | `1` Ethereum, `10` Optimism, `56` BNB Chain, `130` Unichain, `137` Polygon, `8453` Base, `42161` Arbitrum, `43114` Avalanche, `4663` Robinhood | Yes | Yes | Daily rows and a current snapshot | Yes | PnL and yield | | [Aerodrome V3 (Slipstream)](/api-reference/aerodrome-v3/summary) | `8453` Base only | Yes | Yes | Daily rows and a current snapshot | Yes | PnL and yield. Rewards are AERO | | [Orca (Whirlpools)](/api-reference/orca/summary) | `101` Solana | Yes | No | No | Yes | No | | [Aave V3](/api-reference/aave-v3/summary) | `1` Ethereum, `10` Optimism, `56` BNB Chain, `137` Polygon, `8453` Base, `42161` Arbitrum, `43114` Avalanche | Yes | Yes | Daily rows | Yes | Risk and yield | | [Morpho (Morpho Blue)](/api-reference/morpho/summary) | `1` Ethereum, `8453` Base | Yes | Yes | Daily rows | Yes | Risk and yield. Both require `market_id` | | [Kamino](/api-reference/kamino/summary) | `101` Solana | Yes | Yes | Daily rows | Yes | Risk and yield. Keyed by obligation address | On Aave summary, the position list, the bundle, and batch, omit `market_id` to include every market on the chain. Ethereum then includes `lido` and `horizon` as well as `main`. Events, snapshots, risk, and yield default to `main`. Orca position lookup takes `wallet` when the position is a DeFi Tuna position. Portfolio [balance](/api-reference/portfolio/balance), portfolio [assets](/api-reference/portfolio/assets), [snapshot dates](/api-reference/snapshots/dates), and [wallet snapshots](/api-reference/snapshots/wallet) take an EVM, Solana, or Bitcoin wallet. ## History routes Uniswap V3 and Aerodrome V3: * `.../events` is deposits, withdrawals, fee collections, and compounds. Each row has token amounts, the token price at that transaction, a unix-second `timestamp`, and `transaction_hash`. USD value is amount times that price. The first deposit is the mint. An empty compounds list is omitted. * `.../snapshots` is one row per UTC day: value, fees, rewards, and APR. * `.../snapshot` is the current check: value, in range or out of range, PnL, and APR. Aave V3 and Morpho `.../events` are supply, withdraw, borrow, repay, and liquidation events. `.../snapshots` is the daily chart. `max_snapshots` is a day count. Kamino `.../events` is daily obligation history: a `blockTimestamp` and a nested snapshot. `.../snapshots` is collateral, debt, net worth, and health factor over time. How those numbers are calculated is on [Data methodology](/methodology). # Quickstart Source: https://docs.defiorbit.xyz/quickstart Create an API key and retrieve a wallet’s Uniswap V3 position counts. This endpoint returns the total number of Uniswap V3 positions for a wallet, split into active and inactive positions. The request costs 1 API credit. ## Prerequisites * Access to the [DeFi Orbit dashboard](https://platform.defiorbit.xyz) * A wallet address to query Open [API Keys](https://platform.defiorbit.xyz/dashboard/keys) and create a key. The API key starts with `do_sk_`. Copy and store the full key securely when creating it. Send your API key in the Authorization header as a Bearer token. Replace the example wallet address with the wallet you want to query. ```bash theme={null} curl --location 'https://api.defiorbit.xyz/v1/positions/uniswapv3/summary?wallet=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045' \ --header 'Authorization: Bearer YOUR_API_KEY' ``` ```javascript theme={null} const url = new URL("https://api.defiorbit.xyz/v1/positions/uniswapv3/summary"); url.searchParams.set("wallet", "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"); const response = await fetch(url, { headers: { Authorization: "Bearer YOUR_API_KEY" }, }); const body = await response.json(); if (!response.ok) { const { code, request_id } = body.error; throw new Error(`${response.status} ${code} (${request_id})`); } console.log(body); ``` ```python theme={null} import requests response = requests.get( "https://api.defiorbit.xyz/v1/positions/uniswapv3/summary", params={"wallet": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}, headers={"Authorization": "Bearer YOUR_API_KEY"}, ) print(response.json()) ``` `data.total_active` is the number of active positions. `data.total_inactive` is the number of inactive positions. ```json theme={null} { "data": { "total": 8, "total_active": 5, "total_inactive": 3 }, "request_id": "req_..." } ``` List those positions with [List Uniswap V3 Positions](/api-reference/uniswap-v3/list). Retry `429`, `502`, `503`, and `504` as shown in [Errors and rate limits](/errors#retry). Need a hand? Email [support@defiorbit.xyz](mailto:support@defiorbit.xyz). # Batch wallets Source: https://docs.defiorbit.xyz/recipes/batch Read many wallets in one POST. Batch routes take a JSON array of wallets and return the detailed shape of the matching list or bundle. `page` and `limit` stay on the query string. Liquidity batches cost 12 credits per position in `data` on that response. Lending batches cost 12 credits per matching result. Each lending request charges `pagination.total`, including a later page. Worked examples are on [Credits](/credits). ```bash theme={null} curl --location 'https://api.defiorbit.xyz/v1/positions/uniswapv3/batch' \ --header 'Authorization: Bearer YOUR_API_KEY' \ --header 'Content-Type: application/json' \ --data '{"wallets":["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"]}' ``` | Call | Maximum wallets | Returns | | - | - | - | | [Uniswap V3](/api-reference/uniswap-v3/batch) | 20 | Same shape as list with `full=true`, one array per wallet. Optional `chain_id` in the body. | | [Aerodrome V3](/api-reference/aerodrome-v3/batch) | 20 | Same shape as list with `full=true`, on Base. | | [Orca](/api-reference/orca/batch) | 25 | Same shape as list with `full=true`. Optional `chain_id` in the body. | | [Aave V3](/api-reference/aave-v3/batch) | 10 | Same shape as the list endpoint, one entry per wallet and chain. Optional `market_id` and `target_health_factor`. | | [Morpho](/api-reference/morpho/batch) | 10 | One entry per wallet and chain. Optional `market_id` and `target_health_factor`. | | [Kamino](/api-reference/kamino/batch) | 5 | Same shape as the bundle, per obligation. | Use the response example on the [Aave batch page](/api-reference/aave-v3/batch) for the exact fields that come back. # Lending positions Source: https://docs.defiorbit.xyz/recipes/lending Check Aave V3, Morpho, and Kamino health, then load positions and calculations. `at_risk` means the health factor is below 1.5. Summary calls are the cheap check. Bundles add calculations. List, bundle, and batch calls charge `pagination.total` on every page. See [Credits](/credits). ## Aave V3 [Get Aave V3 Summary](/api-reference/aave-v3/summary) returns chain ids and an `at_risk` flag. Optional `market_id` is `main`, `lido`, or `horizon`. ```bash theme={null} curl --location 'https://api.defiorbit.xyz/v1/lending/aavev3/summary?wallet=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045' \ --header 'Authorization: Bearer YOUR_API_KEY' ``` [Get Aave V3 Position](/api-reference/aave-v3/position) is the lighter read, without full calculations (3 credits per matching wallet/chain result). [List Aave V3 Positions](/api-reference/aave-v3/bundle) is the bundle: live positions plus health factor, interest, LTV, and APY (15 credits per matching wallet/chain result). `target_health_factor` defaults to `1.5`. Risk and yield for one chain are [Get Position Risk](/api-reference/aave-v3/risk) and [Get Position Yield](/api-reference/aave-v3/yield). The chain id is in the path. ## Morpho [Get Morpho Summary](/api-reference/morpho/summary) is at risk when any isolated market is below 1.5. [Get Position Risk](/api-reference/morpho/risk) and [Get Position Yield](/api-reference/morpho/yield) require `market_id`. Events and snapshots can omit it. Each event names its market. ## Kamino [Get Kamino Summary](/api-reference/kamino/summary) takes a Solana wallet. [List Kamino Positions](/api-reference/kamino/position) returns obligations with calculations, including health factor, APY, and projections. Use it to discover an obligation address. [Get Kamino Bundle](/api-reference/kamino/bundle) returns the same item shape. Events, snapshots, risk, and yield need the obligation address in the path plus `wallet` and `market_address`. # Liquidity positions Source: https://docs.defiorbit.xyz/recipes/lp-positions Read Uniswap V3, Aerodrome V3, and Orca LP positions for a wallet. Start with the summary. It returns counts only. Then list positions, then open one position by id. ## Uniswap V3 [Get Uniswap V3 Summary](/api-reference/uniswap-v3/summary) returns `total_active` and `total_inactive`. Pass `chain_id` to limit the count to one chain. ```bash theme={null} curl --location 'https://api.defiorbit.xyz/v1/positions/uniswapv3/summary?wallet=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045' \ --header 'Authorization: Bearer YOUR_API_KEY' ``` [List Uniswap V3 Positions](/api-reference/uniswap-v3/list) returns active positions by default (2 credits per returned position). `status=inactive` returns closed positions (1 credit per returned position). `full=true` returns the detailed payload for active positions (15 credits per returned position). The example wallet has open positions on Ethereum mainnet (`chain_id` `1`) and Base (`chain_id` `8453`), and closed positions on Ethereum mainnet. Use `token_id` and `chain_id` from the list. [Get Uniswap V3 Position](/api-reference/uniswap-v3/get) returns ticks, pool, tokens, and liquidity. `manager_address` is optional. ```bash theme={null} curl --location 'https://api.defiorbit.xyz/v1/positions/uniswapv3/1128633?chain_id=1' \ --header 'Authorization: Bearer YOUR_API_KEY' ``` ## Aerodrome V3 Same route shape, on Base only (`chain_id` `8453`). Start at [Get Aerodrome V3 Summary](/api-reference/aerodrome-v3/summary). ## Orca Solana whirlpool and DeFi Tuna positions. [Get Orca Summary](/api-reference/orca/summary) takes a Solana wallet. [Get Orca Position](/api-reference/orca/get) takes the position address. Pass `wallet` when the position is DeFi Tuna. Orca has no events, PnL, yield, or full route. # Get started Source: https://docs.defiorbit.xyz/recipes/mcp Connect an MCP client to the same API key, credits, and rate limit as a direct call. DeFi Orbit AI is the MCP server for the DeFi Orbit API: the same position data, exposed as read-only tools for Claude, Cursor, VS Code, and any MCP client. The dashboard MCP page is the source for the live server URL. The production value recorded for that URL is `https://mcp.orbitcontrol.xyz/mcp`. If the dashboard shows a different URL, use that one. Every tool call is billed and rate-limited the same way as a direct API call with that key. The tools are read-only. Prefer the header config. Use the query-parameter form when the client cannot send custom headers. Replace `` with an active key from [API Keys](https://platform.defiorbit.xyz/dashboard/keys). ```json theme={null} { "mcpServers": { "defiorbit": { "url": "https://mcp.orbitcontrol.xyz/mcp", "headers": { "Authorization": "Bearer " } } } } ``` ```json theme={null} { "mcpServers": { "defiorbit": { "url": "https://mcp.orbitcontrol.xyz/mcp?api_key=" } } } ``` ## Tools Tool names match the REST routes. A few that are easy to mix up: * `uniswapv3-snapshot` is the current health check. `uniswapv3-snapshots` is one row per UTC day. * `aavev3-list-positions` omits calculations. `aavev3-bundle` includes them. * `kamino-events` is obligation history with a nested snapshot. `kamino-snapshots` is the performance series. * `usage-credits` and `usage-logs` read the organization attached to the key. The server exposes 52 read-only tools across six protocols, plus portfolio and usage. The full list is on the dashboard MCP page, limited to tools that are turned on. # PnL, yield, and snapshots Source: https://docs.defiorbit.xyz/recipes/pnl-and-yield Choose the current health check, daily history, or the full position payload. Uniswap V3 and Aerodrome V3 expose three different reads. Use the smallest one that answers the question. | Need | Route | Credits | | - | - | - | | Current value, range, PnL, APR | [`.../:id/snapshot`](/api-reference/uniswap-v3/snapshot) | 5 | | PnL, impermanent loss, HODL, realized and unrealized | [`.../:id/pnl`](/api-reference/uniswap-v3/pnl) | 8 (4 if `status=inactive`) | | APR, fees, and rewards | [`.../:id/yield`](/api-reference/uniswap-v3/yield) | 8 (4 if `status=inactive`) | | One row per UTC day | [`.../:id/snapshots`](/api-reference/uniswap-v3/snapshots) | 2 | | Deposits, withdrawals, collections | [`.../:id/events`](/api-reference/uniswap-v3/events) | 1 | | State, events, PnL, fees, and APR together | [`.../:id/full`](/api-reference/uniswap-v3/full) | 15 (7 if `status=inactive`) | `full` is the heaviest call. Prefer snapshot, PnL, or yield when you only need one of those. How PnL, APR, and impermanent loss are calculated is on [Data methodology](/methodology). Aerodrome uses the same paths under `/v1/positions/aerodromev3`, and its yield includes AERO rewards. `granularity` on the full route accepts a comma-separated list: `hourly`, `daily`, `weekly`, `monthly`, `yearly`. There is no historical token-price series. Prices at each transaction are on `.../events`. USD value is amount times that price. Orca has no position-history or historical-performance endpoint. # Versioning Source: https://docs.defiorbit.xyz/versioning How the API evolves without breaking your integration. Every route lives under `/v1`. ## What can change without notice Additive changes are not breaking and can land at any time: * New fields in existing responses * New endpoints, query parameters, chains, and protocols * New error codes within the documented status families Build clients that ignore unknown fields and unknown enum values. ## What gets a new version Changes that would break a correct client — removing or renaming fields, changing types or semantics, retiring an endpoint — ship under a new version path. Deprecations are announced in the [changelog](/changelog) before the old behavior is retired. ## Machine-readable spec The full OpenAPI specification is served at [`/openapi.yaml`](https://docs.defiorbit.xyz/openapi.yaml) — the same file this reference is generated from. The docs also serve [`/llms.txt`](https://docs.defiorbit.xyz/llms.txt) for AI clients.