Price API Reference
The Price API provides access to historical price data for Cardano DeFi tokens and trading pairs across various decentralized exchanges (DEXs).
Base URL
/api/v1
Authentication
All endpoints require Bearer token authentication.
Authorization: Bearer YOUR_API_TOKEN
Get Historical Price Data
GET /history
Returns historical price data for a given symbol/trading pair.
Note: This endpoint will not return bars for time segments that have 0 volume. If no trading activity occurred in a given time interval, it will return empty arrays.
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
symbol | string | ✅ | The unique identifier for the symbol to get historical price data |
resolution | string | ✅ | Time resolution: 1min , 5min , 15min , 60min , 1d |
from | number | ✅ | Start time as Unix timestamp (seconds) |
to | number | ✅ | End time as Unix timestamp (seconds) |
include_tvl | boolean | ❌ | Include TVL data (denominated in first token units) |
Example Request
curl -X GET "https://api.charli3.io/api/v1/history?symbol=fa8dee6cf0627a82a2610019596758fc36c1ebc4b7e389fdabc44857fdf5c9b0e29ac56f1a584bccd487c445ad45383c6347d03d39869f759daad68284781723&resolution=60min&from=1735689600&to=1735776000" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Response Format
Successful Response:
{
"s": "ok",
"t": [1547942400, 1547942460, 1547942520],
"o": [3667, 3662.25, 3664.29],
"h": [3667.24, 3664.47, 3664.3],
"l": [3661.55, 3661.9, 3662.43],
"c": [3662.25, 3663.13, 3664.01],
"v": [34.7336, 2.4413, 11.7075],
"tvl": [103000.0, 100000.0, 100000.0]
}
Response Fields:
s
: Status ("ok"
for success,"error"
for failure)t
: Bar timestamps (Unix timestamps in UTC)o
: Open pricesh
: High pricesl
: Low pricesc
: Close pricesv
: Volume datatvl
: Total Value Locked (optional, ifinclude_tvl=true
)
Empty Response (No Data):
{
"s": "ok",
"t": [],
"o": [],
"h": [],
"l": [],
"c": [],
"v": []
}
Get Available Trading Pairs
GET /symbol_info
Returns information about available trading symbols/pairs for a specific DEX group.
Important: It’s not recommended to call this endpoint without specifying a group
parameter, as the response will be very large (17,000+ pools).
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
group | string | ✅ | DEX group name (e.g., MinswapV2 , SundaeSwap , Aggregate ) |
Example Request
curl -X GET "https://api.charli3.io/api/v1/symbol_info?group=MinswapV2" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Response Format
{
"s": "ok",
"symbol": ["ADA.SNEK_MinswapV2_Pool1", "ADA.DJED_MinswapV2_Pool2"],
"description": ["ADA/SNEK on MinswapV2", "ADA/DJED on MinswapV2"],
"currency": ["279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b", "8db269c3ec630e06ae29f74bc39edd1f87c819f1056206e879a1cd61446a65644d6963726f555344"],
"base-currency": ["", ""],
"exchange-listed": ["MinswapV2", "MinswapV2"],
"exchange-traded": ["MinswapV2", "MinswapV2"],
"ticker": ["fa8dee6cf0627a82a2610019596758fc36c1ebc4b7e389fdabc44857fdf5c9b0", "b752b73a8a38773b7499a6f9d516ecd14fb68e4c14b1e9a81cc8dac15e"],
"type": ["spot", "spot"],
"timezone": ["Etc/UTC", "Etc/UTC"],
"session-regular": ["24x7", "24x7"],
"pricescale": [100000, 1000000],
"minmovement": [1.0, 1.0],
"has-intraday": [true, true]
}
Get Available DEX Groups
GET /groups
Returns a list of all available DEX groups/protocols.
Example Request
curl -X GET "https://api.charli3.io/api/v1/groups" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Response Format
{
"s": "ok",
"d": {
"groups": [
{"id": "MinswapV2"},
{"id": "SundaeSwap"},
{"id": "Minswap"},
{"id": "Aggregate"}
]
}
}
Aggregate Price Data
When using the /groups
endpoint, there’s a special group called Aggregate
. This group provides aggregate price data across all pools on Cardano for a given trading pair.
Read more info about this feature here.
Example Usage
Refer to how-to guides in Use Cases section:
- How-to query price history.
- How-to query trading pairs info.
Error Responses
All endpoints may return error responses in the following format:
{
"s": "error",
"errmsg": "Error message describing what went wrong"
}
Rate Limiting
Please refer to your API plan for rate limiting information. Contact support if you need higher limits for your use case. If you don’t have a subscription yet choose the plan.