端点集成说明
基础 URL 为 https://www.blast.fun,每次调用均发送 X-Blast-Partner-Key。以下路由均接受 GET 和 HEAD。参见认证和限流。
打开交互式 API 参考,查看响应模式、JSON 示例,并在各端点旁发送真实请求。
路径占位符需要替换为实际值,不包含字面花括号。路径对象 ID 必须为小写 0x 后接恰好 64 个十六进制字符。币种类型格式为 0x<64 位小写十六进制>::module::Name;保留模块和类型名的大小写,并用 encodeURIComponent(coinType) 编码为单个路径段。
仅支持下列路由,不包括私有账户读取、访问者状态、白名单、交易构建器、管理路由、写入和直接访问索引器的 /v1 调用。有效密钥授权这些读取,与前端开放状态无关,不会解锁 Blast 网站。
预售与价格
跳转到“预售与价格”预售列表
跳转到“预售列表”GET /api/v1/presales
| 参数 | 取值及默认值 |
|---|---|
status |
live(默认)、upcoming、ended |
sort |
取决于 status,见下表 |
partner_id |
可选链上伙伴对象 ID:小写 0x 加 64 个十六进制字符 |
limit |
整数 1–50,默认 20 |
cursor |
上次响应中非 null 的 next_cursor |
verified_team |
可选,仅接受 true |
audited |
可选,仅接受 true |
| 状态 | 排序方式(第一个为默认) |
|---|---|
live |
ending、fastest、backed |
upcoming |
opening、interest |
ended |
recent、best、backed |
响应:{ presales, next_cursor, as_of }。每场预售是公开摘要,不含访问者个人认购及关注列表状态。分页时保持状态、排序、伙伴 ID 和信任过滤条件不变。next_cursor 为 null 时停止。每个已记录参数只能出现一次。
curl --fail-with-body --get 'https://www.blast.fun/api/v1/presales' \ -H "X-Blast-Partner-Key: $BLAST_PARTNER_KEY" \ --data-urlencode 'status=live' \ --data-urlencode 'sort=ending' \ --data-urlencode 'limit=20'只查询某伙伴的预售时,添加 partner_id。它是链上伙伴对象 ID,不是密钥账户名或钱包地址。过滤先于排序和分页。索引器观察到 PresaleOpened 事件后,该关联才可用。省略过滤条件将包含所有伙伴,未知 ID 返回空列表。此过滤不会改变密钥的读取权限。
将 PARTNER_ID 设为完整伙伴对象 ID:
curl --fail-with-body --get 'https://www.blast.fun/api/v1/presales' \ -H "X-Blast-Partner-Key: $BLAST_PARTNER_KEY" \ --data-urlencode "partner_id=$PARTNER_ID" \ --data-urlencode 'status=live' \ --data-urlencode 'limit=20'精选预售
跳转到“精选预售”GET /api/v1/presales/featured
无需查询参数。返回 { presales },即 Blast 排序后的开放或待开始精选预售。空列表合法,无分页。
预售详情
跳转到“预售详情”GET /api/v1/presales/{presaleId}
无需查询参数。返回 presale 及公开的 creator、quote_price、momentum、backers、theses、activity、raise、vesting、team_vesting、terms 和 as_of,也可能包含 buyer_vesting。必须显式处理可空字段,包括不可用的条款或价格数据。未知预售返回 404。
价格历史
跳转到“价格历史”GET /api/v1/prices
| 参数 | 取值及默认值 |
|---|---|
presale |
可重复的预售 ID,最多 50 个唯一 ID |
coin |
可重复的币种类型,最多 4 个唯一类型 |
window |
24h(默认)或 launch;launch 不能与 coin 同用 |
points |
整数 2–288,默认 60 |
至少提供一个 presale 或 coin。重复相同 ID/类型会去重。window 和 points 各只能出现一次。
响应:{ window, clock_ms, prices, as_of }。价格项包含 presale_id(币种查询时为 null)、coin_type、tier、from_ms、points、price_usd、price_24h_usd、change_24h_bps、day_open_usd 和 day_open_ms,部分还含 quote 价格序列。点为 [timestamp_ms, decimal_price_string],从旧到新排列。价格字段可为 null,无价格的请求项可能不出现在结果中。按 ID/类型匹配,不要按数组位置匹配。points 控制采样密度,还可能包含窗口边界观测值,因此不能假设输出长度固定。
将 PRESALE_ID 设为真实完整预售 ID:
curl --fail-with-body --get 'https://www.blast.fun/api/v1/prices' \ -H "X-Blast-Partner-Key: $BLAST_PARTNER_KEY" \ --data-urlencode "presale=$PRESALE_ID" \ --data-urlencode 'window=24h' \ --data-urlencode 'points=60'发现与搜索
跳转到“发现与搜索”这些路由返回分区状态。available 和 stale 含 data 与 provenance,stale 另含 reason。empty 表示读取成功但无结果,不含 data。unavailable 含 reason,可带 provenance 或 retryAfterSeconds,不含 data。
发现发行项目 · 即将开放
跳转到“发现发行项目 · 即将开放”GET /api/v1/discovery
| 参数 | 取值及默认值 |
|---|---|
view |
new(默认)、near_graduation、graduated |
limit |
整数 1–100,默认 25 |
cursor |
上一页的 section.data.nextCursor |
响应:{ view, section }。有数据时,section.data 含 rows 和 nextCursor。每行含 launchId、coinType、quoteType、lifecycle、name、symbol、iconUrl、createdAtMs、graduatedAtMs、quoteRemaining、quoteDecimals、progressBps 和 partner。元数据及进度字段可为 null。
分页时保持相同视图,游标为 null 或分区为 empty 时停止。不支持 hot 视图。未知或重复查询参数会被拒绝。
搜索
跳转到“搜索”GET /api/v1/search
| 参数 | 取值及默认值 |
|---|---|
q |
必填搜索文本,最多 200 个字符,必须包含可搜索文本 |
group |
可选:onchain、wallets、coins、theses |
limit |
每组整数 1–25,默认 5 |
cursor |
上次对应分组的 section.data.nextCursor;使用时必须提供 group |
省略 group 时搜索全部适用分组。地址查询可产生 onchain、wallets 和 coins,其他查询使用 coins,同时也搜索 theses(观点内容)。显式指定的分组必须适用于该查询。不指定分组的响应含标为不可用的 profiles 分区,但不能将 profiles 作为请求分组。
响应:{ groups },每项含 group 和 section。可读分区含 { items, nextCursor }。分页时保持相同 q 和 group。独立处理各组状态:部分结果可返回 200,所有请求组均不可用时返回 503。未知或重复查询参数会被拒绝。
行情数据
跳转到“行情数据”行情路由各自使用带 provenance 的 JSON 结构,拒绝未知或重复查询参数。请使用下方精确的必需 view 值。
行情状态
跳转到“行情状态”GET /api/v1/market/status
无查询参数。返回 checkpoint、timestamp_ms、lag_ms、cursor 和 provenance,描述已索引的行情检查点。读取成功不保证没有延迟;展示为当前数据前应检查新鲜度。
持币人快照 · 即将开放
跳转到“持币人快照 · 即将开放”GET /api/v1/market/coins/{coinType}/holders
| 参数 | 取值及默认值 |
|---|---|
view |
必填:snapshot |
limit |
整数 1–100,默认 25 |
cursor |
上一页非 null 的 next_cursor |
返回 coin、snapshot、holder_count、held_supply、top_1、top_10、holders、next_cursor 和 provenance。持币人行包含 address、balance 和 share_bps,先按余额降序,再按地址升序。
检查 snapshot.state:complete 表示完整快照,behind 表示过时,incomplete 表示包括 holders 和 next_cursor 在内的事实值为 null。null 不代表空持币人列表。holder_count 和余额是十进制字符串。分页期间余额可变化,应按地址去重。
发行活动 · 即将开放
跳转到“发行活动 · 即将开放”GET /api/v1/market/launches/{launchId}/activity
| 参数 | 取值及默认值 |
|---|---|
view |
必填:classified |
limit |
整数 1–100,默认 25 |
cursor |
上一页非 null 的 next_cursor |
返回 { activity, next_cursor, provenance }。各行含 position、checkpoint、timestamp_ms、digest、kind、source、actor、lifecycle 和 amounts。这是分类后的发行活动视图;交易平台兑换请使用下方池成交路由。分页时保持发行 ID 和视图不变。
曲线池概况 · 即将开放
跳转到“曲线池概况 · 即将开放”GET /api/v1/market/pools/blast_curve/{poolId}
无查询参数,曲线池 ID 即发行 ID。返回 { pool, candle, provenance },含曲线概况及按时间窗口统计的行情。此 Web API 不提供 cetus 或 bluefin 的普通池概况,对应请求返回 404。
池 K 线 · 即将开放
跳转到“池 K 线 · 即将开放”GET /api/v1/market/pools/{venue}/{poolId}/candles
交易平台取值:blast_curve、cetus、bluefin。
| 参数 | 取值及默认值 |
|---|---|
interval |
必填:1s、1m、5m、15m、1h、4h、1d、1w |
from |
可选,包含该时刻的 Unix 毫秒起点 |
to |
可选,不包含该时刻的 Unix 毫秒终点;同时提供两者时,必须大于 from |
limit |
整数 1–2,000,默认 500 |
返回 { interval, candles, migration, provenance }。K 线从旧到新排列,含 bucket_start、开高低收(OHLC)价格、成交量和成交笔数。migration 可为 null。每个池仅包含自身成交,不是合并的币种图表。
每页包含请求范围内最新的最多 limit 根 K 线。向更早的时间翻页时,将 to 设为本次最早 K 线的 bucket_start。数组为空时停止。时间缺口合法:没有成交的区间没有 K 线。不提供 to 时,结果可能包含当前尚未收盘的 K 线。
交易平台池成交记录 · 即将开放
跳转到“交易平台池成交记录 · 即将开放”GET /api/v1/market/pools/{venue}/{poolId}/trades
交易平台仅支持 cetus 和 bluefin。曲线活动请使用分类发行活动路由。
| 参数 | 取值及默认值 |
|---|---|
limit |
整数 1–200,默认 50 |
before |
上次最后一笔成交的 cursor,格式为冒号分隔的四个非负整数 |
返回 { trades, provenance },历史到达归档边界时还含 archived_before。成交从新到旧排列。向更早的时间翻页时,将最后一笔游标作为 before,只返回严格早于它的成交。空页或报告归档边界时停止。该游标不同于其他路由使用的不透明 cursor 令牌。
集成检查清单
跳转到“集成检查清单”使用完整规范路径 ID,保留十进制字符串,对查询值进行 URL 编码。将游标视为不透明令牌,保持原资源和过滤条件。展示数据前处理 null 和新鲜度状态。失败时遵循限流与错误,不要反复重试所有非 200 响应。