📗APIs

Requirement

The PiperX APIs provide a way to query PiperX standard (v2) and concentrated pools (v3) status. The below examples demonstrated how to query them. Note that PiperX API implemented CORS Policy. Therefore, if you want to use PiperX APIs from your deployed site (https://example.xyz), you need to contact PiperX team first to add your site.

DEX Stats

Get TVL and Volume of PiperX

Example query

curl https://piperxdb.piperxprotocol.workers.dev/api/piperxapi/tvl

Example output

{
  "dex": {
    "id": "piperx",
    "name": "PiperX",
    "totalVolumeUSD": "49432841143971", // decimal 6 for USD
    "totalVolumeNative": "15038256415533119426220899", // decimal 18 for native token
    "tvlUSD": "6979210444605",
    "tvlNative": "1034401251952740102208458"
  }
}

Recent Transactions

Recent swap transactions on a list of pools

Example query

curl -X POST \
-H "Content-Type: application/json"
-d '{"pairAddresses": ["0x4a170A20Dd1ff838C99d49Ac18b517a339206E83"]}'
https://piperxdb.piperxprotocol.workers.dev/api/piperxapi/recentSwaps

Example output

{
  "tokenSwaps": [
    {
      "timestamp": "1740996085000000",
      "token0Amount": "29425453054133087415",
      "token1Amount": "200000000",
      "zeroForOne": false,
      "amountUSD": "200000000", // decimal 6 for USD
      "account": {
        "id": "0xd49eeafa6bdbcc551f462c5a582959a9b7a2efdb"
      }
    },
    {
      "timestamp": "1740996059000000",
      "token0Amount": "10005484788346883",
      "token1Amount": "67988",
      "zeroForOne": false,
      "amountUSD": "67988",
      "account": {
        "id": "0x7e093ba1474b79481f9b87d66c99a819f25e82e2"
      }
    }]
}

Get All Tokens

Fetch all tokens and their price on PiperX V2 and V3 pool, including those tokens without transactions (price = 0)

Example query

curl https://piperxdb.piperxprotocol.workers.dev/api/piperxapi/getAllTokens

Example output

{
  "tokens": [
    {
      "id": "0x0149d87e919967148b18b09f3ef6fd87ad55ad6f",
      "name": "Test",
      "symbol": "TESTT",
      "decimals": 18,
      "latestPriceUSD": "0", // token without any transactions
      "latestPriceNative": "0"
    },
    {
      "id": "0x1514000000000000000000000000000000000000",
      "name": "Wrapped IP",
      "symbol": "WIP",
      "decimals": 18,
      "latestPriceUSD": "6757786", // to convert to real price, use latestPriceUSD /1e(24-decimals), i.e., 1 IP = 6.7577 USD
      "latestPriceNative": "1000000000000000000" // to convert to real price, use latestPriceNative /1e(36-decimals), i.e., 1 IP = 1 IP
    }
}

Token Historical Prices

Fetch a list of tokens' historical price

Example query

curl -X POST \
-H "Content-Type: application/json" 
-d '{"addresses": ["0x1514000000000000000000000000000000000000"]}' 
https://piperxdb.piperxprotocol.workers.dev/api/piperxapi/getAllTokenPrices

Example output

{
  "tokens": {
    "0x1514000000000000000000000000000000000000": {
      "symbol": "WIP",
      "now": "6750764", // to convert to real price, use latestPriceUSD /1e(24-decimals), i.e., 1 IP = 6.7507 USD
      "1h": "6791570",
      "2h": "6550901",
      "3h": "6486282",
      "4h": "6383945",
      "5h": "6633336",
      "6h": "6615643",
      "7h": "6405588",
      "8h": "6318354",
      "9h": "6235073",
      "10h": "6025256",
      "11h": "6211376",
      "12h": "6141735",
      "13h": "5987886",
      "14h": "6007658",
      "15h": "6231028",
      "16h": "6081970",
      "17h": "6185649",
      "18h": "6038601",
      "19h": "6071700",
      "20h": "6223667",
      "21h": "6296334",
      "22h": "6224512",
      "23h": "5875464",
      "24h": "5743224",
      "1d": "6211376",
      "2d": "5172550",
      "3d": "5522474",
      "4d": "5647480",
      "5d": "7037623",
      "6d": "5719907",
      "7d": "4506535"
    }
  },
  "timestamp": 1740996939976
}

Last updated