Skip to main content
POST
/
2
/
token
/
price-at
Get Token Price Snapshot (batch)
curl --request POST \
  --url https://demo-api.mobula.io/api/2/token/price-at \
  --header 'Content-Type: application/json' \
  --data '
[
  {
    "timestamp": 1,
    "blockchain": "<string>",
    "address": "<string>"
  }
]
'
{
  "payload": [
    {
      "priceUSD": 123,
      "timestamp": 123,
      "swapTimestamp": 123,
      "poolAddress": "<string>"
    }
  ]
}
Max 100 items per request. Each item requires its own timestamp.

Request Body

Send an array of items or an object with an items array:
{
  "items": [
    { "address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", "blockchain": "ethereum", "timestamp": 1700000000 },
    { "address": "So11111111111111111111111111111111111111112", "blockchain": "solana", "timestamp": 1700000000 }
  ]
}

Response Format

Returns a payload array matching the input order. Each entry contains:
FieldTypeDescription
priceUSDnumberToken price in USD at the closest swap
timestampnumberThe requested timestamp
swapTimestampnumberActual swap timestamp (ms) used for the price
poolAddressstringPool address where the swap was found
If a token is not found, the entry will contain { "error": "..." }.

Example Response

{
  "payload": [
    {
      "priceUSD": 2012.66,
      "timestamp": 1700000000,
      "swapTimestamp": 1699999997000,
      "poolAddress": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640"
    },
    {
      "priceUSD": 85.74,
      "timestamp": 1700000000,
      "swapTimestamp": 1699999999000,
      "poolAddress": "3nMFwZXwY1s1M5s8vYAHqd4wGs4iSxXE4LRoUMMYqEgF"
    }
  ]
}

Body

application/json
timestamp
integer
required
Required range: x > 0
blockchain
string
address
string

Response

200 - application/json

Token price-at batch response

payload
object · object · null[]
required