跳转到内容

端点集成说明

基础 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。

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 响应。