Hyperfolio API

Hyperfolio API is an onchain HyperEVM portfolio tracking API designed to support builder use cases.

Hyperfolio API

Base URL: https://api.hyperfolio.xyz


🔑 Authentication

All endpoints require an API key via the x-api-key header.

  • How to get an API key? Contact: [email protected]

  • Rate limits: We provide different plans (beta, standard, pro, admin). Contact us for details.


Get wallet composition for a given address or HL domain

get
Authorizations
x-api-keystringRequired

API key needed to access the endpoints

Query parameters
addressstringRequired

Wallet address or HL domain

Example: 0x32309802C8feb2306240893BD79A2E4ba5314e55
cachestring · enumOptional

Whether to use cache (default: true)

Possible values:
Responses
200

Wallet composition with cache metadata

application/json
get
/wallet/composition
GET /wallet/composition?address=0x32309802C8feb2306240893BD79A2E4ba5314e55 HTTP/1.1
Host: 
x-api-key: YOUR_API_KEY
Accept: */*
{
  "data": {
    "tokens": [
      {
        "address": "text",
        "balance": "text",
        "symbol": "text",
        "name": "text",
        "decimals": "text",
        "usdPrice": "text",
        "usdValue": "text",
        "image_url": "text",
        "type": "text"
      }
    ],
    "totalWalletValue": "text",
    "hypePrice": "text"
  },
  "cache": {
    "lastUpdate": "2024-01-15T10:30:00Z",
    "cacheAge": "5 minutes ago",
    "cacheAgeSeconds": 300,
    "source": "cache",
    "isStale": false
  }
}

Get all DeFi positions by protocol for a given address or HL domain

get
Authorizations
x-api-keystringRequired

API key needed to access the endpoints

Query parameters
addressstringRequired

The wallet address or HL domain to analyze

streambooleanOptional

Set to true to stream results as they become available

cachestring · enumOptional

Whether to use cache (default: true)

Possible values:
Responses
200

All DeFi positions by protocol

application/json
ResponseanyExample: {"protocols":[{"id":"hyperlend","name":"Hyperlend","logo":"/logos/hyperlend.png","url":"https://app.hyperlend.org","totalValueUSD":"1234.56","positions":[{"id":"hl-1","protocolId":"hyperlend","protocolName":"Hyperlend","type":"lending","positionType":"supplied","totalValueUSD":"123.45","healthRatio":1.23,"version":"v1","isIsolated":false,"details":{"token":{"address":"0x...","symbol":"HYPE","name":"HyperEVM","image_url":"/hype.png","decimals":18,"balance":"1000000000000000000","formattedBalance":"1.00","usdValue":"123.45"}}}]}]}
get
/positions
GET /positions?address=text HTTP/1.1
Host: 
x-api-key: YOUR_API_KEY
Accept: */*
{
  "protocols": [
    {
      "id": "hyperlend",
      "name": "Hyperlend",
      "logo": "/logos/hyperlend.png",
      "url": "https://app.hyperlend.org",
      "totalValueUSD": "1234.56",
      "positions": [
        {
          "id": "hl-1",
          "protocolId": "hyperlend",
          "protocolName": "Hyperlend",
          "type": "lending",
          "positionType": "supplied",
          "totalValueUSD": "123.45",
          "healthRatio": 1.23,
          "version": "v1",
          "isIsolated": false,
          "details": {
            "token": {
              "address": "0x...",
              "symbol": "HYPE",
              "name": "HyperEVM",
              "image_url": "/hype.png",
              "decimals": 18,
              "balance": "1000000000000000000",
              "formattedBalance": "1.00",
              "usdValue": "123.45"
            }
          }
        }
      ]
    }
  ]
}

Get positions for a specific protocol and address or HL domain

get
Authorizations
x-api-keystringRequired

API key needed to access the endpoints

Query parameters
walletAddressstringRequired

The wallet address or HL domain to analyze

protocolstring · enumRequired

The protocol to query.

Possible values:
cachestring · enumOptional

Whether to use cache (default: true)

Possible values:
Responses
200

Get positions for a specific protocol

application/json
Responseone of
anyOptionalExample: {"id":"hyperlend","name":"Hyperlend","logo":"/logos/hyperlend.png","url":"https://app.hyperlend.org","totalValueUSD":"1234.56","positions":[{"id":"hl-1","protocolId":"hyperlend","protocolName":"Hyperlend","type":"lending","positionType":"supplied","totalValueUSD":"123.45","healthRatio":1.23,"version":"v1","isIsolated":false,"details":{"token":{"address":"0x...","symbol":"HYPE","name":"HyperEVM","image_url":"/hype.png","decimals":18,"balance":"1000000000000000000","formattedBalance":"1.00","usdValue":"123.45"}}}]}
or
anyOptionalExample: {"id":"hyperswap_v3","name":"Hyperswap V3","logo":"/hyperswap.jpg","url":"https://app.hyperswap.exchange/#/swap?referral=HyperFolio","totalValueUSD":"456.78","positions":[{"id":"hyperswap_v3-1","protocolId":"hyperswap_v3","protocolName":"Hyperswap V3","type":"liquidity","positionType":"supplied","totalValueUSD":"456.78","version":"v3","details":{"pair":"HYPE/USDC","token0":{"address":"0x...","symbol":"HYPE","name":"HyperEVM","image_url":"/hype.png","decimals":18,"balance":"500000000000000000","formattedBalance":"0.5","usdValue":"61.72"},"token1":{"address":"0x...","symbol":"USDC","name":"USD Coin","image_url":"/usdc.png","decimals":6,"balance":"500000","formattedBalance":"0.5","usdValue":"61.73"},"feeTier":0.05,"uncollectedFees":{"token0":"0.01","token1":"0.02","usdValue":"0.03"}}}]}
or
anyOptionalExample: {"id":"hyperbeat","name":"Hyperbeat","logo":"/hyperbeat.png","url":"https://app.hyperbeat.org/","totalValueUSD":"789.01","positions":[{"id":"hyperbeat-hbhype","protocolId":"hyperbeat","protocolName":"Hyperbeat","type":"lending","positionType":"vault","totalValueUSD":"789.01","details":{"token":{"address":"0x...","symbol":"HBHYPE","name":"Hyperbeat HYPE","decimals":18,"balance":"1000000000000000000","formattedBalance":"1.00","usdValue":"789.01","image_url":"/hbhype.png"}}}]}
get
/positions/protocol
GET /positions/protocol?walletAddress=text&protocol=curve HTTP/1.1
Host: 
x-api-key: YOUR_API_KEY
Accept: */*
{
  "id": "hyperlend",
  "name": "Hyperlend",
  "logo": "/logos/hyperlend.png",
  "url": "https://app.hyperlend.org",
  "totalValueUSD": "1234.56",
  "positions": [
    {
      "id": "hl-1",
      "protocolId": "hyperlend",
      "protocolName": "Hyperlend",
      "type": "lending",
      "positionType": "supplied",
      "totalValueUSD": "123.45",
      "healthRatio": 1.23,
      "version": "v1",
      "isIsolated": false,
      "details": {
        "token": {
          "address": "0x...",
          "symbol": "HYPE",
          "name": "HyperEVM",
          "image_url": "/hype.png",
          "decimals": 18,
          "balance": "1000000000000000000",
          "formattedBalance": "1.00",
          "usdValue": "123.45"
        }
      }
    }
  ]
}

Stream all DeFi positions by protocol for a given address or HL domain

get

This endpoint uses Server-Sent Events (SSE) to stream position data in real-time. Instead of waiting for all protocols to complete, results are sent as soon as each protocol finishes processing.

**How it works:**
- Establishes a persistent SSE connection
- Sends protocol results immediately when available
- Provides progress updates throughout the process
- Handles errors gracefully without stopping the stream

**Response Format:**
Each SSE message contains a JSON object with the following structure:
- `type`: 'protocol' | 'error' | 'complete'
- `data`: Protocol position data (for 'protocol' type)
- `error`: Error message (for 'error' type)
- `progress`: { completed: number, total: number }

**Client Usage:**
```javascript
const eventSource = new EventSource('/positions/stream?address=0x...');
eventSource.onmessage = (event) => {
  const data = JSON.parse(event.data);
  // Handle different message types
};
```
Authorizations
x-api-keystringRequired

API key needed to access the endpoints

Query parameters
addressstringRequired

The wallet address or HL domain to analyze

Example: 0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6
cachestring · enumOptional

Whether to use cache (default: true)

Possible values:
Responses
200

Server-Sent Events stream of protocol positions

text/event-stream
ResponsestringExample: data: {"type":"protocol","data":{"id":"hyperlend","name":"Hyperlend","totalValueUSD":"1234.56","positions":[...]},"progress":{"completed":1,"total":14}} data: {"type":"error","error":"Error fetching HyperswapV3: Network timeout","progress":{"completed":2,"total":14}} data: {"type":"complete","progress":{"completed":14,"total":14}}
get
/positions/stream
GET /positions/stream?address=0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6 HTTP/1.1
Host: 
x-api-key: YOUR_API_KEY
Accept: */*
data: {"type":"protocol","data":{"id":"hyperlend","name":"Hyperlend","totalValueUSD":"1234.56","positions":[...]},"progress":{"completed":1,"total":14}}

data: {"type":"error","error":"Error fetching HyperswapV3: Network timeout","progress":{"completed":2,"total":14}}

data: {"type":"complete","progress":{"completed":14,"total":14}}

Get all user data including spot balances, perpetual positions, staking info and vaults

get
Authorizations
Path parameters
addressstringRequired

User wallet address or HL domain

Query parameters
cachestring · enumOptional

Whether to use cache (default: true)

Possible values:
Responses
200

All user data with cache metadata

application/json
get
/hypercore/user/{address}
GET /hypercore/user/{address} HTTP/1.1
Host: 
Accept: */*
{
  "data": {
    "spotBalances": [
      {
        "coin": "text",
        "total": "text",
        "usdPrice": "text",
        "usdValue": "text",
        "image_url": "text",
        "symbol": "text",
        "name": "text",
        "decimals": "text"
      }
    ],
    "perpPositions": {
      "positions": [
        {
          "type": "text",
          "position": {
            "coin": "text",
            "szi": "text",
            "leverage": {},
            "entryPx": "text",
            "positionValue": "text",
            "unrealizedPnl": "text",
            "returnOnEquity": "text",
            "liquidationPx": "text",
            "marginUsed": "text",
            "maxLeverage": 1,
            "cumFunding": {},
            "image_url": "text",
            "symbol": "text",
            "name": "text",
            "decimals": "text"
          }
        }
      ],
      "margin": {
        "usdcBalance": "text",
        "lastUpdate": 1
      }
    },
    "stakingInfo": {
      "totalHype": "text",
      "stakedHype": "text",
      "availableHype": "text",
      "delegations": [
        {
          "amount": "text",
          "usdValue": "text",
          "usdPrice": "text",
          "image_url": "text"
        }
      ],
      "delegatorSummary": {
        "totalStakedUsd": "text"
      },
      "usdPrice": "text",
      "image_url": "text",
      "lastUpdate": 1
    },
    "vaultInfo": {
      "vaults": [
        {
          "vaultAddress": "text",
          "equity": "text",
          "name": "text",
          "description": "text",
          "leader": "text",
          "apr": 1,
          "maxDistributable": "text",
          "maxWithdrawable": "text",
          "isClosed": true,
          "allowDeposits": true,
          "allTimePnl": "text",
          "pnl": "text",
          "lastUpdate": 1
        }
      ],
      "totalVaultValue": "text"
    },
    "portfolioSummary": {
      "totalValue": "text",
      "spotValue": "text",
      "perpValue": "text",
      "stakedValue": "text",
      "vaultValue": "text",
      "lastUpdate": 1
    }
  },
  "cache": {
    "lastUpdate": "2024-01-15T10:30:00Z",
    "cacheAge": "3 minutes ago",
    "cacheAgeSeconds": 180,
    "source": "cache",
    "isStale": false
  }
}

Get user spot balances

get
Authorizations
Path parameters
addressstringRequired

User wallet address or HL domain

Query parameters
cachestring · enumOptional

Whether to use cache (default: true)

Possible values:
Responses
200

Returns user spot balances

application/json
ResponseanyExample: [{"coin":"HYPE","token":1,"hold":"0.0","total":"1000.0","entryNtl":"0.0","usdPrice":"1.5","usdValue":"1500.0","image_url":"https://assets.coingecko.com/coins/images/1/large/bitcoin.png","symbol":"HYPE","name":"Hyperliquid","decimals":"18"},{"coin":"USDC","token":0,"hold":"0.0","total":"14.625485","entryNtl":"0.0","usdPrice":"1.0","usdValue":"14.625485","image_url":null,"symbol":"USDC","name":"USDC","decimals":"18"}]
get
/hypercore/user/{address}/spot
GET /hypercore/user/{address}/spot HTTP/1.1
Host: 
Accept: */*
[
  {
    "coin": "HYPE",
    "token": 1,
    "hold": "0.0",
    "total": "1000.0",
    "entryNtl": "0.0",
    "usdPrice": "1.5",
    "usdValue": "1500.0",
    "image_url": "https://assets.coingecko.com/coins/images/1/large/bitcoin.png",
    "symbol": "HYPE",
    "name": "Hyperliquid",
    "decimals": "18"
  },
  {
    "coin": "USDC",
    "token": 0,
    "hold": "0.0",
    "total": "14.625485",
    "entryNtl": "0.0",
    "usdPrice": "1.0",
    "usdValue": "14.625485",
    "image_url": null,
    "symbol": "USDC",
    "name": "USDC",
    "decimals": "18"
  }
]

Get user perpetual positions

get
Authorizations
Path parameters
addressstringRequired

User wallet address or HL domain

Query parameters
cachestring · enumOptional

Whether to use cache (default: true)

Possible values:
Responses
200

Returns user perpetual positions

application/json
ResponseanyExample: [{"position":{"coin":"ETH","cumFunding":{"allTime":"514.085417","sinceChange":"0.0","sinceOpen":"0.0"},"entryPx":"2986.3","leverage":{"rawUsd":"-95.059824","type":"isolated","value":20},"liquidationPx":"2866.26936529","marginUsed":"4.967826","maxLeverage":50,"positionValue":"100.02765","returnOnEquity":"-0.0026789","szi":"0.0335","unrealizedPnl":"-0.0134","usdPrice":"2986.3","usdValue":"298,680.89","image_url":null,"symbol":"ETH","name":"Ethereum","decimals":"18"},"type":"oneWay"}]
get
/hypercore/user/{address}/perp
GET /hypercore/user/{address}/perp HTTP/1.1
Host: 
Accept: */*
[
  {
    "position": {
      "coin": "ETH",
      "cumFunding": {
        "allTime": "514.085417",
        "sinceChange": "0.0",
        "sinceOpen": "0.0"
      },
      "entryPx": "2986.3",
      "leverage": {
        "rawUsd": "-95.059824",
        "type": "isolated",
        "value": 20
      },
      "liquidationPx": "2866.26936529",
      "marginUsed": "4.967826",
      "maxLeverage": 50,
      "positionValue": "100.02765",
      "returnOnEquity": "-0.0026789",
      "szi": "0.0335",
      "unrealizedPnl": "-0.0134",
      "usdPrice": "2986.3",
      "usdValue": "298,680.89",
      "image_url": null,
      "symbol": "ETH",
      "name": "Ethereum",
      "decimals": "18"
    },
    "type": "oneWay"
  }
]

Get detailed user staking information including delegations and rewards

get
Authorizations
Path parameters
addressstringRequired

User wallet address or HL domain

Query parameters
cachestring · enumOptional

Whether to use cache (default: true)

Possible values:
Responses
200

Returns detailed staking information

application/json
ResponseanyExample: {"totalHype":"1000.0","stakedHype":"500.0","availableHype":"500.0","delegations":[{"validator":"0x123...","amount":"300.0","rewards":"10.5","usdValue":"450.0","usdPrice":"1.5"},{"validator":"0x456...","amount":"200.0","rewards":"5.2","usdValue":"300.0","usdPrice":"1.5"}],"delegatorSummary":{"totalStaked":"500.0","totalStakedUsd":"750.0","totalRewardsUsd":"23.55","activeDelegations":2},"usdPrice":"1.5","lastUpdate":1749806600930}
get
/hypercore/user/{address}/staking
GET /hypercore/user/{address}/staking HTTP/1.1
Host: 
Accept: */*
{
  "totalHype": "1000.0",
  "stakedHype": "500.0",
  "availableHype": "500.0",
  "delegations": [
    {
      "validator": "0x123...",
      "amount": "300.0",
      "rewards": "10.5",
      "usdValue": "450.0",
      "usdPrice": "1.5"
    },
    {
      "validator": "0x456...",
      "amount": "200.0",
      "rewards": "5.2",
      "usdValue": "300.0",
      "usdPrice": "1.5"
    }
  ],
  "delegatorSummary": {
    "totalStaked": "500.0",
    "totalStakedUsd": "750.0",
    "totalRewardsUsd": "23.55",
    "activeDelegations": 2
  },
  "usdPrice": "1.5",
  "lastUpdate": 1749806600930
}

Get user vaults information

get
Authorizations
Path parameters
addressstringRequired

User wallet address or HL domain

Query parameters
cachestring · enumOptional

Whether to use cache (default: true)

Possible values:
Responses
200

Returns user vaults information

application/json
get
/hypercore/user/{address}/vaults
GET /hypercore/user/{address}/vaults HTTP/1.1
Host: 
Accept: */*
{
  "vaults": [
    {
      "vaultAddress": "text",
      "equity": "text",
      "name": "text",
      "description": "text",
      "leader": "text",
      "apr": 1,
      "maxDistributable": "text",
      "maxWithdrawable": "text",
      "isClosed": true,
      "allowDeposits": true,
      "allTimePnl": "text",
      "pnl": "text",
      "lastUpdate": 1
    }
  ],
  "totalVaultValue": "text"
}

Get NFTs for a wallet address or HL domain (paginated & sorted)

get

Retrieves all NFTs from DripTrade API. NFTs are sorted by price (highest first). Supports pagination and collection filtering. Results are cached for 2 hours.

Authorizations
x-api-keystringRequired

API key needed to access the endpoints

Query parameters
addressstringRequired

Wallet address or HL domain

pagenumberOptional

Page number (default: 1)

Example: 1
limitnumberOptional

Items per page (default: 50, max: 500)

Example: 50
collectionstringOptional

Filter by collection symbol, name, slug, or address (case-insensitive). Examples: "HYPIO", "Wealthy Hypio Babies", "hypio", "0x63eb9..."

Example: hypio
cachestring · enumOptional

Whether to use cache (default: true)

Possible values:
Responses
200

Paginated NFTs data with cache metadata

application/json
get
/nfts
GET /nfts?address=text HTTP/1.1
Host: 
x-api-key: YOUR_API_KEY
Accept: */*
{
  "data": {
    "nfts": [
      {
        "address": "0xBf7cE65e6E920052C11690a80EAa3ed2fE752Dd8",
        "name": "010.hype",
        "symbol": "HYPIO",
        "collection_name": "Wealthy Hypio Babies",
        "collection_slug": "hypio",
        "balance": "1",
        "token_id": "65084807413396182447316332603888639916399909478082813562872891519811917704330",
        "usdPrice": 4663.17,
        "fxPrice": 4663.17,
        "usdValue": 4663.17,
        "fxValue": 4663.17,
        "collection_image_url": "https://static.drip.trade/collections/dothype_pfp.jpeg",
        "image_url": "text",
        "floor_price": 0.1,
        "description": "A .hype identity on HyperEVM",
        "rarity_rank": "1478",
        "traits": [
          {}
        ],
        "type": "nft",
        "source": "drip-trade"
      }
    ],
    "pagination": {
      "page": 1,
      "limit": 50,
      "totalItems": 2566,
      "totalPages": 52,
      "hasNextPage": true,
      "hasPrevPage": false
    },
    "totalNftValue": 1,
    "whypeUsdPrice": 1
  },
  "cache": {
    "lastUpdate": "2024-01-15T10:30:00Z",
    "cacheAge": "30 minutes ago",
    "cacheAgeSeconds": 1800,
    "source": "cache",
    "isStale": false
  }
}

Get DeFi points by protocol for a wallet address or HL domain

get
Authorizations
x-api-keystringRequired

API key needed to access the endpoints

Query parameters
addressstringRequired

Wallet address or HL domain

cachestring · enumOptional

Whether to use cache (default: true)

Possible values:
protocolsanyOptional

Supported protocols: hyperbeat, kittenswap, hyperswap, hyperlend

Responses
200

DeFi points by protocol with cache metadata

application/json
get
/points
GET /points?address=text HTTP/1.1
Host: 
x-api-key: YOUR_API_KEY
Accept: */*
{
  "data": [
    {
      "protocolName": "text",
      "points": 1
    }
  ],
  "cache": {
    "lastUpdate": "2024-01-15T10:30:00Z",
    "cacheAge": "30 minutes ago",
    "cacheAgeSeconds": 1800,
    "source": "cache",
    "isStale": false
  }
}

Calculate vault yield for a user

get

Calculate the total yield earned by a user in a specific vault.

Cache Control:

  • Use cache=true (default) for fast cached results

  • Use cache=false to bypass cache and force fresh calculation (useful for debugging or real-time data)

Supported Vaults:

  • Midas Vaults: Oracle-based vaults (e.g., hbUSDT, hbXAUt, lstHYPE)

  • Upshift Vaults: ERC4626-based vaults with Supabase exchange rates

  • August Vaults: ERC4626-based vaults with Supabase exchange rates (e.g., hbHYPE)

Yield Calculation:

  • Midas: Uses oracle price feeds for historical share prices

  • Upshift/August: Uses Supabase exchange rates calculated from ERC4626 events

  • Both: Returns total yield, deposits, withdrawals, current position value, and period yields (7/30 days)

  • Method: FIFO (First In, First Out) with token price conversion

Authorizations
x-api-keystringRequired

API key needed to access the endpoints

Query parameters
vaultAddressstringRequired

Vault contract address (e.g., 0x5e105266db42f78fa814322bce7f388b4c2e61eb)

Example: 0x5e105266db42f78fa814322bce7f388b4c2e61eb
userstringRequired

User wallet address to calculate yield for

Example: 0x62865D9318ec2dd2717Ff9bFB81fa4dC7DFed7cC
actionstring · enumRequired

Action to perform (currently only yield calculation is supported)

Possible values:
cachestring · enumOptional

🚀 Cache Control: Use "false" to bypass cache and force fresh calculation. Use "clear" to clear cache first then recalculate. Use "true" (default) for faster cached results.

Default: truePossible values:
Responses
200

Earned yield calculation for the vault position

application/json
Responseone of
anyOptional

Successful yield calculation

Example: {"yield":{"totalYield":11.26,"totalAmountDeposited":738.45,"totalAmountWithdrawn":0,"currentPositionValue":752.46,"yield7Days":1.77,"yield30Days":8.67}}
or
anyOptional

User with no vault activity

Example: {"yield":{"totalYield":0,"totalAmountDeposited":0,"totalAmountWithdrawn":0,"currentPositionValue":0,"yield7Days":0,"yield30Days":0}}
get
/vaults
GET /vaults?vaultAddress=0x5e105266db42f78fa814322bce7f388b4c2e61eb&user=0x62865D9318ec2dd2717Ff9bFB81fa4dC7DFed7cC&action=yield HTTP/1.1
Host: 
x-api-key: YOUR_API_KEY
Accept: */*
{
  "yield": {
    "totalYield": 11.26,
    "totalAmountDeposited": 738.45,
    "totalAmountWithdrawn": 0,
    "currentPositionValue": 752.46,
    "yield7Days": 1.77,
    "yield30Days": 8.67
  }
}

Get user points from partner protocols

get

Retrieves accumulated points for a user across different partner protocols including Hyperbeat, Hyperlend, Upshift, Hyperswap, and others

Authorizations
x-api-keystringRequired

API key needed to access the endpoints

Query parameters
userstringRequired

User wallet address (0x format)

Example: 0xd048870caa5a3037f507583b4762a7598251a2fc
cachestring · enumOptional

Whether to use cache (default: true)

Possible values:
Responses
200

User points from partner protocols with cache metadata

application/json
get
/hyperbeat/points
GET /hyperbeat/points?user=0xd048870caa5a3037f507583b4762a7598251a2fc HTTP/1.1
Host: 
x-api-key: YOUR_API_KEY
Accept: */*
{
  "data": {
    "user": "text",
    "points": [
      {
        "address": "text",
        "provider": "text",
        "total_value": 1,
        "updated_at": 1,
        "vault_details": [
          {
            "vault_address": "text",
            "total_points": 1,
            "deposit_amount": 1,
            "deposit_amount_native": 1,
            "has_pending_rewards": true
          }
        ]
      }
    ],
    "total_points": 1
  },
  "cache": {
    "lastUpdate": "2024-01-15T10:30:00Z",
    "cacheAge": "10 minutes ago",
    "cacheAgeSeconds": 600,
    "source": "cache",
    "isStale": false
  }
}

Get comprehensive vault data with positions and volume metrics

get

Retrieve complete vault analytics including multi-timeframe APYs, hourly TVL history, oracle data, performance metrics, real-time position breakdowns, and delta neutral volume data. Position data includes combined Hyperliquid basis trades (spot+perp), net DeFi positions (supply-borrow), and filtered liability positions. Volume metrics include 24h spot/perp trading volumes, position values, and leverage data for delta neutral strategies. Optimized for real-time monitoring and historical analysis.

Authorizations
x-api-keystringRequired

API key needed to access the endpoints

Path parameters
addressstringRequired

Vault contract address

Example: 0x5e105266db42f78FA814322Bce7f388B4C2e61eb
Responses
200

Vault data retrieved successfully

application/json
get
/vault-infos/{address}
GET /vault-infos/{address} HTTP/1.1
Host: 
x-api-key: YOUR_API_KEY
Accept: */*
{
  "vaultInfo": {
    "address": "text",
    "symbol": "text",
    "name": "text",
    "provider": "text",
    "description": "text",
    "chain": "text",
    "chainId": 1,
    "coingeckoId": "text",
    "deployedBlock": 1,
    "type": "text",
    "oracle": "text",
    "tokenPriceOracle": "text"
  },
  "currentAPY": {
    "apy_1d": 12.8,
    "apy_3d": 14.1,
    "apy_7d": 15.42,
    "apy_30d": 16.7,
    "apy_since_launch": 18.3,
    "timestamp": 1704725400000,
    "lastUpdated": "2025-01-08T15:30:00.000Z"
  },
  "currentTVL": {
    "totalValueLocked": 1250000.42,
    "sharePrice": 1.0245,
    "timestamp": 1704725400000,
    "lastUpdated": "2025-01-08T15:30:00.000Z"
  },
  "currentVolume": {
    "spotVolume24h": 479.25,
    "perpVolume24h": 479.25,
    "totalVolume24h": 958.5,
    "perpValue": 25000,
    "spotValue": 25000,
    "idleValue": 5000,
    "shortLeverage": 2.15,
    "lastUpdated": "2025-01-08T15:30:00.000Z",
    "timestamp": 1704725400000
  },
  "currentPositions": {
    "summary": {
      "totalValue": 96770000,
      "count": 13,
      "lastUpdated": "2025-08-03T14:59:13.278221+00:00"
    },
    "breakdown": [
      {
        "protocol": "Hyperliquid",
        "position": "HYPE basis trade",
        "allocation": 39.78,
        "value": 39849326.11
      }
    ]
  },
  "history": {
    "fullAPYHistory": [
      {
        "date": "2025-01-08",
        "apy": 15.42,
        "apy_1d": 12.8,
        "apy_3d": 14.1,
        "apy_7d": 15.42,
        "apy_30d": 16.7,
        "apy_since_launch": 18.3,
        "timestamp": 1704725400
      }
    ],
    "apy1dChart": [
      {
        "date": "2025-01-08",
        "value": 12.8,
        "timestamp": 1704725400
      }
    ],
    "apy7dChart": [
      {
        "date": "2025-01-08",
        "value": 15.42,
        "timestamp": 1704725400
      }
    ],
    "tvlHistory": [
      {
        "date": "2025-01-08",
        "datetime": "2025-01-08T15:30:00.000Z",
        "total_value_locked": 1250000.42,
        "share_price": 1.0245,
        "timestamp": 1704725400,
        "created_at": "2025-01-08T15:30:15.000Z"
      }
    ],
    "exchangeRates": [
      {
        "data": 102450000,
        "round_id": 123456,
        "timestamp": 1704725400,
        "created_at": "2025-01-08T15:30:00.000Z"
      }
    ]
  },
  "configuration": {},
  "metadata": {
    "totalAPYRecords": 156,
    "totalTVLRecords": 2847,
    "totalExchangeRates": 35,
    "totalPositions": 13,
    "lastUpdated": "2025-01-08T15:30:00.000Z"
  }
}

🛡️ Security

  • All endpoints require the x-api-key header.

  • Keys are personal and rate-limited.

  • Never share your API key.


📖 Full API Reference

See the interactive documentation and all response examples at 👉 https://api.hyperfolio.xyz/docs


Contact: [email protected]


For more details on each endpoint, error codes, and advanced usage, refer to the Swagger UI.

Last updated