x402 Crypto MCP Server
This server provides AI agents with real-time crypto market data and DeFi analytics via MCP, operating on an x402 pay-per-call model (Base mainnet/USDC). It offers:
Live Prices:
crypto_pricesfor up to 20 tokens, sourced from CoinGecko with 60s cache.Market Sentiment:
market_sentimentfor Fear & Greed index and global market metrics.Funding Rates:
funding_ratefor Binance USDT perpetual futures.Technical Indicators:
technical_indicatorsfor RSI, MACD, EMA, SMA, volatility, ATR, and signals across timeframes.Market Overview:
market_overviewcombining BTC/ETH/SOL prices, sentiment, and BTC funding rate.DeFi Yields:
defi_yieldsfrom 40+ chains and 15,000+ pools, filterable by chain, project, APY, TVL, stablecoin.Gas Prices:
gas_pricefor 7 EVM chains (gwei/wei).Pool Metrics:
pool_metricsfor APY/TVL/fee snapshots on Aave V3/Uniswap V3 pools, with alerting capabilities.Fresh Markets:
fresh_markets/scan_new_pairsto discover new AMM pairs on DEXes.Data & Payment: Aggregates from CoinGecko, Binance, DeFiLlama, etc., with caching. Uses x402 payments; agents must handle 402 challenges for access. Supports STDIO and HTTP transports for integration with Claude Desktop, Cursor, and other MCP clients.
Provides funding rate and kline data from Binance USDT futures for crypto market analysis.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@x402 Crypto MCP ServerGive me a market overview for Bitcoin and Ethereum"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
x402 Crypto MCP Server
MCP server that aggregates 9 x402 crypto services as tools for AI agents:
prices, sentiment, funding rates, technical indicators, DeFi yields, gas prices,
pool metrics, and fresh market discovery — exposed as 20 stdio tools and 23 HTTP
tools (including the combined market_overview / get_market_overview, the
batch get_prices, raw OHLCV candle_history / get_candles, top movers
top_movers / get_top_movers, token conversion convert / get_conversion,
transaction status tx_status / get_tx_status + solana_tx_status /
get_solana_tx_status, wallet balances wallet_balance / get_wallet_balance
solana_balance/get_solana_balance, the Fear & Greed seriesfng_history/get_fng_history, and open interestopen_interest/get_open_interest).
Tools (STDIO Transport)
Tool | Description | Service |
| Live USD prices for 20+ tokens | multi-chain-price-oracle |
| Top 24h gainers and losers by market cap | multi-chain-price-oracle |
| Convert amount between two tokens (live prices) | multi-chain-price-oracle |
| EVM tx status: landed/confirmed/failed/pending (6 chains) | tx-status-oracle |
| Solana tx status: confirmed/failed/not_found | tx-status-oracle |
| EVM wallet native balance (ETH, 6 chains) | tx-status-oracle |
| Solana wallet SOL balance | tx-status-oracle |
| Validate ERC-20: symbol, name, decimals, supply | tx-status-oracle |
| ERC-20 balance of a wallet (decimals-aware, e.g. USDC) | tx-status-oracle |
| Fear & Greed index + global market metrics | crypto-market-sentiment |
| Fear & Greed daily series (1-90 days) + trend signals | crypto-market-sentiment |
| Perp open interest (contracts + USD value) | crypto-market-sentiment |
| Perp funding rate from Binance USDT futures | crypto-market-sentiment |
| RSI, MACD, EMA, SMA, volatility, ATR + signals | technical-indicators-oracle |
| Raw OHLCV candles (open, high, low, close, volume, timestamp) | technical-indicators-oracle |
| Combined: prices + sentiment + funding in one call | all 3 services |
| Top DeFi yields across 40+ chains (15,000+ pools) | defi-yield-aggregator |
| Gas prices on 7 EVM chains (gwei/wei) | multi-chain-gas-oracle |
| APY/TVL snapshots for Aave V3 / Uniswap V3 pools | yield-pool-watcher |
| New AMM pairs in the last N minutes | fresh-markets-watch |
Related MCP server: x402-bazaar-mcp
Tools (HTTP Transport - Vercel/Smithery)
Tool | Description | Service |
| Get current price for any token on supported chains | multi-chain-price-oracle |
| Batch: current prices for up to 20 tokens in one call | multi-chain-price-oracle |
| Top 24h gainers and losers by market cap | multi-chain-price-oracle |
| Convert amount between two tokens (live prices) | multi-chain-price-oracle |
| EVM tx status via x402 (6 chains) | tx-status-oracle |
| Solana tx status via x402 | tx-status-oracle |
| EVM wallet balance (ETH) via x402 | tx-status-oracle |
| Solana wallet SOL balance via x402 | tx-status-oracle |
| ERC-20 token metadata via x402 | tx-status-oracle |
| ERC-20 wallet balance via x402 | tx-status-oracle |
| Fear & Greed Index (Alternative.me) | crypto-market-sentiment |
| Fear & Greed daily series (1-90 days) + trend | crypto-market-sentiment |
| Perp open interest (contracts + USD value) | crypto-market-sentiment |
| Perpetual funding rates across exchanges | crypto-market-sentiment |
| RSI, MACD, EMA, SMA for any symbol/timeframe | technical-indicators-oracle |
| Raw OHLCV candle history (up to 500 candles) | technical-indicators-oracle |
| Supply/borrow APY across protocols | defi-yield-aggregator |
| EIP-1559 gas fees for EVM chains | multi-chain-gas-oracle |
| Gas prices for multiple EVM chains at once | multi-chain-gas-oracle |
| Yield pool APY/TVL/fee metrics across DEXes | yield-pool-watcher |
| Pool alerts (APY spikes, new pools, TVL changes) | yield-pool-watcher |
| Discover new AMM pairs on DEXes | fresh-markets-watch |
| Combined: BTC/ETH/SOL prices + Fear & Greed + BTC funding in one call | all 3 services |
Install
npx x402-crypto-mcpOr globally:
npm install -g x402-crypto-mcpUse in Claude Desktop / Cursor / any MCP client
{
"mcpServers": {
"x402-crypto": {
"command": "npx",
"args": ["x402-crypto-mcp"]
}
}
}For HTTP transport (Vercel/Smithery):
{
"mcpServers": {
"x402-crypto": {
"url": "https://x402-mcp-server-o8wskr5pr-yunares-projects.vercel.app/api/mcp"
}
}
}x402 Payments
All backend services use x402 pay-per-call on Base mainnet (USDC). The MCP server returns 402 challenges with payment details when you need to pay. Your agent must handle x402 payments to access the data.
Data Sources
CoinGecko (prices) — free, 60s cache
Binance (funding rates, klines) — free
Alternative.me (Fear & Greed) — free
DeFiLlama (yields) — free, 5min cache
Public RPCs (gas) — free, 30s cache
The Graph (pool metrics) — free
EVM RPCs (new pairs) — free
GitHub
Available Tools
6 toolscrypto_pricesA
Get live USD prices for crypto tokens (BTC, ETH, SOL, USDC, etc.). Returns current price in USD. Free data from CoinGecko with 60s cache.
| Name | Required | Description | Default |
|---|---|---|---|
| symbols | Yes | Token symbols, e.g. ['BTC', 'ETH', 'SOL'] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It adds useful context about the data source (CoinGecko) and caching (60s cache), indicating data may not be real-time. However, it does not mention rate limits, error handling, or unsupported symbols, which are relevant for a production tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The key information (purpose, return format, data source, cache) is front-loaded and directly stated. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description covers the core behavior: what it fetches, returns, and a notable caching detail. It does not specify the response structure (e.g., map vs. list), but given the low complexity and schema coverage, it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description of the 'symbols' parameter. The description adds examples ('BTC', 'ETH', 'SOL') but these are also present in the schema. No additional semantic meaning is provided beyond the schema, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('live USD prices for crypto tokens') with concrete examples (BTC, ETH, SOL, USDC). It clearly distinguishes from sibling tools like market_sentiment and funding_rate, which address different data domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for obtaining current crypto prices in USD but does not explicitly state when to use this tool versus alternatives. There is no mention of exclusions or preferred contexts, leaving the agent to infer applicability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_yieldsA
Get top DeFi yields across 40+ chains (DeFiLlama, 15,000+ pools). Filter by chain, project, symbol, min APY, min TVL, stablecoins.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Chain: Ethereum, Arbitrum, Solana, Base... | |
| limit | No | Max results (1-50) | |
| minApy | No | Minimum APY percentage | |
| minTvl | No | Minimum TVL in USD | |
| symbol | No | Token symbol: USDC, ETH, SOL... | |
| project | No | Protocol: lido, aave, uniswap... | |
| stablecoins | No | Only stablecoin pools |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It adds context about data source (DeFiLlama, 15,000+ pools) and scale (40+ chains), which helps set expectations. However, it does not disclose return format, ordering, or edge cases, leaving some behavioral details unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys purpose and filters. Every element adds value, with no redundant or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 7 parameters, no output schema, and no annotations, the description gives a solid overview but lacks details like what 'top' means, the return structure, or default ordering. It is adequate for a simple read-only data tool but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 7 parameters. The description merely lists the filter names (chain, project, symbol, min APY, min TVL, stablecoins) without adding new meaning beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('top DeFi yields'), with clear scope ('across 40+ chains'). It distinguishes itself from sibling tools (crypto_prices, market_sentiment, etc.) by explicitly focusing on DeFi yields and listing relevant filters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context that this tool is for DeFi yield data, making it obvious when to use it over siblings. It does not explicitly state exclusions or alternatives, but the domain is well-defined and the filters indicate appropriate use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
funding_rateA
Get perp funding rate for a crypto symbol from Binance USDT futures. Positive = longs pay shorts (bullish bias).
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Base symbol: BTC, ETH, SOL, etc. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the data origin (Binance USDT futures) and explains the interpretation of positive values (longs pay shorts, bullish bias). It does not disclose rate limits, error behavior, or whether the rate is current or historical, but for a simple read operation this is acceptable. It adds value beyond the schema by explaining the sign convention.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences. The first states the core functionality, the second provides a key interpretation detail. No redundant or unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description covers the what, where, and interpretation. It does not explicitly state the return format (percentage vs. decimal) or whether it is the current rate, but the core usage is clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage for the single parameter, describing it as 'Base symbol'. The tool description adds that the symbol pertains to the Binance USDT futures perp context, which clarifies the symbol's domain. It does not add specific format details (e.g., uppercase), but the schema already specifies max length and example symbols.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get', identifies the resource 'perp funding rate', and names the source 'Binance USDT futures'. This clearly distinguishes it from sibling tools like crypto_prices or technical_indicators.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or comparison to alternatives. The context implies it is for funding rate queries, but it does not state when to prefer this over crypto_prices or market_sentiment. The positive/negative explanation adds usage context for interpretation, but no exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_overviewA
Quick market overview: BTC/ETH/SOL prices + Fear & Greed + BTC funding rate in one combined call.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral disclosure burden. It only lists data contents without disclosing update frequency, data source, or any performance characteristics. There is no mention of potential staleness, rate limits, or failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently captures the tool's purpose and contents with no waste. It is appropriately concise and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no parameters and no output schema. The description adequately explains what data is returned, making it functional for an agent to decide to invoke. However, it could benefit from noting the intended use case or recency of data, but overall sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the description does not need to explain parameter usage. The description focuses on the returned data, which is sufficient for a zero-argument call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides BTC/ETH/SOL prices, Fear & Greed index, and BTC funding rate in one combined call. This differentiates it from sibling tools like crypto_prices and market_sentiment, which focus on individual data points.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'in one combined call' implies using this when you need multiple market metrics at once, but it does not explicitly specify when to use this versus individual sibling tools, nor does it mention any exclusions or alternatives. Usage context is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_sentimentA
Get crypto market sentiment: Fear & Greed index (0-100) + global market metrics (total cap, BTC/ETH dominance).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the output content but does not mention any behavioral traits such as data freshness, authentication requirements, or potential limitations. For a simple read tool, some of these may not apply, but the absence of any additional context beyond the output list leaves the agent uninformed about operation quirks.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that names the resource and lists specific outputs. Every word contributes value, with no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 params, no output schema), the description is appropriately complete. It details what metrics are returned, though it does not specify the response structure or how this tool relates to siblings, which would elevate it further.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so no parameter explanation is needed. The baseline of 4 for zero-parameter tools applies here; the description adds no unnecessary parameter detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's verb+resource: 'Get crypto market sentiment'. It specifies exact outputs (Fear & Greed index, total cap, BTC/ETH dominance), making it distinct from siblings like crypto_prices or market_overview.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when sentiment data is needed), but does not explicitly contrast it with alternatives or state exclusions. It provides context but lacks explicit guidance on when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
technical_indicatorsA
Get technical analysis indicators: RSI(7/14), MACD, EMA(20/50), SMA(20/50), volatility, ATR + trend/momentum signals. From Binance klines.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Base symbol: BTC, ETH, SOL, etc. | |
| interval | No | Kline interval | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries full burden. It mentions data source 'From Binance klines' and uses the read-only verb 'Get', but does not disclose return format, number of periods, or any limitations. This leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence front-loaded with the primary action, followed by a concise list of indicators. It is efficient and every word contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must hint at return data. It names indicators but not their structure or counts. It also lacks usage guidelines. For moderate complexity, it is minimally adequate but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add parameter-specific meaning; it merely lists indicators without relating them to the symbol or interval parameters. No extra value beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get' and identifies the resource as 'technical analysis indicators', enumerating RSI, MACD, EMA, SMA, volatility, ATR, and trend/momentum signals. This clearly distinguishes it from sibling tools like crypto_prices or market_sentiment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is the tool for technical analysis but does not explicitly state when to use it over alternatives or mention any exclusions. It provides no guidance on choosing between this and sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
v1.0.1- First observed
crypto_prices - First observed
defi_yields - First observed
funding_rate - First observed
market_overview - First observed
market_sentiment - First observed
technical_indicators
TDQS
Scored across 6 tools
Each tool targets a clear, distinct data type: prices, sentiment, funding rates, technical indicators, a combined overview, and DeFi yields. The only overlap is market_overview bundling other metrics, but its combined purpose makes it unambiguous.
All tool names follow a consistent snake_case noun-phrase pattern (e.g., crypto_prices, funding_rate, defi_yields). No mixed conventions or vague verbs, making the set predictable and easy to navigate.
With exactly 6 tools, the server is well-scoped for a crypto market data API. Each tool delivers a unique dataset without redundancy or bloat, fitting comfortably in the ideal 3-15 range.
The surface covers essential live market data (prices, sentiment, funding, technicals, DeFi yields) plus a convenient overview. Minor gaps exist, such as historical price data or detailed coin metadata, but these are not critical for the stated purpose.
Maintenance
Related MCP Connectors
x402 MCP for agents: crypto prices, funding, DeFi yields, Polymarket, Base RPC + MCP security.
Production-grade MCP gateway delivering 8 real-time AI tools with instant x402 micropayments settled in USDC on Base Mainnet or SPL-USDC on Solana. Features Basescan contract auditing, wallet analytics, headless browser scraping, and pre-scraped oracle data feeds.
Production-grade MCP gateway delivering 8 real-time AI tools with instant x402 micropayments settled in USDC on Base Mainnet or SPL-USDC on Solana. Features Basescan contract auditing, wallet analytics, headless browser scraping, and pre-scraped oracle data feeds.
15 paid AI agent primitives via x402 (USDC on Base). Pay-per-call MCP server.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server for pay-per-call DeFi and crypto data via x402 micropayments on Base. 8 endpoints: token prices, TVL, funding rates, token security, gas tracker, whale monitoring, wallet profiling, and yield scanning.823 npmMIT
- AlicenseBqualityBmaintenanceMCP server exposing x402 Bazaar's paid Base APIs (token risk/honeypot, prices, gas, wallet intel, tx decode + AI utilities) as agent tools. Your agent pays per call in USDC over x402 — no API keys, no signup.17246 npm1MIT
- AlicenseNot gradedqualityCmaintenanceMCP server that provides AI agents with pay-per-call access to a suite of tools (honeypot check, token market, DeFi yields, etc.) via USDC on Base using the x402 protocol.1 npmMIT
- AlicenseNot gradedqualityCmaintenanceMCP server providing 50+ crypto, market intelligence, and AI inference endpoints with x402 pay-per-request micropayments on Base.1Apache 2.0