AgentServices
52 paid x402 API endpoints for AI agents — crypto, data, DeFi, market intelligence.
Open source Repository Open in the app JSON README (API)
About
52 paid x402 API endpoints for AI agents — crypto, data, DeFi, market intelligence.
Details
- Kind
- MCP servers
- Topic
- Finance & crypto
- Publisher
- to.agentservices
- Origin
- official
- Category
- ferramentas
- Transport
- http
- Version
- 6.0.0
- Stars
- 1
- Forks
- 1
- Open pull requests
- 1
- Last push
- 2026-09-06T02:24:19Z
- Repository state
- ativo
- Language
- Python
- License
- Apache-2.0
- Added
- 2026-08-29 04:01:55
- Updated
- 2026-08-30 02:00:17
- Origin id
to.agentservices/agentservices
README
# AgentServices
> The paid API layer for AI agents — data, intelligence, inference, and media via x402 micropayments
>
> **Canonical project:** https://github.com/vbkotecha/agentservices-api
> **Official site:** https://agentservices.to
> **License:** Apache-2.0
>
> AgentServices is an independent project. It is not affiliated with, endorsed by, or a replacement for any other x402 market-data provider.
[](https://github.com/vbkotecha/agentservices-api)
[](https://base.org)
[](https://x402.org)
[](https://modelcontextprotocol.io)
[](https://agentservices.to/health)
**Live at:** [agentservices.to](https://agentservices.to) | **MCP Server:** `https://agentservices.to/mcp` (Streamable HTTP) | **Discovery:** `/.well-known/x402`
## What is this?
AgentServices is the monetized API layer for AI agents. No API keys, no subscriptions — agents pay per-request with USDC on Base using the [x402 payment protocol](https://x402.org).
**60+ endpoints** across crypto data, market intelligence, DeFi analytics, on-chain analytics, **400+ LLM models**, image generation, text-to-speech, portfolio intelligence, and dispute resolution. 12 are free. 48+ are paid via x402 (from $0.002 to $0.25 per call).
### What's new in v6.0
- **400+ LLM models** via OpenAI-compatible `/v1/chat/completions` — GPT, Claude, Gemini, DeepSeek, Grok, Llama, and more
- **Smart router** — use `model: "auto"` and the gateway classifies your task and picks the cheapest model that handles it
- **Image generation** — `/v1/images/generations` via gpt-image-2 ($0.05)
- **Text-to-speech** — `/v1/audio/speech` with natural voices ($0.05)
- **3 new MCP tools** — `chat`, `generate_image`, `text_to_speech`
## Buyer path: discover → try → pay → retain
Use the [buyer quickstart](docs/buyer-quickstart.md) for the complete path. The exact next action is to run the no-credential discovery check:
```bash
python3 examples/mcp_discovery_buyer_proof.py
```
Then follow the same buyer journey:
1. **Discover:** confirm the hosted MCP server and free tool catalog with the [MCP discovery proof](examples/mcp_discovery_buyer_proof.py).
2. **Try free:** retrieve a real price result with the [free SDK proof](examples/sdk_free_price_buyer_proof.js).
3. **Inspect the paid challenge:** decode the live 402 terms with the [paid SDK proof](examples/sdk_paid_indicator_buyer_proof.js). It never signs or settles payment.
4. **Buy an outcome:** pay the returned x402 terms, retry the same request, and retain the returned paid result. See the [token-risk](docs/token-risk-outcome-contract.md), [market-pulse](docs/market-pulse-outcome-contract.md), and [research-brief](docs/research-brief-outcome-contract.md) contracts for result limits and provenance.
5. **Retain evidence:** run the existing [receipt builder](examples/build_x402_receipt.py) with the original challenge, paid response, and your wallet authorization or transaction reference.
The four proofs have different limits: discovery and free SDK verify no-spend access; the paid SDK proof verifies challenge shape only; the receipt builder hashes buyer-held evidence and does not verify settlement. None of them claims adoption, settlement, or revenue.
For activation measurement definitions, see [Activation Metrics](docs/activation-metrics.md). To probe the live funnel, run `python3 examples/check_activation_funnel.py`.
## Buyer path: discover → try → pay → retain
Use the [buyer quickstart](docs/buyer-quickstart.md) for the complete path. The exact next action is to run the no-credential discovery check:
```bash
python3 examples/mcp_discovery_buyer_proof.py
```
Then follow the same buyer journey:
1. **Discover:** confirm the hosted MCP server and free tool catalog with the [MCP discovery proof](examples/mcp_discovery_buyer_proof.py).
2. **Try free:** retrieve a real price result with the [free SDK proof](examples/sdk_free_price_buyer_proof.js).
3. **Inspect the paid challenge:** decode the live 402 terms with the [paid SDK proof](examples/sdk_paid_indicator_buyer_proof.js). It never signs or settles payment.
4. **Buy an outcome:** pay the returned x402 terms, retry the same request, and retain the returned paid result. See the [token-risk](docs/token-risk-outcome-contract.md), [market-pulse](docs/market-pulse-outcome-contract.md), and [research-brief](docs/research-brief-outcome-contract.md) contracts for result limits and provenance.
5. **Retain evidence:** run the existing [receipt builder](examples/build_x402_receipt.py) with the original challenge, paid response, and your wallet authorization or transaction reference.
The four proofs have different limits: discovery and free SDK verify no-spend access; the paid SDK proof verifies challenge shape only; the receipt builder hashes buyer-held evidence and does not verify settlement. None of them claims adoption, settlement, or revenue.
## Endpoints
### Free (no payment required)
| Endpoint | Description |
|----------|-------------|
| `GET /v1/prices?symbols=BTC,ETH` | Current crypto prices (CoinGecko) |
| `GET /v1/trending` | Trending tokens by market activity |
| `GET /v1/global` | Global market cap, volume, BTC dominance |
| `GET /v1/fear-greed` | Crypto Fear & Greed sentiment index |
| `GET /v1/gas` | Current gas prices on Base/Ethereum |
| `GET /v1/predictions` | AI-generated market predictions |
| `GET /v1/news` | Latest crypto news headlines |
| `GET /v1/social/trending` | Trending social sentiment topics |
| `GET /v1/geo?ip=1.2.3.4` | IP geolocation lookup |
| `GET /v1/swap/quote?from=&to=&amount=` | DEX swap quote (0x integration) |
| `GET /v1/policies` | List dispute resolution policy templates |
| `GET /v1/trade/hyperliquid/bootstrap` | Hyperliquid agent-sign bootstrap (approveAgent flow) |
| `POST /v1/trade/hyperliquid/order` | Forward agent-signed HL order (policy-gated) |
| `POST /v1/trade/hyperliquid/cancel` | Forward agent-signed HL cancel |
| `GET /v1/trade/hyperliquid/order` | HL order status (query: `user`, `oid`) |
| `GET /v1/trade/hyperliquid/order/{id}` | HL order status (path param) |
| `GET/PUT /v1/trade/hyperliquid/policy` | Execution leash (max notional, coin allowlist, kill switch) |
| `POST /v1/trade/hyperliquid/paper/order` | Paper/sim order for agent training |
| `POST /v1/trade/hyperliquid/eval/order` | Policy pass/fail eval (training gym) |
| `GET /health` | API health check |
### Trade API — venue doors (FREE — not x402)
AgentServices is building **venue trade doors** under `/v1/trade/{venue}/…`. Hyperliquid ships first; more venues and a venue-neutral `/v1/trade/execute` router follow.
Each door is a **policy leash + forward** — not a smarter router. We do **not** claim better fills than the venue direct. Execution is **free at the call** (no x402 on the order path). Builder fees are omitted so routing through us is not more expensive than going direct.
**We never collect venue API keys.** Agents sign orders locally with an HL-approved agent wallet (`approveAgent` on the main wallet is the one human bootstrap step). AgentServices policy-checks (max notional, coin allowlist, kill switch) and forwards the signed payload.
Request bodies accept `market_type`: `spot`, `perp`, or `future`. Hyperliquid implements **perp** and **spot** today; unsupported types return a machine-readable `market_type_not_supported` error.
| MCP tool | HTTP equivalent |
|----------|-----------------|
| `trade_hyperliquid_order` | `POST /v1/trade/hyperliquid/order` |
| `trade_hyperliquid_cancel` | `POST /v1/trade/hyperliquid/cancel` |
| `trade_hyperliquid_order_status` | `GET /v1/trade/hyperliquid/order` |
| `trade_hyperliquid_get_policy` / `trade_hyperliquid_set_policy` | `GET/PUT /v1/trade/hyperliquid/policy` |
| `trade_hyperliquid_paper_order` | `POST /v1/trade/hyperliquid/paper/order` |
| `trade_hyperliquid_eval_order` | `POST /v1/trade/hyperliquid/eval/order` |
Legacy `hl_*` MCP tool names remain as aliases. See `GET /v1/trade/hyperliquid/bootstrap` for the approveAgent signing model.
**Roadmap:** `/v1/trade/{venue}` for additional venues; `/v1/trade/execute` for venue-neutral routing later.
### Paid — Data APIs (x402)
| Endpoint | Price | Description |
|----------|-------|-------------|
| `GET /v1/indicators/BTC` | $0.02 | Technical indicators (RSI, MACD, Bollinger Bands, ATR, Support/Resistance) |
| `GET /v1/yields` | $0.02 | Top DeFi yield pools by TVL |
| `GET /v1/metadata?url=` | $0.01 | URL metadata extraction and unfurling |
| `GET /v1/search?q=` | $0.01 | Web search for crypto/market information |
| `GET /v1/onchain/:address` | $0.02 | On-chain analytics for any address |
| `GET /v1/onchain/:address/tokens` | $0.03 | Token holdings for any address |
### Paid — Synthesis APIs (x402)
| Endpoint | Price | Description |
|----------|-------|-------------|
| `GET /v1/token-risk/{token}` | $0.03 | Snapshot-based volatility, liquidity-proxy, and market-cap risk score |
| `GET /v1/crypto-signals` | $0.04 | Aggregated buy/sell signals across multiple indicators |
| `GET /v1/yield-comparison` | $0.03 | Compare yields across protocols with risk-adjusted returns |
| `GET /v1/hn-sentiment` | $0.02 | Hacker News sentiment analysis for tech topics |
| `GET /v1/npm-stats/:package` | $0.02 | NPM package download stats and trends |
| `GET /v1/github-trending` | $0.02 | Trending GitHub repos by language/topic |
| `GET /v1/marketing-intel` | $0.05 | Marketing intelligence: competitors, content gaps, ad copy |
### Paid — Bundled Intelligence (x402)
| Endpoint | Price | Description |
|----------|-------|-------------|
| `GET /v1/research?q=` | $0.05 | Deep research: search + extract + synthesize in one call |
| `GET /v1/portfolio?symbol=BTC` | $0.10 | Portfolio intelligence: price + signal + risk + sentiment + verdict |
| `GET /v1/defi-strategy` | $0.25 | DeFi strategy report: top yields + TVL + comparison + risk flags |
| `GET /v1/market-pulse` | $0.05 | Market pulse: fear-greed + trending + news + social + whales + global |
| `GET /v1/onchain-overview` | $0.15 | On-chain overview: whales + exchange flows + stablecoin flows + correlation + DeFi TVL |
### Paid — AI Inference (x402)
| Endpoint | Price | Description |
|----------|-------|-------------|
| `POST /v1/inference` | $0.03 | LLM inference (gpt-5.4/5.4-mini/5.5) — chat completions |
| `POST /v1/complete` | $0.03 | Text completion (CodexSale proxy) |
### Paid — Dispute Resolution (x402)
| Endpoint | Price | Description |
|----------|-------|-------------|
| `POST /v1/disputes` | $0.05 | AI-powered dispute resolution (7 policy templates) |
---
## Use Cases — What Agents Can Build
### Portfolio Monitor
```bash
# ALL-IN-ONE: Get portfolio intelligence in a single call ($0.10)
# Returns: price + technical signal + risk score + market sentiment + verdict
curl "https://agentservices.to/v1/portfolio?symbol=BTC"
# Or build it yourself from individual endpoints:
# Get current prices (FREE)
curl https://agentservices.to/v1/prices?symbols=BTC,ETH,SOL
# Get technical signals for entry/exit ($0.04)
curl https://agentservices.to/v1/crypto-signals
# Check snapshot-based token risk before buying ($0.03)
# Use a CoinGecko-compatible identifier for portable direct HTTP calls.
curl https://api.agentservices.to/v1/token-risk/pepe
# Contract and payment-receipt guidance: docs/token-risk-outcome-contract.md
```
### DeFi Yield Optimizer
```bash
# ALL-IN-ONE: Get DeFi strategy report ($0.25)
# Returns: top yields + protocol TVL + cross-chain comparison + risk flags
curl "https://agentservices.to/v1/defi-strategy"
# Get all yield pools ranked by TVL ($0.02)
curl https://agentservices.to/v1/yields
# Compare yields with risk-adjusted returns ($0.03)
curl https://agentservices.to/v1/yield-comparison
# Check on-chain position for any wallet ($0.02)
curl https://agentservices.to/v1/onchain/0x9863aB6242663FCc84c33632741711dB78f8Fd15
```
### Market Intelligence Agent
```bash
# ALL-IN-ONE: Get market pulse report ($0.05)
# Returns: fear-greed + trending + news + social + whales + global market
curl "https://agentservices.to/v1/market-pulse"
# Get market sentiment (FREE)
curl https://agentservices.to/v1/fear-greed
# Search for latest news on any topic ($0.01)
curl "https://agentservices.to/v1/search?q=base+chain+ecosystem"
# Get trending tokens (FREE)
curl https://agentservices.to/v1/trending
# Get marketing intelligence report ($0.05)
curl "https://agentservices.to/v1/marketing-intel?competitor=blockrun&topic=x402"
```
### Technical Analysis Bot
```bash
# Full technical indicator suite ($0.02)
curl https://agentservices.to/v1/indicators/BTC
# Returns: RSI, MACD, Bollinger Bands, ATR, Support/Resistance levels
# AI-generated market predictions (FREE)
curl https://agentservices.to/v1/predictions
# Combine with on-chain analytics ($0.03)
curl https://agentservices.to/v1/onchain/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045/tokens
```
### Developer Research Agent
```bash
# GitHub trending repos ($0.02)
curl "https://agentservices.to/v1/github-trending?language=python&since=weekly"
# NPM package stats ($0.02)
curl https://agentservices.to/v1/npm-stats/react
# Hacker News sentiment ($0.02)
curl "https://agentservices.to/v1/hn-sentiment?q=AI+agents"
```
### AI Chat / Inference
```bash
# Chat completions via x402 ($0.03)
curl -X POST https://agentservices.to/v1/inference \
-H "Content-Type: application/json" \
-d '{"model":"gpt-5.4-mini","messages":[{"role":"user","content":"Explain x402 in 3 sentences"}]}'
```
### On-Chain Analytics
```bash
# ALL-IN-ONE: Get full on-chain overview ($0.15)
# Returns: whale movements + exchange flows + stablecoin flows + correlation matrix + DeFi TVL
curl "https://agentservices.to/v1/onchain-overview"
# On-chain analytics for any wallet ($0.02)
curl https://agentservices.to/v1/onchain/0x9863aB6242663FCc84c33632741711dB78f8Fd15
# Token holdings for any wallet ($0.03)
curl https://agentservices.to/v1/onchain/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045/tokens
```
---
## Quick Start
### Using curl
```bash
# Free — no payment needed
curl https://agentservices.to/v1/prices?symbols=BTC,ETH
# Paid — returns HTTP 402 with payment instructions in the header
curl -i https://agentservices.to/v1/indicators/BTC
# Response includes x402 payment envelope: network, amount, payTo address
# Agent pays via x402 client, retries with X-Payment header, gets data
```
### Using as MCP Server (Claude Desktop, Cursor, etc.)
```json
{
"mcpServers": {
"agentservices": {
"url": "https://agentservices.to/mcp",
"transport": "streamable-http"
}
}
}
```
13+ MCP tools available: `crypto_prices`, `trending_tokens`, `global_market`, `gas_prices`, `market_predictions`, `crypto_news`, `social_trending`, `technical_indicators`, `defi_yields`, `search_web`, `token_risk`, `crypto_signals`, `onchain_analytics`, `deep_research`, `portfolio_intelligence`, `defi_strategy`, `market_pulse`, `onchain_overview`
### Using with Python
```python
import httpx
# Free endpoints
resp = httpx.get("https://agentservices.to/v1/prices?symbols=BTC,ETH")
prices = resp.json()
# Paid endpoints — use x402 client to handle payment
from x402.client import x402Client
client = x402Client()
result = client.get("https://agentservices.to/v1/indicators/BTC")
# Client handles 402 → pays USDC → retries with payment proof → returns data
```
### Using with JavaScript/TypeScript
```typescript
// Free endpoints
const prices = await fetch("https://agentservices.to/v1/prices?symbols=BTC,ETH").then(r => r.json());
// Paid endpoints — use @x402/facilitator
import { wrapFetchWithPayment } from "@x402/facilitator";
const paidFetch = wrapFetchWithPayment(fetch);
const indicators = await paidFetch("https://agentservices.to/v1/indicators/BTC").then(r => r.json());
```
## Dispute Resolution Engine
AgentServices includes an AI-powered dispute resolution system with 7 policy templates:
| Policy | Use Case |
|--------|----------|
| `freelance-delivery` | Freelancer vs client delivery disputes |
| `milestone-payment` | Milestone-based project payment disputes |
| `sla-monitoring` | Service level agreement violations |
| `api-quality` | API response quality / uptime disputes |
| `bug-bounty` | Bug bounty validity disputes |
| `scope-dispute` | Project scope creep disputes |
| `physical-commerce` | Physical goods transaction disputes |
## Human billing door (ChatGPT / Claude)
Wallet agents continue to pay via **x402 on REST** — unchanged. Humans connecting through ChatGPT Developer Mode or Claude custom connectors can use **Google OAuth + Stripe prepaid credits** on MCP.
| Rail | Who | How |
|------|-----|-----|
| x402 | Wallet agents | Unauthenticated REST → HTTP 402 → USDC on Base |
| Credits | Logged-in humans | Google OAuth on MCP → deduct same USD price from prepaid balance |
**MCP URL for ChatGPT:** `https://agentservices.to/mcp`
### Environment variables
Copy [`.env.example`](.env.example). Required to enable the human door:
| Variable | Purpose |
|----------|---------|
| `GOOGLE_CLIENT_ID` | Google OAuth client ID |
| `GOOGLE_CLIENT_SECRET` | Google OAuth client secret |
| `OAUTH_JWT_SECRET` | Signs MCP bearer tokens (or use `SESSION_SECRET`) |
| `STRIPE_SECRET_KEY` | Stripe API secret key |
| `STRIPE_WEBHOOK_SECRET` | Verifies `checkout.session.completed` webhooks |
| `STRIPE_PRICE_CREDITS_10` | Optional Stripe Price ID for $10 pack (otherwise hardcoded) |
| `PUBLIC_BASE_URL` | Canonical host, e.g. `https://agentservices.to` |
Prepaid credit balances are stored in **Stripe Customer Balance** (one Stripe Customer per Google `sub`). No Redis, Postgres, or other database is required.
Without Google/Stripe vars the API boots in **x402-only mode**.
### Google Cloud Console redirect URIs
Add both hosts:
- `https://agentservices.to/oauth/google/callback`
- `https://api.agentservices.to/oauth/google/callback`
### Stripe webhook
Point Stripe to:
- `https://agentservices.to/billing/webhook`
- `https://api.agentservices.to/billing/webhook`
Event: `checkout.session.completed`
## Discovery & Listings
- [x402 Discovery](https://agentservices.to/.well-known/x402) — Live
- [MCP Registry](https://registry.modelcontextprotocol.io) — Listed as `to.agentservices/agentservices`
- [CDP Bazaar](https://bazaar.coinbase.com) — Extension enabled
- [awesome-x402](https://github.com/xpaysh/awesome-x402) — PR submitted
## Tech Stack
- **FastAPI** (Python 3.11+)
- **x402 v2** payment middleware (Coinbase CDP facilitator)
- **USDC** on **Base Mainnet** (EIP-3009 gasless transfers)
- Deployed on **Vercel** (`agentservices.to` + `api.agentservices.to`, auto-deploy from `main`)
## Coinbase AgentKit Integration
AgentServices includes a built-in [Coinbase AgentKit](https://github.com/coinbase/agentkit) action provider (`agentkit/` directory). This lets any AgentKit agent use AgentServices APIs with typed, documented actions:
```python
from coinbase_agentkit import AgentKit, AgentKitConfig
from agentkit import agentservices_action_provider
agent_kit = AgentKit(AgentKitConfig(
wallet_provider=wallet_provider,
action_providers=[agentservices_action_provider()]
))
```
**18 actions** covering free (prices, fear-greed, trending, gas) and paid endpoints (indicators, DeFi yields, portfolio intelligence, research, onchain analytics, AI inference, and more). See [`agentkit/README.md`](agentkit/README.md) for full documentation.
## License
MIT — Build on it, fork it, integrate it.
## Links
- **API:** [agentservices.to](https://agentservices.to)
- **MCP:** [agentservices.to/mcp](https://agentservices.to/mcp)
- **Discovery:** [agentservices.to/.well-known/x402](https://agentservices.to/.well-known/x402)
- **GitHub:** [github.com/vbkotecha/agentservices-api](https://github.com/vbkotecha/agentservices-api)
- **x402 Protocol:** [x402.org](https://x402.org)
- **Base:** [base.org](https://base.org)