Overview
Tako supports the Machine Payments Protocol (MPP) — an open standard for machine-to-machine payments via HTTP 402. This allows AI agents to discover and pay for Tako API access automatically, without requiring API keys or account signup.How It Works
- Discovery — Agents find Tako’s available endpoints at
https://tako.com/.well-known/mpp.json - 402 Challenge — When an agent calls an MPP endpoint without payment, Tako returns
402 Payment Requiredwith pricing info - Payment — The agent pays via Stripe or Tempo stablecoins
- Access — The agent retries with a payment credential and gets the response
Available Endpoints
Sync endpoints
| Endpoint | Method | Description |
|---|---|---|
/api/mpp/v1/search/fast | POST | Fast data search |
/api/mpp/v1/visualize | POST | Visualize data from a search query |
/api/mpp/v1/thinviz/create | POST | Create a ThinViz card from components |
/api/mpp/v1/charts/edit | POST | Edit a chart using a natural language prompt |
Async endpoints
These endpoints return202 Accepted with a task ID. Poll the corresponding status endpoint using the receipt token from the Payment-Receipt header.
| Endpoint | Method | Description | Poll endpoint | Expected duration |
|---|---|---|---|---|
/api/mpp/v1/threads/deep | POST | Deep knowledge search with full pipeline | /api/mpp/v1/threads/status | 30s – 10 min |
/api/mpp/v1/reports/generate | POST | Generate a research report | /api/mpp/v1/reports/status | 10 – 30 min |
Poll endpoints (free)
| Endpoint | Method | Description |
|---|---|---|
/api/mpp/v1/threads/status | GET | Poll status for deep search tasks |
/api/mpp/v1/reports/status | GET | Poll status for report generation |
Authorization: MPP receipt <token> using the receipt from the original paid request.
Live pricing is available at https://tako.com/.well-known/mpp.json.
Payment Methods
- Stripe — Pay via Stripe PaymentIntent. Agents need a pre-configured Stripe customer with a payment method.
- Tempo — Pay via Tempo stablecoin on-chain transaction.
Authentication Flow
Paid endpoints
Async endpoints (deep search, reports)
Async endpoints return202 Accepted immediately. Use the receipt token to poll for results.
pending, in_progress, completed, failed. Use the since_index query param for incremental event polling.
Request format
MPP endpoints accept the same request body as their non-MPP counterparts. For example,/api/mpp/v1/search/fast accepts the same body as /v1/knowledge_search:
Report generation
Reports use a combined create + dispatch flow:GET /api/mpp/v1/reports/status?report_id=<report_id>.
Discovery Manifest
Agents can discover all MPP-enabled endpoints at:Idempotency
To handle network failures, include anIdempotency-Key header. If the payment was processed but the response was lost, retrying with the same key returns the cached response instead of charging again.
Error Codes
| Status | Meaning |
|---|---|
| 402 | Payment required — includes MPP challenge headers |
| 400 | Malformed credential or unsupported payment method |
| 409 | Payment credential already used (replay) |
| 401 | Invalid receipt token (poll endpoints) |
| 429 | Rate limit exceeded — back off and retry |