DeepBookV3 Indexer
This documentation is for version 3 of DeepBook. For documentation on version 2 of DeepBook, see DeepBookV2 docs.
Some overview content here
Public DeepBook indexer
Mysten Labs provides a public indexer for DeepBook. You can access this indexer at the following URL:
https://deepbook-indexer.mainnet.mystenlabs.com/
Available endpoints
You can perform the following tasks using the endpoints the DeepBook Indexer API provides.
Get all pool information
/get_pools
Returns a list of all available pools, each containing detailed information about the base and quote assets, as well as pool parameters like minimum size, lot size, and tick size.
Response
[
{
“pool_id”: “string”,
“pool_name”: “string”,
“base_asset_id”: “string”,
“base_asset_decimals”: integer,
“base_asset_symbol”: “string”,
“base_asset_name”: “string”,
“quote_asset_id”: “string”,
“quote_asset_decimals”: integer,
“quote_asset_symbol”: “string”,
“quote_asset_name”: “string”,
“min_size”: integer,
“lot_size”: integer,
“tick_size”: integer
},
…
]
Each pool object in the response includes the following fields:
- pool_id: ID for the pool.
- pool_name: Name of the pool.
- base_asset_id: ID for the base asset.
- base_asset_decimals: Number of decimals for the base asset.
- base_asset_symbol: Symbol for the base asset.
- base_asset_name: Name of the base asset.
- quote_asset_id: ID for the quote asset.
- quote_asset_decimals: Number of decimals for the quote asset.
- quote_asset_symbol: Symbol for the quote asset.
- quote_asset_name: Name of the quote asset.
- min_size: Minimum trade size for the pool, in smallest units of the base asset.
- lot_size: Minimum increment for trades in this pool, in smallest units of the base asset.
- tick_size: Minimum price increment for trades in this pool.
Example
A successful request to the following endpoint
/get_pools
produces a response similar to
[
{
"pool_id": "0xb663828d6217467c8a1838a03793da896cbe745b150ebd57d82f814ca579fc22",
"pool_name": "DEEP_SUI",
"base_asset_id": "0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP",
"base_asset_decimals": 6,
"base_asset_symbol": "DEEP",
"base_asset_name": "DeepBook Token",
"quote_asset_id": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI",
"quote_asset_decimals": 9,
"quote_asset_symbol": "SUI",
"quote_asset_name": "Sui",
"min_size": 100000000,
"lot_size": 10000000,
"tick_size": 10000000
},
{
"pool_id": "0xf948981b806057580f91622417534f491da5f61aeaf33d0ed8e69fd5691c95ce",
"pool_name": "DEEP_USDC",
"base_asset_id": "0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP",
"base_asset_decimals": 6,
"base_asset_symbol": "DEEP",
"base_asset_name": "DeepBook Token",
"quote_asset_id": "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC",
"quote_asset_decimals": 6,
"quote_asset_symbol": "USDC",
"quote_asset_name": "USDC",
"min_size": 100000000,
"lot_size": 10000000,
"tick_size": 10000
}
]
Get historical volume for pool in a specific time range
/get_historical_volume/:pool_ids?start_time=<UNIX-TIMESTAMP>&end_time=<UNIX-TIMESTAMP>&volume_in_base=<BOOLEAN>
Use this endpoint to get historical volume for pools for a specific time range. Delimit the pool_ids
with commas, and use Unix timestamp seconds for start_time
and end_time
values.
By default, this endpoint retrieves the last 24-hour trading volume in the base asset for specified pools. If you want to query the quote asset instead, set volume_in_base
to false
.
Response
Returns the historical volume for each specified pool within the given time range.
{
“pool_id_1”: total_pool1_volume,
“pool_id_2”: total_pool2_volume,
...
}
Example
A successful request to the following endpoint
/get_historical_volume/0xb663828d6217467c8a1838a03793da896cbe745b150ebd57d82f814ca579fc22,0xf948981b806057580f91622417534f491da5f61aeaf33d0ed8e69fd5691c95ce?start_time=1731260703&end_time=1731692703&volume_in_base=true
produces a response similar to
{
"0xf948981b806057580f91622417534f491da5f61aeaf33d0ed8e69fd5691c95ce": 130000590000000,
"0xb663828d6217467c8a1838a03793da896cbe745b150ebd57d82f814ca579fc22": 22557460000000
}
Get historical volume by balance manager within a specific time range
/get_historical_volume_by_balance_manager_id/:pool_ids/:balance_manager_id?start_time=<UNIX-TIMESTAMP>&end_time=<UNIX-TIMESTAMP>&volume_in_base=<BOOLEAN>
Get historical volume by balance manager for a specific time range. Delimit the pool_ids
with commas, and use Unix timestamp seconds for start_time
and end_time
values.
By default, this endpoint retrieves the last 24-hour trading volume for the balance manager in the base asset for specified pools. If you want to query the quote asset instead, set volume_in_base
to false
.
Response
{
“pool_id_1”: [maker_volume, taker_volume],
“pool_id_2”: …
}
Example
A successful request to the following endpoint
/get_historical_volume_by_balance_manager_id/0xb663828d6217467c8a1838a03793da896cbe745b150ebd57d82f814ca579fc22,0xe05dafb5133bcffb8d59f4e12465dc0e9faeaa05e3e342a08fe135800e3e4407/0x344c2734b1d211bd15212bfb7847c66a3b18803f3f5ab00f5ff6f87b6fe6d27d?start_time=1731260703&end_time=1731692703&volume_in_base=true
produces a response similar to
{
"0xb663828d6217467c8a1838a03793da896cbe745b150ebd57d82f814ca579fc22": [
14207960000000,
3690000000
],
"0xe05dafb5133bcffb8d59f4e12465dc0e9faeaa05e3e342a08fe135800e3e4407": [
2089300100000000,
17349400000000
]
}
Get historical volume by balance manager within a specific time range and intervals
/get_historical_volume_by_balance_manager_id_with_interval/:pool_ids/:balance_manager_id?start_time=<UNIX-TIMESTAMP>&end_time=<UNIX-TIMESTAMP>&interval=<UNIX-TIMESTAMP>&volume_in_base=<BOOLEAN>
Get historical volume by BalanceManager
for a specific time range with intervals. Delimit pool_ids
with commas and use Unix timestamp seconds for start_time
and end_time
values. Use number of seconds for the interval
value. As a simplified interval example, if start_time
is 5, end_time
is 10, and interval
is 2, then the response includes volume from 5 to 7 and 7 to 9, with start time of the periods as keys.
By default, this endpoint retrieves the last 24-hour trading volume for the balance manager in the base asset for specified pools. If you want to query the quote asset instead, set volume_in_base
to false
.
Response
{
“time_1”: {
“pool_id_1”: [maker_volume, taker_volume],
“pool_id_2”: …
},
“time_2”: {
“pool_id_1”: [maker_volume, taker_volume],
“pool_id_2”: …
}
}
Example
A successful request to the following endpoint with an interval of 24 hours
/get_historical_volume_by_balance_manager_id_with_interval/0xb663828d6217467c8a1838a03793da896cbe745b150ebd57d82f814ca579fc22,0xe05dafb5133bcffb8d59f4e12465dc0e9faeaa05e3e342a08fe135800e3e4407/0x344c2734b1d211bd15212bfb7847c66a3b18803f3f5ab00f5ff6f87b6fe6d27d?start_time=1731460703&end_time=1731692703&interval=86400&volume_in_base=true
produces a response similar to
{
"[1731460703, 1731547103]": {
"0xb663828d6217467c8a1838a03793da896cbe745b150ebd57d82f814ca579fc22": [
703740000000,
0
],
"0xe05dafb5133bcffb8d59f4e12465dc0e9faeaa05e3e342a08fe135800e3e4407": [
505887400000000,
2051300000000
]
},
"[1731547103, 1731633503]": {
"0xe05dafb5133bcffb8d59f4e12465dc0e9faeaa05e3e342a08fe135800e3e4407": [
336777500000000,
470600000000
],
"0xb663828d6217467c8a1838a03793da896cbe745b150ebd57d82f814ca579fc22": [
2665470000000,
0
]
}
}