Skip to main content
Send your API key via the X-API-Key header. See Authentication.

Overview

Return a wallet’s current DeFi positions across every supported protocol (Uniswap, Aave, Euler, Morpho, Curvance, Pendle), grouped by protocol with per-position and total USD valuations. Positions are derived from on-chain state.
This is a point-in-time snapshot. For transaction history (deposits and withdrawals over time) use Wallet Activity.

Endpoint

curl -X GET "https://earn.turtle.xyz/v1/wallet/0xe84ef330b7b5c02fb3fbe05f2a31cb331c2b874c/portfolio" \
  -H "X-API-Key: pk_live_xxxxx"
Path Parameters
address
string
required
EVM wallet address.
Response
{
  "total_stats": {
    "asset_usd_value": "50000.00",
    "debt_usd_value": "0.00",
    "net_usd_value": "50000.00"
  },
  "protocols": [
    {
      "id": "morpho",
      "name": "Morpho",
      "site_url": "https://morpho.org",
      "logo_url": "https://...",
      "stats": { "asset_usd_value": "50000.00", "debt_usd_value": "0.00", "net_usd_value": "50000.00" },
      "portfolio_item_list": [
        {
          "type": "yield",
          "name": "Gauntlet USDC Core",
          "detail": {
            "supply_token_list": [
              { "address": "0xa0b8...eb48", "chain": "1", "symbol": "USDC", "name": "USD Coin", "decimals": 6, "amount": "50000.0", "price": "1.00", "logo_url": "https://..." }
            ]
          },
          "stats": { "asset_usd_value": "50000.00", "debt_usd_value": "0.00", "net_usd_value": "50000.00" },
          "pool": { "id": "0x...", "chain": "1" }
        }
      ]
    }
  ]
}
total_stats
object
Wallet-wide totals across all protocols: asset_usd_value, debt_usd_value, net_usd_value.
protocols
array
One entry per protocol the wallet holds positions in.
protocols[].id
string
Protocol slug (e.g. morpho, aave3, uniswap3).
protocols[].stats
object
Protocol-level USD totals (asset_usd_value, debt_usd_value, net_usd_value).
protocols[].portfolio_item_list
array
Individual positions within the protocol.
protocols[].portfolio_item_list[].type
string
Position type: yield, lending, collateral, or liquidity.
protocols[].portfolio_item_list[].detail
object
Token lists for the position: supply_token_list, and where relevant borrow_token_list / reward_token_list. Each token carries address, chain, symbol, name, decimals, amount, price, logo_url.
protocols[].portfolio_item_list[].pool
object
Pool / vault identifier for the position: id (contract address) and chain.