Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: YourAITools Crypto Price API
version: 1.0.0
description: Pay-per-call tools for AI agents, paid per request in USDC via x402 on Base, Polygon, Arbitrum One or Solana, with each tool's own spec at https://api.youraitools.co//openapi.json.
contact:
email: hello@youraitools.co
url: https://youraitools.co/built-by-us
servers:
- url: https://api.youraitools.co
tags:
- name: CryptoPrice
paths:
/cryptoprice/v1/price:
get:
operationId: cryptoprice_price
summary: Crypto price snapshot for up to 20 coins (USD, 24h change, volume, open…
description: 'Crypto price API for AI agents. Current USD price of BTC, ETH, SOL and ~200 more coins (up to 20 per call) with 24h change, 24h volume, open interest and funding rate, from Hyperliquid public market data. Search intents: crypto price api, bitcoin price, eth price, token price usd, coin quote, crypto market data, price snapshot.'
tags:
- CryptoPrice
x-payment-info:
price:
mode: fixed
currency: USD
amount: '0.001'
protocols:
- x402: {}
x-x402:
scheme: exact
network: eip155:8453
asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
amount: '1000'
assetSymbol: USDC
x402Versions:
- 2
- 1
networks:
- network: eip155:8453
name: Base
asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
- network: eip155:137
name: Polygon
asset: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
- network: eip155:42161
name: Arbitrum One
asset: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
parameters:
- name: symbols
in: query
required: true
schema:
type: string
description: Comma-separated tickers, e.g. BTC,ETH,SOL (max 20). Accepts BTC-USD / BTCUSDT / bitcoin forms.
responses:
'200':
description: as_of, prices [{symbol, price_usd, mark_usd, oracle_usd, change_24h_pct, volume_24h_usd, open_interest_usd, funding_1h, funding_apr_pct, unit}], not_found, source. (payment settled)
content:
application/json:
example:
as_of: '2026-10-24T23:54:06.462Z'
prices:
- symbol: BTC
price_usd: 80871.5
mark_usd: 80871
oracle_usd: 80897
change_24h_pct: -0.38
volume_24h_usd: 2268386254
open_interest_usd: 3448699880
funding_1h: 1.25e-05
funding_apr_pct: 10.95
unit: 1
- symbol: ETH
price_usd: 2358.85
mark_usd: 2358.9
oracle_usd: 2359.52
change_24h_pct: -1.16
volume_24h_usd: 872657533
open_interest_usd: 2615176309
funding_1h: 1.25e-05
funding_apr_pct: 10.95
unit: 1
not_found: []
source: Hyperliquid public market data (perpetual markets, USD).
'400':
description: Invalid input (never charged)
'402':
description: Payment Required (x402 v2 terms in the PAYMENT-REQUIRED header, v1 terms in the body)
'404':
description: Unknown pin (never charged)
'413':
description: Body too large (never charged)
'422':
description: Remote MCP server could not be listed (never charged)
'503':
description: Timeout or pin store unavailable (never charged)
post:
operationId: cryptoprice_price_post
summary: Same as GET, POST {"symbols":"BTC,ETH,SOL"}
tags:
- CryptoPrice
x-payment-info:
price:
mode: fixed
currency: USD
amount: '0.001'
protocols:
- x402: {}
x-x402:
scheme: exact
network: eip155:8453
asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
amount: '1000'
assetSymbol: USDC
x402Versions:
- 2
- 1
networks:
- network: eip155:8453
name: Base
asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
- network: eip155:137
name: Polygon
asset: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
- network: eip155:42161
name: Arbitrum One
asset: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
symbols:
type: string
description: Comma-separated tickers, e.g. BTC,ETH,SOL (max 20). Accepts BTC-USD / BTCUSDT / bitcoin forms.
required:
- symbols
responses:
'200':
description: as_of, prices [{symbol, price_usd, mark_usd, oracle_usd, change_24h_pct, volume_24h_usd, open_interest_usd, funding_1h, funding_apr_pct, unit}], not_found, source. (payment settled)
content:
application/json:
example:
as_of: '2026-10-24T23:54:06.462Z'
prices:
- symbol: BTC
price_usd: 80871.5
mark_usd: 80871
oracle_usd: 80897
change_24h_pct: -0.38
volume_24h_usd: 2268386254
open_interest_usd: 3448699880
funding_1h: 1.25e-05
funding_apr_pct: 10.95
unit: 1
- symbol: ETH
price_usd: 2358.85
mark_usd: 2358.9
oracle_usd: 2359.52
change_24h_pct: -1.16
volume_24h_usd: 872657533
open_interest_usd: 2615176309
funding_1h: 1.25e-05
funding_apr_pct: 10.95
unit: 1
not_found: []
source: Hyperliquid public market data (perpetual markets, USD).
'400':
description: Invalid input (never charged)
'402':
description: Payment Required (x402 v2 terms in the PAYMENT-REQUIRED header, v1 terms in the body)
'404':
description: Unknown pin (never charged)
'413':
description: Body too large (never charged)
'422':
description: Remote MCP server could not be listed (never charged)
'503':
description: Timeout or pin store unavailable (never charged)
description: 'Crypto price API for AI agents. Same as GET, POST {"symbols":"BTC,ETH,SOL"}. Search intents: crypto price api, bitcoin price, eth price, token price usd, coin quote, crypto market data, price snapshot.'
/cryptoprice/v1/movers:
get:
operationId: cryptoprice_movers
summary: Top crypto gainers, losers and volume leaders over 24h ($0.002)
description: 'Crypto market movers API for AI agents. Top 24h gainers, losers and volume leaders across ~200 coins (markets with at least $1M 24h volume by default), with USD price, change, volume and open interest. Search intents: top crypto gainers, crypto losers today, biggest movers, crypto market overview, trending coins.'
tags:
- CryptoPrice
x-payment-info:
price:
mode: fixed
currency: USD
amount: '0.002'
protocols:
- x402: {}
x-x402:
scheme: exact
network: eip155:8453
asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
amount: '2000'
assetSymbol: USDC
x402Versions:
- 2
- 1
networks:
- network: eip155:8453
name: Base
asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
- network: eip155:137
name: Polygon
asset: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
- network: eip155:42161
name: Arbitrum One
asset: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
parameters:
- name: limit
in: query
required: false
schema:
type: integer
description: Rows per list (default 10)
- name: min_volume_usd
in: query
required: false
schema:
type: number
description: Skip markets under this 24h USD volume (default 1000000)
responses:
'200':
description: as_of, markets (count scanned), gainers, losers, volume_leaders (each [{symbol, price_usd, change_24h_pct, volume_24h_usd, open_interest_usd}]), source. (payment settled)
content:
application/json:
example:
as_of: '2026-10-24T23:54:06.462Z'
markets: 71
min_volume_usd: 1000000
gainers:
- symbol: ANIME
price_usd: 0.003483
change_24h_pct: 22.68
volume_24h_usd: 2371597
open_interest_usd: 628394
unit: 1
losers:
- symbol: ALT
price_usd: 0.006705
change_24h_pct: -7.11
volume_24h_usd: 1201904
open_interest_usd: 1376545
unit: 1
volume_leaders:
- symbol: BTC
price_usd: 80871.5
change_24h_pct: -0.38
volume_24h_usd: 2268386254
open_interest_usd: 3448699880
unit: 1
source: Hyperliquid public market data (perpetual markets, USD).
'400':
description: Invalid input (never charged)
'402':
description: Payment Required (x402 v2 terms in the PAYMENT-REQUIRED header, v1 terms in the body)
'404':
description: Unknown pin (never charged)
'413':
description: Body too large (never charged)
'422':
description: Remote MCP server could not be listed (never charged)
'503':
description: Timeout or pin store unavailable (never charged)
post:
operationId: cryptoprice_movers_post
summary: Same as GET, POST {"limit":5}
tags:
- CryptoPrice
x-payment-info:
price:
mode: fixed
currency: USD
amount: '0.002'
protocols:
- x402: {}
x-x402:
scheme: exact
network: eip155:8453
asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
amount: '2000'
assetSymbol: USDC
x402Versions:
- 2
- 1
networks:
- network: eip155:8453
name: Base
asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
- network: eip155:137
name: Polygon
asset: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
- network: eip155:42161
name: Arbitrum One
asset: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831'
symbol: USDC
payTo: '0x3c1A1E01e790Cd326495631B3b38Bd7068F08d6F'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
limit:
type: integer
minimum: 1
maximum: 25
description: Rows per list (default 10)
min_volume_usd:
type: number
description: Skip markets under this 24h USD volume (default 1000000)
responses:
'200':
description: as_of, markets (count scanned), gainers, losers, volume_leaders (each [{symbol, price_usd, change_24h_pct, volume_24h_usd, open_interest_usd}]), source. (payment settled)
content:
application/json:
example:
as_of: '2026-10-24T23:54:06.462Z'
markets: 71
min_volume_usd: 1000000
gainers:
- symbol: ANIME
price_usd: 0.003483
change_24h_pct: 22.68
volume_24h_usd: 2371597
open_interest_usd: 628394
unit: 1
losers:
- symbol: ALT
price_usd: 0.006705
change_24h_pct: -7.11
volume_24h_usd: 1201904
open_interest_usd: 1376545
unit: 1
volume_leaders:
- symbol: BTC
price_usd: 80871.5
change_24h_pct: -0.38
volume_24h_usd: 2268386254
open_interest_usd: 3448699880
unit: 1
source: Hyperliquid public market data (perpetual markets, USD).
'400':
description: Invalid input (never charged)
'402':
description: Payment Required (x402 v2 terms in the PAYMENT-REQUIRED header, v1 terms in the body)
'404':
description: Unknown pin (never charged)
'413':
description: Body too large (never charged)
'422':
description: Remote MCP server could not be listed (never charged)
'503':
description: Timeout or pin store unavailable (never charged)
description: 'Crypto market movers API for AI agents. Same as GET, POST {"limit":5}. Search intents: top crypto gainers, crypto losers today, biggest movers, crypto market overview, trending coins.'
/cryptoprice/mcp:
post:
operationId: cryptoprice_mcp
summary: 'Free remote MCP (Streamable HTTP, JSON-RPC): crypto_price, crypto_movers'
security: []
requestBody:
required: true
content:
application/json:
schema:
type: object
responses:
'200':
description: JSON-RPC result
'202':
description: Notification accepted
tags:
- CryptoPrice
components:
securitySchemes:
creditsKey:
type: http
scheme: bearer
description: yatc_... credits key