Skip to main content
GET
/
v1
/
positions
/
{address}
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.0xradar.app/v1/positions/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?protocols=aave_v3,uniswap_v3"
import httpx

url = "https://api.0xradar.app/v1/positions/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
params = {"protocols": "aave_v3,uniswap_v3"}
headers = {"X-API-Key": "YOUR_API_KEY"}

data = httpx.get(url, params=params, headers=headers).json()
print(data["total_supplied_usd"])
const address = "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045";
const res = await fetch(
  `https://api.0xradar.app/v1/positions/${address}?protocols=aave_v3,uniswap_v3`,
  { headers: { "X-API-Key": "YOUR_API_KEY" } }
);
const data = await res.json();
console.log(data.total_supplied_usd);
{
  "address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
  "protocols_requested": ["aave_v3", "uniswap_v3"],
  "total_supplied_usd": "42310.55",
  "total_borrowed_usd": "18000.00",
  "total_lp_value_usd": "9875.22",
  "positions": [
    {
      "protocol": "aave_v3",
      "chain": "ethereum",
      "type": "lending",
      "supplied": [
        {
          "symbol": "WETH",
          "amount": "15.25",
          "value_usd": "31440.73",
          "apy": "0.82"
        },
        {
          "symbol": "USDC",
          "amount": "10869.82",
          "value_usd": "10869.82",
          "apy": "4.51"
        }
      ],
      "borrowed": [
        {
          "symbol": "USDC",
          "amount": "18000.00",
          "value_usd": "18000.00",
          "apy": "5.22"
        }
      ],
      "health_factor": "2.35"
    },
    {
      "protocol": "uniswap_v3",
      "chain": "base",
      "type": "lp",
      "lp_positions": [
        {
          "token_id": 812043,
          "pool": "0x4c36388be6f416a29c8d8eee81c771ce6be14b18",
          "token0": "ETH",
          "token1": "USDC",
          "fee_tier": 500,
          "tick_lower": -202900,
          "tick_upper": -196400,
          "current_tick": -199820,
          "in_range": true,
          "value_usd": "5312.44",
          "uncollected_fees_usd": "47.18"
        },
        {
          "token_id": 934217,
          "pool": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640",
          "token0": "WBTC",
          "token1": "USDC",
          "fee_tier": 3000,
          "tick_lower": -65000,
          "tick_upper": -62000,
          "current_tick": -60100,
          "in_range": false,
          "value_usd": "4562.78",
          "uncollected_fees_usd": "183.52"
        }
      ]
    }
  ],
  "timestamp": "2026-05-28T09:15:00.000000"
}
Returns open DeFi positions across 5 major protocols on 6 EVM chains. Covers lending supply/borrow, liquidity pool positions (including out-of-range Uniswap V3 ranges), and collateral health.
Heavy endpoint. Each call fans out to multiple on-chain data sources simultaneously. Free tier is rate-limited to 5 requests/minute. Consider upgrading to Pro for higher throughput and historical snapshots.

Auth

X-API-Key header required.

Path parameters

address
string
required
EVM wallet address (42-character hex, checksum or lowercase).

Query parameters

protocols
string
Comma-separated list of protocols to fetch. Defaults to all supported protocols.Supported values: aave_v3, hyperlend, sentiment_v2, uniswap_v3, compound_v3

Supported chains

ethereum, arbitrum, base, optimism, polygon, hyperevm
HyperEVM is supported for HyperLend positions only. Solana is not supported by this endpoint.

Response fields

address
string
Queried wallet address (lowercased)
protocols_requested
string[]
Protocols included in this response
total_supplied_usd
string
Total USD value supplied across all protocols
total_borrowed_usd
string
Total USD value borrowed across all protocols
total_lp_value_usd
string
Total USD value of liquidity positions
positions
object
Per-protocol position breakdown.
timestamp
string
ISO 8601 timestamp of data fetch
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.0xradar.app/v1/positions/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?protocols=aave_v3,uniswap_v3"
import httpx

url = "https://api.0xradar.app/v1/positions/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
params = {"protocols": "aave_v3,uniswap_v3"}
headers = {"X-API-Key": "YOUR_API_KEY"}

data = httpx.get(url, params=params, headers=headers).json()
print(data["total_supplied_usd"])
const address = "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045";
const res = await fetch(
  `https://api.0xradar.app/v1/positions/${address}?protocols=aave_v3,uniswap_v3`,
  { headers: { "X-API-Key": "YOUR_API_KEY" } }
);
const data = await res.json();
console.log(data.total_supplied_usd);
{
  "address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
  "protocols_requested": ["aave_v3", "uniswap_v3"],
  "total_supplied_usd": "42310.55",
  "total_borrowed_usd": "18000.00",
  "total_lp_value_usd": "9875.22",
  "positions": [
    {
      "protocol": "aave_v3",
      "chain": "ethereum",
      "type": "lending",
      "supplied": [
        {
          "symbol": "WETH",
          "amount": "15.25",
          "value_usd": "31440.73",
          "apy": "0.82"
        },
        {
          "symbol": "USDC",
          "amount": "10869.82",
          "value_usd": "10869.82",
          "apy": "4.51"
        }
      ],
      "borrowed": [
        {
          "symbol": "USDC",
          "amount": "18000.00",
          "value_usd": "18000.00",
          "apy": "5.22"
        }
      ],
      "health_factor": "2.35"
    },
    {
      "protocol": "uniswap_v3",
      "chain": "base",
      "type": "lp",
      "lp_positions": [
        {
          "token_id": 812043,
          "pool": "0x4c36388be6f416a29c8d8eee81c771ce6be14b18",
          "token0": "ETH",
          "token1": "USDC",
          "fee_tier": 500,
          "tick_lower": -202900,
          "tick_upper": -196400,
          "current_tick": -199820,
          "in_range": true,
          "value_usd": "5312.44",
          "uncollected_fees_usd": "47.18"
        },
        {
          "token_id": 934217,
          "pool": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640",
          "token0": "WBTC",
          "token1": "USDC",
          "fee_tier": 3000,
          "tick_lower": -65000,
          "tick_upper": -62000,
          "current_tick": -60100,
          "in_range": false,
          "value_usd": "4562.78",
          "uncollected_fees_usd": "183.52"
        }
      ]
    }
  ],
  "timestamp": "2026-05-28T09:15:00.000000"
}

Out-of-range LP positions

When in_range: false on a Uniswap V3 position, the position has drifted outside its configured price range. It is no longer earning swap fees and is fully composed of one token. Use this signal to alert users to re-range or close stale positions.
Python — filter out-of-range
out_of_range = [
    pos
    for proto in data["positions"]
    if proto["type"] == "lp"
    for pos in proto.get("lp_positions", [])
    if not pos["in_range"]
]