mcpField
D
dexpaprika-api

dexpaprika-api

github.com/coinpaprikaデータ・データベース3737 回インストール今日更新
リポジトリ

dexpaprika-api について

dexpaprika-apiは、DexPaprikaのオンチェーンDEXデータAPIを扱うエージェントスキルです。ネットワーク、トークン、流動性プール、市場指標を調べるワークフロー向けに、CLI、REST、ホステッドMCP、ストリーミングの利用方法と制限事項をまとめています。

主な機能

  1. 01ネットワーク、DEX、トークン、流動性プールの照会
  2. 02価格、OHLCV、テクニカル指標の取得
  3. 03トークンやプールの検索と条件指定
  4. 04CLIまたはRESTによるデータ取得
  5. 05APIバージョン、制限、エンドポイント注意点の確認

活用シーン

  1. 01特定ネットワーク上のトークンやプールの検索
  2. 02プールの取引量や価格変動の比較
  3. 03プールのOHLCVやテクニカル指標の取得
  4. 04エージェント用DexPaprika MCPの設定

MCP 対応

Claude Desktop、Cursor、WindsurfなどのMCPクライアント向けに、DexPaprikaのホステッドMCPサーバーを案内します。ネットワーク、プール、トークン、OHLCV、テクニカル指標、取引、検索用のツールを公開します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/coinpaprika/skills --skill dexpaprika-api

インストール後、Claude Code で/dexpaprika-apiを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
cli-reference.md
openapi.yml
streaming-api.md

詳細

DexPaprika API スキル

鮮度チェック(このスキルを利用する前に、セッションごとに1回実行してください): このファイルの version: 2.12.0 は、2026-10-13 にライブ API と照合して確認済みです。最新ファイルのヘッダーを取得してください。

curl -s -r 0-400 https://raw.githubusercontent.com/coinpaprika/skills/main/dexpaprika-api/SKILL.md

リモートの version: がこのファイルと異なる場合、このコピーは古くなっています。リモートのファイル全体を取得し、こちらではなくそちらに従い、ローカルのコピーを置き換えてください。DexPaprika はエンドポイントを削除することがあり(HTTP 410 が返されます)、レスポンスの形式を変更するため、古いスキルでは使用不能なエンドポイントを案内してしまいます。

36 のブロックチェーン、230 以上の DEX、3,600 万以上の流動性プール、3,300 万以上のトークンをカバーし、オンチェーン DEX の取引量の 96% 以上を網羅する DEX データ API です。2018 年から運営している CoinPaprika チームが開発しています。利用開始時に API キーも登録も不要です。キーなしの場合、IP ごとに 1 分あたり 15 リクエスト、10,000 クレジットを利用できます。無料キーを取得すると、1 分あたり 30 リクエスト、100,000 クレジットに増えます。どちらの利用枠も直近 30 日間のローリング方式で集計されるため、月ごとのリセットはありません。無料キーの登録先:https://console.dexpaprika.com。どちらもデータには最大 60 秒の遅延があります。有料プランでは、キーを使って api-pro.dexpaprika.com からリアルタイムデータを取得できます。Dev は月額 $30 で 500,000 クレジット、毎分 120 リクエスト、Pro は月額 $99 で 5,000,000 クレジット、毎分 500 リクエストです。ドキュメント:https://docs.dexpaprika.com。レート制限:https://docs.dexpaprika.com/knowledge-base/rate-limits。プランと購入:https://dexpaprika.com/api/pricing。

フィールド名に関する注意: URL パスでは network と token_address を使用しますが、JSON レスポンスでは同じ値が chain と id として返されます。


統合オプション

オプション 1:CLI(エージェントに推奨)

インストールして、すぐにクエリを実行できます。シェルコマンドを実行できるエージェントに最適です。

curl -sSL https://raw.githubusercontent.com/coinpaprika/dexpaprika-cli/main/install.sh | sh

機械可読な出力には、常に --output json --raw を使用してください。対話形式のクイックスタートガイドを実行するには、dexpaprika-cli onboard を実行します。

よく使うコマンド:

# Search for a token
dexpaprika-cli search USDC --output json --raw

# Get token price
dexpaprika-cli token ethereum 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 --output json --raw

# Top pools on a network
dexpaprika-cli pools ethereum --limit 10 --output json --raw

# Historical OHLCV for a pool: hourly candles over the last 24 hours (CLI 0.7.0+ for a relative --start)
dexpaprika-cli pool-ohlcv ethereum 0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640 --start -24h --interval 1h --limit 24 --output json --raw

# Historical USD OHLCV for a token across all its pools (Dev or Pro key, CLI 0.9.0+)
DEXPAPRIKA_API_BASE_URL=https://api-pro.dexpaprika.com dexpaprika-cli token-ohlcv ethereum 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 --start -24h --interval 1h --limit 24 --output json --raw

# Top tokens on a network (ranked, with multi-timeframe metrics)
dexpaprika-cli top-tokens ethereum --limit 20 --output json --raw
dexpaprika-cli top-tokens solana --order-by price_change_percentage_24h --sort asc --output json --raw

# Filter tokens by volume, FDV, liquidity, txns
dexpaprika-cli filter-tokens ethereum --volume-24h-min 100000 --output json --raw
dexpaprika-cli filter-tokens solana --fdv-min 1000000 --liquidity-usd-min 50000 --output json --raw

# Filter pools by volume, liquidity, txns, creation date
dexpaprika-cli pool-filter ethereum --volume-24h-min 500000 --liquidity-usd-min 50000 --output json --raw

# Relative times (CLI 0.8.0+): pools created in the last day
dexpaprika-cli pool-filter solana --created-after -24h --sort-by created_at --output json --raw

# Swaps in the last hour. Dev or Pro key, on the paid host (CLI 0.9.0+)
DEXPAPRIKA_API_BASE_URL=https://api-pro.dexpaprika.com dexpaprika-cli transactions ethereum 0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640 --from -1h --output json --raw

# Batch token prices
dexpaprika-cli prices ethereum --tokens 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 --output json --raw

# Stream token prices, pushed when a swap moves the price
dexpaprika-cli stream ethereum 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2

# Stream pool reserve changes, emitted when a swap moves the reserves
dexpaprika-cli stream-reserves ethereum 0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640 --method pool_reserves

# API health check
dexpaprika-cli status

pools、pool-filter、token-pools、top-tokens、filter-tokens コマンドは、内部で /search エンドポイントを呼び出します(token-pools は /networks/{network}/pools/search?token_address=... をラップします)。正規のソートフィールド名(volume_usd_24h、txns_24h、price_change_percentage_24h、fdv_usd)と従来の別名(volume_usd、volume_24h、txns、price_change、fdv)の両方を受け付けます。CLI は送信前に別名を正規名へ変換します。

CLI コマンドの完全なリファレンスは、references/cli-reference.md を参照してください。

オプション 2:REST API

ベース URL:https://api.dexpaprika.com

無料プランでは、利用開始時に API キーは不要です。すべてのレスポンスは JSON です。

curl -s "https://api.dexpaprika.com/networks/ethereum/tokens/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2" | jq

認証。 キーをお持ちの場合は、キーのみを値として Authorization ヘッダー全体に設定してください。キーの前には何も付けません。他の多くの API とは異なるため、コードを生成する際はキーのみを出力してください。

curl -s -H "Authorization: api_YOUR_KEY" "https://api.dexpaprika.com/networks"

無料キーは api.dexpaprika.com で引き続き使用します。Dev、Pro、Enterprise では api-pro.dexpaprika.com を使用します。このエンドポイントに無料キーを送信すると 403 が返されます。リクエストがどのプランとして課金されたかは、レスポンスヘッダー x-api-plan(keyless、free、dev、pro)を確認してください。GET /usage でも確認できます。必ず確認してください。api.dexpaprika.com では、読み取り不能なキーは拒否されず無視されるため、呼び出しは実データを含む 200 を返しながら、気付かないうちにキーなしプランで処理されることがあります。そのことを示すのはヘッダーだけです。

エンドポイント一覧
必要な情報エンドポイント
すべてのネットワークを一覧表示GET /networks(ネットワークごとの volume_usd_24h、txns_24h、pools_count を返します)
ネットワーク上の DEXGET /networks/{network}/dexes(DEX ごとの volume_usd_24h、txns_24h、pools_count を返します)
ネットワーク上の上位プールGET /networks/{network}/pools/search(order_by=volume_usd_24h。行は results 内にあり、カーソルでページネーションします)
プールの絞り込みGET /networks/{network}/pools/search(volume_usd_24h/7d/30d、liquidity_usd、txns_24h、price_usd、price_change_percentage_24h/6h/1h/5m、作成日のフィルター)
ネットワーク上で最も値動きの大きいプールGET /networks/{network}/pools/search?order_by=price_change_percentage_1h&sort=desc(5m、6h、24h も指定できます)
プールの詳細GET /networks/{network}/pools/{pool_address}
プールの OHLCV(チャート)GET /networks/{network}/pools/{pool_address}/ohlcv
トークンの OHLCV(USD、すべてのプールを対象。Dev または Pro)api-pro.dexpaprika.com の GET /networks/{network}/tokens/{token_address}/ohlcv
プールの RSI、EMA、MACD、ボリンジャーバンド、VWAPGET /networks/{network}/pools/{pool_address}/indicators?indicator=rsi(API が算出します。プールの OHLCV と同じプラン制限が適用されます)
トークンのインジケーター(USD、すべてのプールを対象。Dev または Pro)api-pro.dexpaprika.com の GET /networks/{network}/tokens/{token_address}/indicators?indicator=rsi
プールのトランザクション(Dev または Pro)api-pro.dexpaprika.com の GET /networks/{network}/pools/{pool_address}/transactions。無料プランでは、プールの詳細からトランザクション数を取得できます
トークンの価格とデータGET /networks/{network}/tokens/{token_address}
トークンを含むプールGET /networks/{network}/pools/search?token_address={token_address}
トークンの絞り込みGET /networks/{network}/tokens/search(volume_usd_24h、liquidity_usd、fdv_usd、txns_24h、作成日のフィルター)
ネットワーク上の上位トークンGET /networks/{network}/tokens/search(order_by=volume_usd_24h/liquidity_usd/txns_24h/fdv_usd/price_change_percentage_24h。行は results 内にあり、カーソルでページネーションします)
すべてのネットワークを対象としたプールの絞り込みGET /pools/search(ネットワーク単位のエンドポイントと同じフィルターおよび order_by)
すべてのネットワークを対象としたトークンの絞り込みGET /tokens/search(ネットワーク単位のエンドポイントと同じフィルターおよび order_by)
トークン価格の一括取得GET /networks/{network}/multi/prices?tokens={addr1},{addr2}
DEX のプールGET /networks/{network}/pools/search?dex_name={dex_id}(行は results 内にあり、カーソルでページネーションします)
トークン/プール/DEX の検索GET /search?query={term}
プラットフォームの統計情報GET /stats

削除済みのエンドポイント(HTTP 410): /networks/{network}/pools、/pools、/networks/{network}/pools/filter、/networks/{network}/tokens/filter、/networks/{network}/tokens/top、/networks/{network}/tokens/{token_address}/pools、/networks/{network}/dexes/{dex}/pools は廃止されています。これらにアクセスすると、/search を使用するよう案内する HTTP 410 が返されます。これらのエンドポイントは呼び出さないでください。

dex_name は DEX のパス要素の代わりに使用します: 削除された /networks/{network}/dexes/{dex}/pools は GET /networks/{network}/pools/search?dex_name={dex_id} に置き換わります。DEX はパスではなくクエリパラメーターで指定します。dex_name には人間向けの表示名ではなく、DEX ID(uniswap_v3)を指定します。大文字と小文字は区別されません。有効な値は GET /networks/{network}/dexes で取得し、dex_id フィールドを渡してください。代わりにそのオブジェクトの dex_name フィールド(Uniswap V3 のような表示名)を渡すと、エラーではなく HTTP 200 と空の results 配列が返されます。そのため、DEX にプールがないように見えてしまいます。エンドポイントに応じてレスポンスの形式も変わります。行は pools ではなく results 内に格納され、ページネーションには page/page_info ではなく cursor と has_next_page/next_cursor が使われます。また、24 時間の取引高フィールドは volume_usd ではなく volume_usd_24h です。 token_address はネットワーク単位でのみ有効です: ネットワーク横断の GET /pools/search は token_address を受け付けますが、黙って無視するため、結果は絞り込まれません。トークンを含むプールを検索するには、ネットワークごとの GET /networks/{network}/pools/search を使用してください。不明なアドレスの場合、HTTP 200 と空の results が返されます。token_address を繰り返してもペアの絞り込みにはなりません。API は値のうち1つだけを使用します(どの値が使われるかは順序によって保証されません)。

短期間の価格変動ウィンドウはプールのみで有効で、24時間ウィンドウは対象外ではありません: 2つのプール検索では、price_change_percentage_24h、_6h、_1h、_5m の4つすべてのウィンドウで並べ替えと絞り込みができます。絞り込み名は price_change_percentage_{24h,6h,1h,5m}_{min,max} で、値は正負の符号付きです。そのため、price_change_percentage_1h_max=-20 は、20パーセント以上下落したプールを選択します。トークン検索で並べ替えと絞り込みに使えるのは24時間ウィンドウで、3つの短期間ウィンドウは拒否されます。order_by=price_change_percentage_1h は /tokens/search で HTTP 400 を返し、price_change_percentage_1h_min などは受け付けられますが、黙って無視されます。トークン行には price_change_percentage_24h が含まれ、price_change_percentage_6h、_1h、_5m は含まれません。detailed=true を指定すると、各行に 6h、1h、5m のオブジェクトが追加されますが、これらには出来高と取引件数が含まれるため、並べ替えや絞り込みに使える短期間のトークン価格変動値はありません。絞り込み名のスペルミスは拒否されずに無視されるため、誤記があっても結果一式が返される HTTP 200 とまったく同じ挙動になります。絞り込みが適用されたことを確実に確認するには、絞り込みなしの結果と比較してください:

# Baseline: 1h changes on the busiest ethereum pools sit near zero
curl -s "https://api.dexpaprika.com/networks/ethereum/pools/search?limit=5" | jq '[.results[].price_change_percentage_1h]'

# Filtered: only pools up 50 percent or more over the last hour
curl -s "https://api.dexpaprika.com/networks/ethereum/pools/search?price_change_percentage_1h_min=50&limit=5" | jq '[.results[].price_change_percentage_1h]'

# The 24h window filters on the token side too: every row comes back at 20 percent or better
curl -s "https://api.dexpaprika.com/networks/ethereum/tokens/search?price_change_percentage_24h_min=20&limit=5" | jq '[.results[].price_change_percentage_24h]'

すべてのスキーマ、パラメーター、レスポンスタイプを含む OpenAPI 3.1 仕様の全文については、references/openapi.yml を参照してください。

オプション 3:MCP サーバー(AI IDE 向け)

Claude Desktop、Cursor、Windsurf、およびあらゆる MCP クライアント向けのホスト型 MCP サーバーです。

claude_desktop_config.json または同等のファイルに追加してください:

{
  "mcpServers": {
    "dexpaprika": {
      "url": "https://mcp.dexpaprika.com/sse"
    }
  }
}

利用開始に API キーは必要ありません。ネットワーク、プール、トークン、OHLCV、テクニカル指標、トランザクション、検索を照会する20個のツールを提供します。実際の tools/list で数を確認してください。

有料プランが必要なツールは、ユーザー自身の Dev、Pro、または Enterprise キーで実行します。url の横に "headers": { "Authorization": "YOUR_API_KEY" } を追加し、キーを単独で指定してから再接続してください。対象は getTokenOHLCV、getTokenIndicator、getPoolTransactions です。キーがない場合、こうしたツールは DP401_API_KEY_REQUIRED を返し、呼び出しは行いません。ローソク足や指標を取得するには、トークンの流動性が最も高いプールで getPoolOHLCV または getPoolIndicator を代わりに使用してください。プールの取引件数には getPoolDetails を使用してください。ホスト型のその他すべてのツールはユーザーのプランではなく、サーバーの共有容量で実行されるため、キーを追加しても利用上限は引き上げられません。DP429_RATE_LIMITED が返された場合は、retry_after_seconds 秒待ってから再試行してください。

ドキュメント:https://docs.dexpaprika.com/ai-integration/hosted-mcp-server

オプション 4:ストリーミング API(価格、リザーブ、スワップ、OHLCV ローソク足)

ベース URL:https://streaming.dexpaprika.com

4 つの SSE フィードは同じトランスポートを共有し、フィードごとにアクセス条件が異なります。

  • /sse/prices:トークン価格の更新です。スワップによって価格が変動すると配信されます。更新はスワップによって発生し、時間やブロックごとには発生しません。そのため、動きの少ないチェーンでは数分間何も配信されないことがあります。対象の代表的なトークンはキーなしで利用でき、任意のトークンには無料のキーが必要です。
  • /sse/reserves:プールのリザーブ更新と、USD 建ての差分です。スワップによってプールのリザーブが変化したときに配信され、すべてのブロックで配信されるわけではありません。無料のキーを含む、任意のキーで利用できます。
  • /sse/transactions:個々のスワップです。1 つのプール(method=pool)またはトークンが取引されるすべてのプール(method=token)を対象にします。Dev、Pro、Enterprise が必要です。接続先は https://streaming-pro.dexpaprika.com です。
  • /sse/ohlcv:確定済みのトークンローソク足を 1s、5s、60s の間隔で配信します。Dev、Pro、Enterprise が必要です。接続先は https://streaming-pro.dexpaprika.com です。

キーが必要なフィードまたはトークンにキーなしでリクエストすると、"error":"preview_only" を含む 403 が返されます。有料プラン限定のフィードにキーなし、または無料のキーでリクエストすると、"error":"plan_required"、tier、message、required_tier(dev)、links を含む 403 が返されます。メッセージ本文ではなく、error で判定してください。

制限: POST 接続あたりのサブスクリプション数は 25 件です。同時 SSE ストリーム数は、キーなしで 10 件(IP ごとにカウント)、無料のキーで 10 件、Dev で 30 件、Pro で 100 件(アカウントごとにカウント)です。上限を超えると、"error":"rate_limited" および Concurrent stream limit reached を含む 429 が返されます。15 秒ごとに ping イベントが届きます。キーなしのストリーミングでは 35 個の代表的なトークン(ほとんどのチェーンの主要なアセット)を利用でき、無料の API キーを使うと任意のトークンの価格とリザーブを利用できます。

単一トークンの価格(GET):

curl --http1.1 -N "https://streaming.dexpaprika.com/sse/prices?method=token_price&chain=ethereum&address=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"

複数トークンの価格(POST、最大 25 件):

curl --http1.1 -N -X POST "https://streaming.dexpaprika.com/sse/prices" \
  -H "Accept: text/event-stream" -H "Content-Type: application/json" \
  -d '[{"chain":"ethereum","address":"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2","method":"token_price"}]'

プールのリザーブ(GET、無料のキー):

curl --http1.1 -N -H "Authorization: $DEXPAPRIKA_API_KEY" "https://streaming.dexpaprika.com/sse/reserves?method=pool_reserves&chain=ethereum&address=0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640"

token_price イベントのフィールド:address、chain、price(USD 建ての文字列)、timestamp、timestamp_price(いずれも Unix 秒)。旧式の t_p メソッドは、引き続き /sse/prices で簡略化された {a, c, p, t, t_p} 形式の応答を返しますが、仕様には含まれていないため、新しいコードでは使用しないでください。/stream は廃止されました(410)。

リザーブフィードは現在、メソッド名のイベントを配信します。以前の単一の reserve_update イベントは廃止されました。代わりに、次の 2 つのイベント名で判定してください。

  • pool_reserves イベント(1 つのプール、トークンはネスト形式):chain、pool_id、block/previous_block(文字列。previous_block は省略可能)、tokens[](各要素に token_id、文字列の reserve/delta、数値の price_usd/reserve_usd/delta_usd)、total_reserve_usd、total_delta_usd、timestamp、block_timestamp(いずれも Unix 秒)。
  • token_reserves イベント(すべてのプールを対象とする 1 つのトークン、フラット形式):chain、token_id、文字列の reserve/delta、文字列の block、price_usd、reserve_usd、delta_usd、updated_at、timestamp(いずれも Unix 秒)。

生の整数フィールド(reserve、delta、block、previous_block)は Number.MAX_SAFE_INTEGER を超えるため、BigInt で解析してください。リザーブを監視するコンシューマーは、reserve_update との照合をやめ、新しいタイムスタンプフィールドとともに、これら 2 つのイベント名を処理する必要があります。

request_id による相関付け(任意):GET ではクエリ文字列に、POST では各アセットのボディに request_id を uint32(0..4294967295)として渡せます。POST で指定しない場合は、アセットの配列インデックスが使われます。サーバーはデータイベントに限り、SSE の request_id: 行として値を返します。ping、warning、error イベントには request_id は含まれません。

# GET with request_id; the value comes back on each pool_reserves event
curl --http1.1 -N -H "Authorization: $DEXPAPRIKA_API_KEY" "https://streaming.dexpaprika.com/sse/reserves?method=pool_reserves&chain=ethereum&address=0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640&request_id=12345"

**重要:**ストリーミングには HTTP/1.1 が必要です。curl では --http1.1 を追加してください。無効なアセットが 1 つでもあると、ストリーム全体が HTTP 400 でキャンセルされます。SSE パーサーは、空行で区切られたメッセージを 1 つバッファリングしてからディスパッチする必要があります。event: と data: はどちらの順序でも有効で、サーバーはどちらの順序も使用します。また、request_id: 行が event:/data: と並んで現れる場合があります。

4 つすべてのフィード、イベント、エラー、パーサーのパターンを含むストリーミングの完全なリファレンスについては、references/streaming-api.md を参照してください。

オプション 5:SDK
言語リポジトリ
Gohttps://github.com/coinpaprika/dexpaprika-sdk-go
Pythonhttps://github.com/coinpaprika/dexpaprika-sdk-python
TypeScripthttps://github.com/coinpaprika/dexpaprika-sdk-ts
PHPhttps://github.com/coinpaprika/dexpaprika-sdk-php

一般的なワークフロー

トークン価格を取得する

CLI:

dexpaprika-cli token ethereum 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 --output json --raw

curl:

curl -s "https://api.dexpaprika.com/networks/ethereum/tokens/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2" | jq '.summary.price_usd'

Python:

import requests
r = requests.get("https://api.dexpaprika.com/networks/ethereum/tokens/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2")
token = r.json()
print(f"{token['symbol']}: ${token['summary']['price_usd']}")
トークンを検索する
curl -s "https://api.dexpaprika.com/search?query=PEPE" | jq '.tokens[:5]'

注:検索では、名前とシンボルのあいまい一致が使われます。「UNI」を検索すると、「Uniswap」、「United Stables」などが返されます。クライアント側で、symbol が完全一致するものに絞り込んでください。

プールの過去の OHLCV を取得する
curl -s "https://api.dexpaprika.com/networks/ethereum/pools/0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640/ohlcv?start=-24h&interval=1h&limit=24" | jq

OHLCV のパラメーター:start(必須。-24h や -7d のような相対オフセット、Unix 秒、RFC3339、または yyyy-mm-dd)、end(同じ形式)、interval(1m|5m|10m|15m|30m|1h|6h|12h|24h)、limit(デフォルトは 10、最大 1000)、inversed(ブール値。ステーブルコインとペアになったプールの価格比を反転し、USD 建て価格にします)。

トークンの過去の OHLCV を取得する(Dev または Pro)

ネットワーク上で取引されるすべてのプールの出来高加重平均価格から算出した、トークンの USD 建てローソク足です。volume は、すべてのプールで取引された USD 建ての合計です。選択するプールも、換算するペア価格もありません。

curl -s -H "Authorization: $DEXPAPRIKA_API_KEY" "https://api-pro.dexpaprika.com/networks/ethereum/tokens/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2/ohlcv?start=-24h&interval=1h&limit=24" | jq
  • Dev、Pro、または Enterprise のキーが必要です。https://api-pro.dexpaprika.com に対して呼び出してください。キーなし、または無料キーの場合は "error":"plan_required" を含む 403 が返されます。その場合は、トークンの取引量が最も多いプールの OHLCV に切り替えてください。
  • プールの OHLCV と同じ start、end、interval、limit を使用します。inversed はありません。interval のデフォルトは 24h、limit のデフォルトは 10 なので、両方を指定してください。
  • ローソク足は、トークンが取引された区間についてのみ存在します。そのため、取引量の少ないトークンでは短い間隔に欠落が生じます。最新のローソク足が未確定の場合もあります。
  • リファレンス:https://docs.dexpaprika.com/api-reference/tokens/get-ohlcv-data-for-a-token
プールのテクニカル指標を取得する

RSI、EMA、MACD、ボリンジャーバンド、または VWAP を、プールの確定済みローソク足から API が計算します。OHLCV を取得して自分で計算する必要はありません。

curl -s "https://api.dexpaprika.com/networks/ethereum/pools/0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640/indicators?indicator=rsi&interval=1h&start=-24h" | jq
  • indicator(必須):rsi、ema、macd、bbands、または vwap。また、interval(1m~24h、または 1d)、start、end、limit(デフォルトは 100、最大 1000)、cursor も指定できます。
  • 選択した指標のパラメーターだけを送信してください。rsi(14)、ema(20)、bbands(20)、vwap(14)には period、macd には fast_period(12)、slow_period(26)、signal_period(9)、bbands には std_dev(2)を指定します。その他のパラメーターを指定すると、400 invalid_param が返されます。
  • レスポンスには、使用された値を示す parameters と、古い順に確定済みローソク足ごとに 1 点を返す data が含まれます。rsi、ema、vwap では value、macd では macd、signal、histogram、bbands では upper、middle、lower が返されます。
  • プールの OHLCV と同じプラン制限が適用されます(下記参照)。必ず interval を指定してください。キーがない場合のデフォルトは 1h、キーがある場合のデフォルトは 24h です。
  • RSI、EMA、MACD は平滑化されます。最初に使う値より前に、10 期間以上を含めてください。キーがない場合、24 時間のウィンドウでは RSI(14) が安定するには短すぎます。無料キーでは 7 日間を指定できます。
  • トークンの指標:/networks/{network}/tokens/{token_address}/indicators でも、すべてのプールにおけるトークンの USD 建てローソク足から同様に取得できます。api-pro.dexpaprika.com で Dev、Pro、または Enterprise が必要です。キーなし、または無料キーの場合は 403 plan_required が返されるため、代わりにトークンの取引量が最も多いプールのエンドポイントを使用してください。
  • ガイド:https://docs.dexpaprika.com/tutorials/technical-indicators。リファレンス:https://docs.dexpaprika.com/api-reference/pools/get-a-technical-indicator-for-a-pool
複数のトークンの価格をまとめて取得する
curl -s "https://api.dexpaprika.com/networks/ethereum/multi/prices?tokens=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" | jq

キー付きオブジェクトではなく、配列を返します。1 リクエストあたり最大 10 トークンです。

リアルタイムの価格をストリーミングする(Python)
import requests, json

assets = [
    {"chain": "ethereum", "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", "method": "token_price"},
    {"chain": "solana",   "address": "So11111111111111111111111111111111111111112",  "method": "token_price"}
]

r = requests.post("https://streaming.dexpaprika.com/sse/prices",
    headers={"Accept": "text/event-stream", "Content-Type": "application/json"},
    json=assets, stream=True)

# Buffer one SSE message at a time, then dispatch. Both `event:`/`data:`
# line orderings are valid SSE and the server has emitted either, so a
# line-by-line parser that assumes one order will silently mis-dispatch.
msg_lines = []
for line in r.iter_lines(decode_unicode=True):
    if line:
        msg_lines.append(line); continue
    event_type, data_str = "message", None
    for ml in msg_lines:
        if ml.startswith("event:"):
            event_type = ml.split(":", 1)[1].strip()
        elif ml.startswith("data:"):
            data_str = ml[5:].lstrip()
    msg_lines = []
    if event_type == "token_price" and data_str:
        d = json.loads(data_str)
        print(f"{d['chain']} {d['address']}: ${d['price']}")

一般的なトークンアドレス

アドレスを推測しないでください。トークンを検索するには search を使用するか、以下の既知のアドレスを使用してください。

トークンチェーンアドレス
WETHethereum0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
USDCethereum0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
USDCpolygon0x2791bca1f2de4661ed88a30c99a7a9449aa84174
USDCsolanaEPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
SOLsolanaSo11111111111111111111111111111111111111112

一般的なネットワーク ID

常に小文字で指定してください:ethereum、solana、bsc、polygon、arbitrum、base、avalanche、optimism、sui、ton、tron。

全リスト:GET /networks または dexpaprika-cli networks。

ページネーション

2 種類のページネーション方式が併存しています。

  • ページベース(/networks/{network}/dexes):?page=1&limit=10&order_by=volume_usd&sort=desc。ページ番号は 1 から始まります(最初のページは page=1)。最大 1000 ページです。このエンドポイントの order_by の値は、volume_usd、price_usd、transactions、last_price_change_usd_24h、created_at です。
  • カーソルベース(4 つの /search エンドポイント):limit と、前のレスポンスの cursor 値を渡してください。行は results の下に返され、has_next_page と next_cursor も含まれます。order_by の値は正規の名称で、volume_usd_24h、volume_usd_7d、volume_usd_30d、liquidity_usd、txns_24h、created_at、price_change_percentage_24h に加え、price_usd、price_change_percentage_6h、price_change_percentage_1h、price_change_percentage_5m(プールのみ)、fdv_usd(トークンのみ)です。従来の名称(volume_usd、transactions、last_price_change_usd_24h)を /search エンドポイントで指定すると、HTTP 400 が返されます。

タイムスタンプ

すべてのタイムスタンプは、Unix、RFC3339、または yyyy-mm-dd 形式と、現在時刻からの相対指定(-24h、-7d、-90m。単位は s、m、h、d)に対応しています。これは OHLCV の start と end、プール取引の from と to、および 4 つの /search エンドポイントの created_after と created_before に適用されます。そのため、from=-1h は直近 1 時間のスワップを、created_after=-24h は直近 1 日に作成されたものを示します。取引の from は開始値を含み、to は終了値を含みません。また、7 日より古いデータは返されません。検索範囲は両端を含み、レスポンスの query には解決された Unix 値が反映されます。OHLCV はリクエストあたり最大 1000 本のローソク足を返します。

OHLCV の利用可否はプランによって異なります。 API キーなしの場合:直近 24 時間について 1h 以上。Free キーの場合:7 日間について 10m 以上。Dev の場合:30 日間についてすべての間隔。Pro と Enterprise の場合:履歴にプラン制限はありません。プール指標にも同じ制限が適用されます。トークンの OHLCV とトークン指標には Dev 以上が必要で、Dev と Pro には同じルールが適用されます。これらの制限を超えると、API は利用可能なプラン名を示すメッセージとともに 403 を返します。start=-24h はすべてのプランで利用できます。現在の制限:https://docs.dexpaprika.com/knowledge-base/rate-limits#ohlcv-limits-by-plan

レート制限とエラー

  • レート制限とクォータ:キーなしの場合、1万クレジットでIPあたり毎分15リクエスト、無料キーを使用する場合(https://console.dexpaprika.com で登録)、10万クレジットで毎分30リクエストです。どちらも毎月1日にリセットされるのではなく、直近30日間の利用枠として繰り越されるため、今日大量にリクエストすると、その後30日間の利用に影響します。また、無料プランでの 402 には resets_at が含まれません。どちらのプランもデータには最大60秒の遅延があります。有料プランはリアルタイムで、キーを使用して api-pro.dexpaprika.com に接続します。Dev は月額 $30 で50万クレジット、毎分120リクエスト、Pro は月額 $99 で500万クレジット、毎分500リクエストです。各プランの利用枠は Stripe の請求期間ごとに適用され、追加の100万クレジットごとに $20 かかります。1リクエストにつき1クレジットです。バッチエンドポイントは項目ごとに1クレジットかかり、ストリーミングで配信される更新ごとに1クレジットかかります。最新の数値:https://docs.dexpaprika.com/knowledge-base/rate-limits。プランと購入:https://dexpaprika.com/api/pricing
  • HTTP エラー:200 OK | 400 パラメーター不正 | 401 キーが指定されているが拒否された | 402 クレジットの利用枠を使い切った(再試行しても解決しません) | 403 キーに対してホストが間違っている("error":"wrong_host")、または有料プラン専用のエンドポイント(トークン OHLCV、トークン指標、プール取引)をキーなし、または無料キーで呼び出した("error":"plan_required"。required_tier に必要なプランが示されます) | 404 見つからない | 410 エンドポイントが削除された(本文に replacement が示されます) | 429 レート制限 | 500 サーバーエラー
  • api-pro では、たとえば Authorization ヘッダーがないなど、エッジが認識できないリクエストに対して、JSON ではなく 403 の HTML ページが返されます。ヘッダーを修正すれば、次のリクエストから正常に戻ります。
  • 429 レート制限が発生した場合: Retry-After 秒待ってから再試行してください。ブロックは一時的なものです。解消しない場合は、[email protected] までお問い合わせください。
  • API の状態を確認するには、dexpaprika-cli status または GET https://api.dexpaprika.com/stats を実行してください。
  • ドキュメント全文:https://docs.dexpaprika.com

コメント