加密貨幣 API 參考文件
加密貨幣交易對的價格與歷史資料
概覽
加密貨幣交易對的價格與歷史價格。每個請求都需要 Bearer 金鑰,REST 與 MCP 共用同一個額度餘額。
交易對 id 由幣種、連字號與計價幣別組成,例如 BTC-USD 或 ETH-EUR。大小寫皆可,也接受以斜線取代連字號。每個回應都會附上標準交易對。計價幣別為 USD、EUR 與 GBP。價格是最多 8 位有效數字的十進位字串。
加密貨幣全天候交易,因此沒有交易時段。價格超過 5 分鐘未更新即為過時。
基礎網址: https:/。 MCP 工具是 crypto, with one action ,適用於下列每個路由。
每個帳戶都能取得的內容
| 費用 | 所有帳戶 |
|---|---|
| 最新價格 | 在線 |
| 24 小時漲跌 | 已包含 |
| 日線柱狀數據 | 完整歷史資料 |
| 1 分鐘 K 線 | 已包含 |
| 交易對清單 | 已包含 |
查看 定價 說明每次呼叫的費用。除非路由另有說明,請求依其所屬 API 的價格計費。
- 加密貨幣沒有成交量。價格與 K 線都不含成交量欄位。
- 日 K 線涵蓋一個 UTC 日,於 00:00 UTC 出現。當日尚未完成的 K 線不會顯示。
- 交易對清單包含我們提供報價的交易對。交易對在每 30 秒至少成交一次時列入,低於每 2 分鐘一次時移除。
端點
每個路由都是 GET 請求,並需要將你的金鑰放在以下請求標頭中: Authorization: Bearer 標頭。範例僅展示回應的結構,並非即時資料。
提供報價的加密貨幣交易對
GET /v1/crypto/pairs
我們提供報價的所有交易對,依交易對排序(BTC-USD 格式)。可選用 quote(USD、EUR 或 GBP)。交易對在每 30 秒至少成交一次時列入,低於每 2 分鐘一次時移除。資料來自我們自己的交易對清單,所有帳號皆可使用,計為一次呼叫。
MCP:工具 crypto, action pairs。
參數
| 參數 | 位置 | 必填 | 類型 | 含義 |
|---|---|---|---|---|
quote | query | 否 | USD、EUR、GBP 擇一 | 僅限以此幣別計價的交易對(USD、EUR 或 GBP)。 |
回應欄位
| 欄位 | 類型 | 傳送 | 含義 |
|---|---|---|---|
pairs | 物件陣列 | 固定回傳 | 我們提供報價的所有交易對,依交易對排序。交易對在每 30 秒至少成交一次時列入,低於每 2 分鐘一次時移除。 |
pairs[].pair | 字串 | 固定回傳 | 標準交易對,例如 BTC-USD。 |
pairs[].base | 字串 | 固定回傳 | 幣種代號。 |
pairs[].quote | 字串 | 固定回傳 | 報價貨幣。 |
pairs[].name | 字串 | 固定回傳 | 幣種名稱。 |
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
"https://api.narwhalapi.com/v1/crypto/pairs?quote=USD"{
"pairs": [
{
"pair": "BTC-USD",
"base": "BTC",
"quote": "USD",
"name": "Bitcoin"
},
{
"pair": "ETH-EUR",
"base": "ETH",
"quote": "EUR",
"name": "Ethereum"
}
]
}單一加密貨幣交易對的最新價格
GET /v1/crypto/{pair}/price
交易對的最新綜合價格,並附 24 小時漲跌(未知時省略)。加密貨幣全天候交易,因此沒有交易時段;價格超過 5 分鐘未更新時,stale 為 true。change_ 以百分比表示。
MCP:工具 crypto, action price。
參數
| 參數 | 位置 | 必填 | 類型 | 含義 |
|---|---|---|---|---|
pair | path | 是 | 字串 | 加密貨幣交易對:幣種、連字號與計價幣別,例如 BTC-USD 或 ETH-EUR。大小寫皆可;接受以斜線取代連字號。回應會附上標準交易對。 |
回應欄位
| 欄位 | 類型 | 傳送 | 含義 |
|---|---|---|---|
pair | 字串 | 固定回傳 | 標準交易對。 |
base | 字串 | 固定回傳 | 幣種代號。 |
quote | 字串 | 固定回傳 | 計價幣別;所有價格都以此幣別表示。 |
price | 字串 | 固定回傳 | 最新成交價,最多 8 位有效數字。 |
change_ | 字串 | 選填 | price 減去 24 小時前的價格,由以百分比表示的 24 小時漲跌換算而來。未知時省略。 |
change_ | 字串 | 選填 | 以百分比表示的 24 小時漲跌(1.5 代表 1.5%)。與 change_ 一併省略。 |
timestamp | 日期時間 | 固定回傳 | 價格有效的時間(UTC,精確到秒)。 |
stale | 布林值 | 固定回傳 | 價格超過 5 分鐘未更新,或無法更新時為 true。 |
delayed | 一律為 true | 選填 | 不會回傳:所有帳號的價格皆為即時。 |
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
"https://api.narwhalapi.com/v1/crypto/BTC-USD/price"{
"pair": "BTC-USD",
"base": "BTC",
"quote": "USD",
"price": "68250.5",
"change_24h": "812.4",
"change_24h_percent": "1.2",
"timestamp": "2026-10-26T15:42:00Z",
"stale": false
}最多 50 個加密貨幣交易對的最新價格
GET /v1/crypto/prices
所列每個交易對的最新價格。每個回傳價格的交易對計為一次呼叫,並一次性扣款:若餘額不足以支付已解析的交易對,整個請求會以 402 insufficient_credits 拒絕。未回傳價格的交易對會列在 errors(以 id 表示),不收費。change_ 以百分比表示。
最多可傳送 50 個交易對。批次一次性扣款:若餘額不足以支付可解析的交易對,整個請求會回傳 402 insufficient_credits。
MCP:工具 crypto, action prices。
參數
| 參數 | 位置 | 必填 | 類型 | 含義 |
|---|---|---|---|---|
pairs | query | 是 | 字串 | 以逗號分隔的交易對,去除重複後最多 50 個。每個交易對的規則與單一價格路由相同。每個回傳價格的交易對計為一次呼叫。 |
回應欄位
| 欄位 | 類型 | 傳送 | 含義 |
|---|---|---|---|
prices | 物件陣列 | 固定回傳 | 每個已解析的交易對各有一筆價格,依交易對排序。 |
prices[].pair | 字串 | 固定回傳 | 標準交易對。 |
prices[].base | 字串 | 固定回傳 | 幣種代號。 |
prices[].quote | 字串 | 固定回傳 | 計價幣別;所有價格都以此幣別表示。 |
prices[].price | 字串 | 固定回傳 | 最新成交價,最多 8 位有效數字。 |
prices[].change_ | 字串 | 選填 | price 減去 24 小時前的價格,由以百分比表示的 24 小時漲跌換算而來。未知時省略。 |
prices[].change_ | 字串 | 選填 | 以百分比表示的 24 小時漲跌(1.5 代表 1.5%)。與 change_ 一併省略。 |
prices[].timestamp | 日期時間 | 固定回傳 | 價格有效的時間(UTC,精確到秒)。 |
prices[].stale | 布林值 | 固定回傳 | 價格超過 5 分鐘未更新,或無法更新時為 true。 |
prices[].delayed | 一律為 true | 選填 | 不會回傳:所有帳號的價格皆為即時。 |
errors | 物件陣列 | 固定回傳 | 未回傳價格的交易對。不收費。 |
errors[].id | 字串 | 固定回傳 | 請求時傳入的 ID。 |
errors[].code | 下列其一:not_found、not_covered、upstream_busy | 固定回傳 | not_found:沒有這個標的。not_covered:該交易所尚無價格。upstream_busy:目前無法取得價格,請稍後再試。 |
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
"https://api.narwhalapi.com/v1/crypto/prices?pairs=BTC-USD,ETH-USD"{
"prices": [
{
"pair": "BTC-USD",
"base": "BTC",
"quote": "USD",
"price": "68250.5",
"change_24h": "812.4",
"change_24h_percent": "1.2",
"timestamp": "2026-10-26T15:42:00Z",
"stale": false
}
],
"errors": [
{
"id": "XYZ-USD",
"code": "not_found"
}
]
}單一加密貨幣交易對的價格 K 線
GET /v1/crypto/{pair}/bars
日(1d,一個 UTC 日,於 00:00 UTC 收盤)或一分鐘(1m)K 線,由舊到新排列。某日的 K 線在 00:00 UTC 產生;當日尚未完成的 K 線不會顯示。歷史資料:全部,所有帳號皆可取得。每頁最多 5,000 根 K 線,並附 next_;游標與價格不再相符時會回傳 409 cursor_expired。每頁計為一次呼叫。
若游標所對應的價格有變動,游標會失效並回傳 409 cursor_expired。
MCP:工具 crypto, action bars。
參數
| 參數 | 位置 | 必填 | 類型 | 含義 |
|---|---|---|---|---|
pair | path | 是 | 字串 | 加密貨幣交易對:幣種、連字號與計價幣別,例如 BTC-USD 或 ETH-EUR。大小寫皆可;接受以斜線取代連字號。回應會附上標準交易對。 |
interval | query | 否 | 下列其一:1d、1m | 1d(每個 UTC 日一根 K 線,於 00:00 UTC 收盤)或 1m(一分鐘 K 線)。其他值會回傳 400 invalid_interval。 |
start | query | 否 | 字串 | 第一根 K 線。1d:日期(YYYY-MM-DD),含該日;省略時為最舊的一根。1m:UTC 時間(YYYY-MM-DDTHH:MM:SSZ,或以日期代表 UTC 00:00),含該時間;省略時為 end 的前一天。 |
end | query | 否 | 字串 | 最後一根 K 線。1d:日期,含當日;省略表示最近一個已完成的日子。1m:UTC 時間,不含;省略表示現在,或 start 之後五天。1m 的 start 與 end 最多相隔 5 天(400 range_too_large)。 |
cursor | query | 否 | 字串 | 上一頁的 next_,且參數須與前次相同。 |
回應欄位
| 欄位 | 類型 | 傳送 | 含義 |
|---|---|---|---|
pair | 字串 | 固定回傳 | 標準交易對。 |
start | 字串 | 選填 | 不會回傳:start 不會被調整。 |
end | 字串 | 選填 | 不會回傳:日 K 線不會被截斷。 |
bars | 物件陣列 | 固定回傳 | 每頁最多 5,000 根 K 線。 |
bars[].timestamp | 日期時間 | 固定回傳 | K 線所屬期間的起點(UTC):日 K 線為 00:00,一分鐘 K 線為該分鐘。 |
bars[].open | 字串 | 固定回傳 | 期間的第一個價格。 |
bars[].high | 字串 | 固定回傳 | 期間的最高價。 |
bars[].low | 字串 | 固定回傳 | 期間的最低價。 |
bars[].close | 字串 | 固定回傳 | 期間的最後價格。 |
next_ | 字串 | 固定回傳 | 傳回此值即可讀取下一頁。最後一頁為 null。 |
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
"https://api.narwhalapi.com/v1/crypto/BTC-USD/bars?interval=1d&start=2026-10-01"{
"pair": "BTC-USD",
"bars": [
{
"timestamp": "2026-10-25T00:00:00Z",
"open": "67210.3",
"high": "68540.9",
"low": "66980.1",
"close": "68100.2"
}
],
"next_cursor": null
}錯誤
錯誤使用共用的問題格式,並包含 request_。查看 API 錯誤 處理:錯誤碼、額度與重試 了解格式與額度標頭。失敗的請求不計費。
| 代碼 | 狀態 | 含義 |
|---|---|---|
invalid_ | 400 | 參數缺漏、未知、重複,或超出範圍。 |
invalid_ | 400 | id 或交易對的寫法不符合此 API 的要求。 |
too_ | 400 | 批次包含超過 50 個 id。 |
invalid_ | 400 | 間隔不是 1d 或 1m,或此商品不支援該間隔。 |
range_ | 400 | 區間超過此路由允許的長度。 |
not_ | 404 | 沒有此標的、基金或交易對。 |
invalid_ | 400 | 此游標不是這個請求所回傳的,或來自不同的請求。 |
cursor_ | 409 | 游標所對應的價格已變動。請不帶游標重新開始。 |
insufficient_ | 402 | 您的額度餘額不足以支付此請求的費用。 |
upstream_ | 503 | 目前無法取得價格。在批次中會列在 errors。請稍後再試。 |
area_ | 503 | 此區域目前無法回應。 |
此頁面對你有幫助嗎?