v1

latestOpenAPI 3.0.02026-07-2442138225.7 KB
Portfolio

Get positions

Retrieve active positions for a wallet address. Pass providerId or providerIds (one or more providers).

post/v1/positions

Request body

providerId'hyperliquid' | 'hyperliquid-xyz'

Single provider identifier. At least one of providerId or providerIds must be provided.

providerIdsstring[]

Filter by multiple providers (CSV, repeated query params, or JSON array). At least one of providerId or providerIds must be provided. When both providerId and providerIds are set, results include all listed providers.

addressstring required

User wallet address

Example request

{
  "providerId": "hyperliquid",
  "providerIds": [
    "hyperliquid",
    "hyperliquid-xyz"
  ],
  "address": "0x1234..."
}

Response

User positions

addressstring required

User wallet address

integrationIdstring required

Integration ID

network'ethereum' | 'ethereum-goerli' | 'ethereum-holesky' | 'ethereum-sepolia' | 'ethereum-hoodi' | 'arbitrum' | 'base' | 'base-sepolia' | 'gnosis' | 'optimism' | 'polygon' | 'polygon-amoy' | 'starknet' | 'zksync' | 'linea' | 'unichain' | 'monad-testnet' | 'monad' | 'robinhood' | 'robinhood-testnet' | 'avalanche-c' | 'avalanche-c-atomic' | 'avalanche-p' | 'binance' | 'celo' | 'fantom' | 'harmony' | 'moonriver' | 'okc' | 'viction' | 'core' | 'sonic' | 'plasma' | 'katana' | 'hyperevm' | 'tempo' | 'pharos' | 'agoric' | 'akash' | 'axelar' | 'band-protocol' | 'bitsong' | 'canto' | 'chihuahua' | 'comdex' | 'coreum' | 'cosmos' | 'crescent' | 'cronos' | 'cudos' | 'desmos' | 'dydx' | 'evmos' | 'fetch-ai' | 'gravity-bridge' | 'injective' | 'irisnet' | 'juno' | 'kava' | 'ki-network' | 'mars-protocol' | 'nym' | 'okex-chain' | 'onomy' | 'osmosis' | 'persistence' | 'quicksilver' | 'regen' | 'secret' | 'sentinel' | 'sommelier' | 'stafi' | 'stargaze' | 'stride' | 'teritori' | 'tgrade' | 'umee' | 'sei' | 'mantra' | 'celestia' | 'saga' | 'zetachain' | 'dymension' | 'humansai' | 'neutron' | 'polkadot' | 'kusama' | 'westend' | 'bittensor' | 'aptos' | 'binancebeacon' | 'cardano' | 'near' | 'solana' | 'solana-devnet' | 'stellar' | 'stellar-testnet' | 'sui' | 'tezos' | 'tron' | 'ton' | 'ton-testnet' | 'hyperliquid' required

Network

totalSuppliedUsdstring required

Total supplied value in USD (all supplied assets)

totalCollateralUsdstring required

Total collateral value in USD (only assets enabled as collateral)

totalBorrowedUsdstring required

Total borrowed value in USD

netWorthUsdstring required

Net worth (supplied - borrowed) in USD

healthFactorstring nullable required

Account-level health factor (>1 is safe, <1 means liquidatable). Null when there is no debt, and always null for isolated-market protocols (e.g. Morpho) — read each supply balance's positionState.healthFactor instead.

currentLtvstring required

Current loan-to-value ratio as decimal (e.g., "0.55" = 55%)

availableToBorrowUsdstring nullable required

Account-level available to borrow in USD based on collateral. Null for isolated-market protocols (e.g. Morpho), where headroom is per-market — read each supply balance's positionState.availableToBorrowUsd instead.

netApystring required

Net APY (supply earnings - borrow costs)

Example response

[
  {
    "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f8fB28",
    "integrationId": "aave-borrow",
    "network": "ethereum",
    "totalSuppliedUsd": "5000.00",
    "totalCollateralUsd": "4200.00",
    "totalBorrowedUsd": "2000.00",
    "netWorthUsd": "3000.00",
    "healthFactor": "1.85",
    "currentLtv": "0.55",
    "availableToBorrowUsd": "1500.00",
    "netApy": "2.34",
    "supplyBalances": [
      {
        "marketId": "aave-v3-ethereum-usdc",
        "tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
        "tokenSymbol": "USDC",
        "balance": "1000.00",
        "balanceRaw": "1000000000",
        "balanceUsd": "1000.00",
        "apy": "3.45",
        "isCollateral": true,
        "positionState": {
          "currentLtv": "0.1980",
          "liquidationThreshold": "0.8600",
          "healthFactor": "4.3430",
          "availableToBorrowUsd": "2.01"
        },
        "pendingActions": [
          {
            "type": "withdraw",
            "label": "Withdraw USDC",
            "args": {
              "amount": "1.5",
              "amountRaw": "1500000",
              "repayAll": true,
              "tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
              "collateralTokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
              "collateralAmount": "0.5",
              "collateralAmountRaw": "50000000",
              "borrowAmount": "100",
              "targetLtv": "0.1",
              "marketId": "morpho-blue-borrow-base-cbbtc-usdc-86"
            }
          }
        ]
      }
    ],
    "debtBalances": [
      {
        "marketId": "aave-v3-ethereum-weth",
        "tokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
        "tokenSymbol": "WETH",
        "balance": "0.5",
        "balanceRaw": "500000000000000000",
        "balanceUsd": "1500.00",
        "apy": "5.67",
        "pendingActions": [
          {
            "type": "withdraw",
            "label": "Withdraw USDC",
            "args": {
              "amount": "1.5",
              "amountRaw": "1500000",
              "repayAll": true,
              "tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
              "collateralTokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
              "collateralAmount": "0.5",
              "collateralAmountRaw": "50000000",
              "borrowAmount": "100",
              "targetLtv": "0.1",
              "marketId": "morpho-blue-borrow-base-cbbtc-usdc-86"
            }
          }
        ]
      }
    ]
  }
]