# Agenstry API reference

> 23 skills exposed across three transports (REST, A2A JSON-RPC, MCP). 15 free skills are rate-limited; 8 paid skills settle per-call (Stripe prepaid balance or Enterprise seat; x402 USDC coming soon).

Pricing: https://agenstry.com/pricing  ·  Transports: REST `https://agenstry.com/api/v1/skills/<id>` · A2A JSON-RPC `POST https://agenstry.com/a2a` · MCP `POST https://agenstry.com/mcp`

---

## Free skills

### `match_skill` — Match canonical skill — free, rate-limited

NL description → canonical skill bucket.

Match a natural-language description to canonical skills in our taxonomy. Multilingual (Dutch / Korean / 100+ langs via E5). Lighter than `compose` — use when you only need the right skill bucket, not the picked agent. Free with rate limit.

**Intent aliases (A2A):** `skill`, `match`, `match_skill`

**Example queries:**
- `skill: convert PDF invoices to structured JSON`
- `match: een agent vinden die facturen leest`

**REST:**
```bash
curl 'https://agenstry.com/api/v1/skills/match_skill?query=convert+PDF+invoices+to+structured+JSON'
```

**A2A JSON-RPC:**
```bash
curl -X POST https://agenstry.com/a2a \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "message/send","params": {"message": {"messageId": "m1","role": "user","parts": [{"kind": "text","text": "skill: convert PDF invoices to structured JSON"}]}}}'
```

**MCP:**
```bash
curl -X POST https://agenstry.com/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "tools/call","params": {"name": "match_skill","arguments": {"query": "skill: convert PDF invoices to structured JSON"}}}'
```

### `find_agent` — Find A2A agent — free, rate-limited

Hybrid BM25 + semantic + quality search.

Hybrid BM25 + semantic + quality search across A2A agents. Multilingual queries supported. Free with rate limit; for intelligence on a returned agent, call agent_stats / get_agent_full.

**Intent aliases (A2A):** `search`, `find`, `find_agent`

**Example queries:**
- `find: hotel reservation agent`
- `search: blockchain analytics`

**REST:**
```bash
curl 'https://agenstry.com/api/v1/skills/find_agent?query=hotel+reservation+agent'
```

**A2A JSON-RPC:**
```bash
curl -X POST https://agenstry.com/a2a \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "message/send","params": {"message": {"messageId": "m1","role": "user","parts": [{"kind": "text","text": "find: hotel reservation agent"}]}}}'
```

**MCP:**
```bash
curl -X POST https://agenstry.com/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "tools/call","params": {"name": "find_agent","arguments": {"query": "find: hotel reservation agent"}}}'
```

### `find_mcp` — Find MCP server — free, rate-limited

Search MCP servers by freeform query.

Search MCP servers by freeform query — matches name, title, description and exposed tools. Free with rate limit.

**Intent aliases (A2A):** `mcp`, `find_mcp`

**Example queries:**
- `mcp: github code search`
- `find mcp: postgres database`

**REST:**
```bash
curl 'https://agenstry.com/api/v1/skills/find_mcp?query=github+code+search'
```

**A2A JSON-RPC:**
```bash
curl -X POST https://agenstry.com/a2a \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "message/send","params": {"message": {"messageId": "m1","role": "user","parts": [{"kind": "text","text": "mcp: github code search"}]}}}'
```

**MCP:**
```bash
curl -X POST https://agenstry.com/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "tools/call","params": {"name": "find_mcp","arguments": {"query": "mcp: github code search"}}}'
```

### `get_agent` — Get agent details — free, rate-limited

Free summary card for one agent.

Free summary card: name, description, skills, quality. For audit-grade history + drift + revenue, use the paid `get_agent_full`.

**Intent aliases (A2A):** `get`, `agent`

**Example queries:**
- `get: silas.sylex.ai`

**REST:**
```bash
curl 'https://agenstry.com/api/v1/skills/get_agent?domain=silas.sylex.ai'
```

**A2A JSON-RPC:**
```bash
curl -X POST https://agenstry.com/a2a \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "message/send","params": {"message": {"messageId": "m1","role": "user","parts": [{"kind": "text","text": "get: silas.sylex.ai"}]}}}'
```

**MCP:**
```bash
curl -X POST https://agenstry.com/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "tools/call","params": {"name": "get_agent","arguments": {"domain": "get: silas.sylex.ai"}}}'
```

### `validate_agent` — Validate agent card — free, rate-limited

Probe a candidate URL.

Probe a candidate URL and return validation + live-response check. Mutates the index by upserting the probe result — that's why this skill is JSON-RPC-only (no REST path).

**Intent aliases (A2A):** `validate`

**Example queries:**
- `validate: https://example.com`

**A2A JSON-RPC:**
```bash
curl -X POST https://agenstry.com/a2a \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "message/send","params": {"message": {"messageId": "m1","role": "user","parts": [{"kind": "text","text": "validate: https://example.com"}]}}}'
```

### `index_stats` — Index stats — free, rate-limited

A2A + MCP funnel breakdowns.

Aggregate statistics about the Agenstry index — A2A + MCP funnel breakdowns. Free.

**Intent aliases (A2A):** `stats`, `status`

**Example queries:**
- `stats`
- `status`

**REST:**
```bash
curl 'https://agenstry.com/api/v1/skills/index_stats?q=stats'
```

**A2A JSON-RPC:**
```bash
curl -X POST https://agenstry.com/a2a \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "message/send","params": {"message": {"messageId": "m1","role": "user","parts": [{"kind": "text","text": "stats"}]}}}'
```

**MCP:**
```bash
curl -X POST https://agenstry.com/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "tools/call","params": {"name": "index_stats","arguments": {"input": "stats"}}}'
```

### `flows_summary` — Money flows — free summary — free, rate-limited

Top-line money-flow numbers + 3-name teaser.

Compact top-line numbers for the agent-economy money flow: total gross USDC across all indexed agents (30d), tx count, count of earning agents, and a 3-name teaser of the leaderboard. Identical shape to what powered the /flows hero cards before commit 619fd47 — kept for callers that want the smallest possible response. For the full top-25 + per-category + per-chain + windows, use the also-free `money_flows`. For time-series + weekly cohorts + per-protocol split, use the paid `flow_trends`.

**Intent aliases (A2A):** `flows_summary`, `flows_basic`, `money_flows_summary`

**Example queries:**
- `flows_summary`
- `flows_basic`

**REST:**
```bash
curl 'https://agenstry.com/api/v1/skills/flows_summary?q=flows_summary'
```

**A2A JSON-RPC:**
```bash
curl -X POST https://agenstry.com/a2a \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "message/send","params": {"message": {"messageId": "m1","role": "user","parts": [{"kind": "text","text": "flows_summary"}]}}}'
```

**MCP:**
```bash
curl -X POST https://agenstry.com/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "tools/call","params": {"name": "flows_summary","arguments": {"input": "flows_summary"}}}'
```

### `money_flows` — Money flows — full snapshot — free, rate-limited

Top-25 ranking + per-category + per-chain + 7/30/90d windows.

Comprehensive on-chain x402 USDC flow snapshot — the data behind the public /flows dashboard. Top-25 ranking by 30d revenue with amounts + tx counts, per-category breakdown, per-chain breakdown, 7/30/90 day side-by-side windowed totals, and a 30-day new-earner growth signal. Sources: every agent we've linked to its public payment wallet on Base + (soon) Solana.

Moved from PAID to FREE in this commit — the snapshot itself isn't complex market intelligence, it's a leaderboard. We charge for the *analytical* layer (`flow_trends` = daily series + weekly cohorts + protocol split; `wallet_intel` = per-wallet portfolio) where the data synthesis adds value beyond what /agents/{domain} already publishes per-agent.

**Intent aliases (A2A):** `money_flows`, `flows`

**Example queries:**
- `money_flows`
- `flows`

**REST:**
```bash
curl 'https://agenstry.com/api/v1/skills/money_flows?q=money_flows'
```

**A2A JSON-RPC:**
```bash
curl -X POST https://agenstry.com/a2a \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "message/send","params": {"message": {"messageId": "m1","role": "user","parts": [{"kind": "text","text": "money_flows"}]}}}'
```

**MCP:**
```bash
curl -X POST https://agenstry.com/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "tools/call","params": {"name": "money_flows","arguments": {"input": "money_flows"}}}'
```

### `trends_summary` — Keyword trends — free summary — free, rate-limited

Top-10 trending keywords this week.

Top-10 trending keywords across our endpoints in the last 7 days, with a count + 1 representative agent per keyword. Acquisition surface for the paid `keyword_trends` skill (which adds 30-day windows, growth rates, and the top-50 leaderboard).

**Intent aliases (A2A):** `trends_summary`, `trending`

**Example queries:**
- `trends_summary`
- `trending`

**REST:**
```bash
curl 'https://agenstry.com/api/v1/skills/trends_summary?q=trends_summary'
```

**A2A JSON-RPC:**
```bash
curl -X POST https://agenstry.com/a2a \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "message/send","params": {"message": {"messageId": "m1","role": "user","parts": [{"kind": "text","text": "trends_summary"}]}}}'
```

**MCP:**
```bash
curl -X POST https://agenstry.com/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "tools/call","params": {"name": "trends_summary","arguments": {"input": "trends_summary"}}}'
```

### `get_agent_full` — Agent details — full audit record — free, rate-limited

Full snapshot for one agent.

Rich detail snapshot for one agent: card, drift history (last 20 hashes), full verification timeline, current LEI status, capability vector, on-chain payment metadata. Free — same data the public /agents/{domain} page already exposes, so charging for the API wrapper would be paywall theatre. Rate-limited.

**Intent aliases (A2A):** `get_agent_full`, `agent_full`

**Example queries:**
- `agent_full: silas.sylex.ai`
- `get_agent_full: tavily.com`

**REST:**
```bash
curl 'https://agenstry.com/api/v1/skills/get_agent_full?domain=silas.sylex.ai'
```

**A2A JSON-RPC:**
```bash
curl -X POST https://agenstry.com/a2a \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "message/send","params": {"message": {"messageId": "m1","role": "user","parts": [{"kind": "text","text": "agent_full: silas.sylex.ai"}]}}}'
```

**MCP:**
```bash
curl -X POST https://agenstry.com/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "tools/call","params": {"name": "get_agent_full","arguments": {"domain": "agent_full: silas.sylex.ai"}}}'
```

### `agent_stats` — Agent stats — free, rate-limited

Uptime + p50 latency + on-chain revenue.

Per-agent observability: uptime over the last 30 days, p50/p95 response time, on-chain x402 USDC revenue across 7/30/90 day windows, drift snapshot count, verification timeline. Free — same data the public /agents/{domain} sparkline + leaderboard already shows. Rate-limited.

**Intent aliases (A2A):** `agent_stats`, `stats_for`

**Example queries:**
- `agent_stats: tavily.com`
- `stats_for: api.deepbluebase.xyz`

**REST:**
```bash
curl 'https://agenstry.com/api/v1/skills/agent_stats?domain=tavily.com'
```

**A2A JSON-RPC:**
```bash
curl -X POST https://agenstry.com/a2a \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "message/send","params": {"message": {"messageId": "m1","role": "user","parts": [{"kind": "text","text": "agent_stats: tavily.com"}]}}}'
```

**MCP:**
```bash
curl -X POST https://agenstry.com/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "tools/call","params": {"name": "agent_stats","arguments": {"domain": "agent_stats: tavily.com"}}}'
```

### `keyword_search` — Keyword search — free, rate-limited

Freeform query → canonical skills + top agents.

Given a freeform query, returns: (1) the canonical skills it maps to, (2) the top agents currently surfacing for that query (BM25 + semantic), (3) the average quality of the matched agents. Same ranking the public search box uses — free. For the paid analytics layer (volume + growth + supply-gap signals) call `keyword_trends`.

**Intent aliases (A2A):** `keyword_search`, `kw_search`

**Example queries:**
- `keyword_search: pdf extraction`
- `keyword_search: hotel reservation in Amsterdam`

**REST:**
```bash
curl 'https://agenstry.com/api/v1/skills/keyword_search?query=pdf+extraction'
```

**A2A JSON-RPC:**
```bash
curl -X POST https://agenstry.com/a2a \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "message/send","params": {"message": {"messageId": "m1","role": "user","parts": [{"kind": "text","text": "keyword_search: pdf extraction"}]}}}'
```

**MCP:**
```bash
curl -X POST https://agenstry.com/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "tools/call","params": {"name": "keyword_search","arguments": {"query": "keyword_search: pdf extraction"}}}'
```

### `similar_agents` — Similar agents — free, rate-limited

Embedding-nearest agents for one domain.

Given an agent domain, returns the top-N agents nearest to it in the embedding space (cosine over unit-norm vectors). Powered by the same `similar_agents_with_scores` repo helper as the public agent-detail page. Each result carries a `similarity` score in [0, 1] and a `via` flag (`embedding` vs `skill_cohort` fallback for agents that haven't been embedded yet). Free, rate-limited.

**Intent aliases (A2A):** `similar_agents`, `similar`

**Example queries:**
- `similar_agents: bitcoinsapi.com`
- `similar: api.deepbluebase.xyz`

**REST:**
```bash
curl 'https://agenstry.com/api/v1/skills/similar_agents?domain=bitcoinsapi.com'
```

**A2A JSON-RPC:**
```bash
curl -X POST https://agenstry.com/a2a \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "message/send","params": {"message": {"messageId": "m1","role": "user","parts": [{"kind": "text","text": "similar_agents: bitcoinsapi.com"}]}}}'
```

**MCP:**
```bash
curl -X POST https://agenstry.com/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "tools/call","params": {"name": "similar_agents","arguments": {"domain": "similar_agents: bitcoinsapi.com"}}}'
```

### `similar_mcps` — Similar MCP servers — free, rate-limited

Embedding-nearest MCPs for one server name.

Given an MCP qualified name, returns the top-N MCP servers nearest to it in the embedding space, with a `via` flag so the caller can tell whether the result came from vec0 cosine or the token-overlap fallback. Mirrors the `/api/mcp-servers/{name}/similar` REST endpoint and the in-page section on the MCP detail page. Free, rate-limited.

**Intent aliases (A2A):** `similar_mcps`, `similar_mcp`

**Example queries:**
- `similar_mcps: com.stayker/1stay`
- `similar_mcp: ai.smithery/flight-search-mcp`

**REST:**
```bash
curl 'https://agenstry.com/api/v1/skills/similar_mcps?name=com.stayker%2F1stay'
```

**A2A JSON-RPC:**
```bash
curl -X POST https://agenstry.com/a2a \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "message/send","params": {"message": {"messageId": "m1","role": "user","parts": [{"kind": "text","text": "similar_mcps: com.stayker/1stay"}]}}}'
```

**MCP:**
```bash
curl -X POST https://agenstry.com/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "tools/call","params": {"name": "similar_mcps","arguments": {"name": "similar_mcps: com.stayker/1stay"}}}'
```

### `similar_skills` — Related canonical skills — free, rate-limited

Embedding-nearest skills for a canonical id.

Given a canonical-skill id, returns the top-N related canonical skills with cosine similarity scores. Useful for skill-graph exploration — if you care about `hospitality.hotel.reservations`, the related list will surface `Lodging and Stays`, `Restaurant and F&B Service`, `Flight Search and Booking` etc. Free, rate-limited.

**Intent aliases (A2A):** `similar_skills`, `related_skills`

**Example queries:**
- `similar_skills: hospitality.hotel.reservations`
- `related_skills: payments.bitcoin.fee_estimation`

**REST:**
```bash
curl 'https://agenstry.com/api/v1/skills/similar_skills?skill_id=hospitality.hotel.reservations'
```

**A2A JSON-RPC:**
```bash
curl -X POST https://agenstry.com/a2a \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "message/send","params": {"message": {"messageId": "m1","role": "user","parts": [{"kind": "text","text": "similar_skills: hospitality.hotel.reservations"}]}}}'
```

**MCP:**
```bash
curl -X POST https://agenstry.com/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "tools/call","params": {"name": "similar_skills","arguments": {"skill_id": "similar_skills: hospitality.hotel.reservations"}}}'
```

---

## Paid skills

Paid skills require either (a) a signed-in session with prepaid balance (top up at /account#prepaid-wallet) or (b) an Enterprise seat key (`Authorization: Bearer ekey_…`). Anonymous calls return HTTP 200 with a `payment_required` body listing the rails.

### `compose` — Compose plan — $0.10 USDC/call

Natural-language task → ranked multi-step plan.

Turn a natural-language task into a structured multi-step plan. Decomposes into canonical skills, picks the best A2A agent OR MCP server per step from our index, and returns per-candidate metadata (conformance, verified-owner, uptime, latency, risk, HITL). LLM tool-use loop driven by gpt-5.4-nano.

**Intent aliases (A2A):** `compose`, `plan`, `route`

**Example queries:**
- `compose: schedule an onboarding call with Acme BV and send a prep email`
- `compose: estimate bitcoin fee and accept a USDC micropayment`
- `plan: quote a hotel room for two in Amsterdam next weekend`

**REST:**
```bash
curl 'https://agenstry.com/api/v1/skills/compose?task=schedule+an+onboarding+call+with+Acme+BV+and+send+a+prep+email'
```

**A2A JSON-RPC:**
```bash
curl -X POST https://agenstry.com/a2a \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "message/send","params": {"message": {"messageId": "m1","role": "user","parts": [{"kind": "text","text": "compose: schedule an onboarding call with Acme BV and send a prep email"}]}}}'
```

**MCP:**
```bash
curl -X POST https://agenstry.com/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "tools/call","params": {"name": "compose","arguments": {"task": "compose: schedule an onboarding call with Acme BV and send a prep email"}}}'
```

### `compose_and_execute` — Compose plan AND execute it — $0.10 USDC/call

Plan + run the steps end-to-end — managed orchestration.

Like compose, but Agenstry also fans out the plan and calls each step's selected agent for you. Free downstream steps run to completion and their results are merged into the response. Paid downstream steps surface their x402 paymentRequirements per step with a 10% margin marker so the caller can settle directly today (self-pay-and-bill via our platform wallet ships next). Bounded at 5 steps per call; per-step timeout 25s. Returns the plan, per-step execution status, aggregated results, and a total caller cost.

**Intent aliases (A2A):** `compose_and_execute`, `execute`, `run`

**Example queries:**
- `execute: find an A2A agent for invoice extraction and pull its agent card`
- `compose_and_execute: search blockchain analytics agents and rank them`
- `run: list MCP servers that expose hotel search tools`

**REST:**
```bash
curl 'https://agenstry.com/api/v1/skills/compose_and_execute?task=find+an+A2A+agent+for+invoice+extraction+and+pull+its+agent+card'
```

**A2A JSON-RPC:**
```bash
curl -X POST https://agenstry.com/a2a \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "message/send","params": {"message": {"messageId": "m1","role": "user","parts": [{"kind": "text","text": "execute: find an A2A agent for invoice extraction and pull its agent card"}]}}}'
```

**MCP:**
```bash
curl -X POST https://agenstry.com/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "tools/call","params": {"name": "compose_and_execute","arguments": {"task": "execute: find an A2A agent for invoice extraction and pull its agent card"}}}'
```

### `skill_market` — Skill market data — $0.05 USDC/call

Per-canonical-skill market shape.

Per-canonical-skill market shape: number of agents serving it, price distribution (min/median/max), quality distribution, growth 30d, top providers ranked by quality.

**Intent aliases (A2A):** `skill_market`, `market`

**Example queries:**
- `skill_market: pdf_extract`
- `market: blockchain_analytics`

**REST:**
```bash
curl 'https://agenstry.com/api/v1/skills/skill_market?skill=pdf_extract'
```

**A2A JSON-RPC:**
```bash
curl -X POST https://agenstry.com/a2a \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "message/send","params": {"message": {"messageId": "m1","role": "user","parts": [{"kind": "text","text": "skill_market: pdf_extract"}]}}}'
```

**MCP:**
```bash
curl -X POST https://agenstry.com/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "tools/call","params": {"name": "skill_market","arguments": {"skill": "skill_market: pdf_extract"}}}'
```

### `provider_intel` — Provider intelligence — $0.10 USDC/call

Per-LEI portfolio + composite trust signal.

Per-provider portfolio + composite trust signal: every agent under one LEI / provider_org, avg quality, verified-card count, signed-card count, jurisdictional metadata, aggregate on-chain revenue across the portfolio.

**Intent aliases (A2A):** `provider_intel`, `provider`

**Example queries:**
- `provider_intel: 549300U4SK7P5XWFXX08`
- `provider: tavily`

**REST:**
```bash
curl 'https://agenstry.com/api/v1/skills/provider_intel?provider=549300U4SK7P5XWFXX08'
```

**A2A JSON-RPC:**
```bash
curl -X POST https://agenstry.com/a2a \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "message/send","params": {"message": {"messageId": "m1","role": "user","parts": [{"kind": "text","text": "provider_intel: 549300U4SK7P5XWFXX08"}]}}}'
```

**MCP:**
```bash
curl -X POST https://agenstry.com/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "tools/call","params": {"name": "provider_intel","arguments": {"provider": "provider_intel: 549300U4SK7P5XWFXX08"}}}'
```

### `flow_trends` — Money-flow trends + cohorts — $0.05 USDC/call

Daily time-series + weekly cohorts + per-protocol split.

Time-series of the agent-economy revenue stream: daily gross + tx + earning-agent count for the requested window (7-180d), weekly cohort table by first-seen date, and per-protocol split (x402 vs ap2 vs stripe_acp vs l402). Designed for hedge-fund / VC market research loops — the kind of caller that wants to see leading indicators (new cohort weekly growth, protocol-mix shift) rather than the current snapshot. Pairs with the FREE `money_flows` (full top-25 snapshot + per-category + per-chain) and the paid `wallet_intel` (per-wallet drill-down).

**Intent aliases (A2A):** `flow_trends`, `trends`

**Example queries:**
- `flow_trends`
- `trends: 90`
- `flow_trends: 14`

**REST:**
```bash
curl 'https://agenstry.com/api/v1/skills/flow_trends?window_days=flow_trends'
```

**A2A JSON-RPC:**
```bash
curl -X POST https://agenstry.com/a2a \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "message/send","params": {"message": {"messageId": "m1","role": "user","parts": [{"kind": "text","text": "flow_trends"}]}}}'
```

**MCP:**
```bash
curl -X POST https://agenstry.com/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "tools/call","params": {"name": "flow_trends","arguments": {"window_days": "flow_trends"}}}'
```

### `wallet_intel` — Wallet intelligence — $0.10 USDC/call

Per-wallet portfolio across the index.

Per-wallet portfolio of every indexed agent that settles into this address. Returns the linked-agent list, 7/30/90 day aggregate inflow, cross-chain presence, and the providers behind the wallet. Pairs with `provider_intel` for the full identity ↔ economics view.

**Intent aliases (A2A):** `wallet_intel`, `wallet`

**Example queries:**
- `wallet_intel: 0x0FF5A6ecef783BBA35463ec2F8403B9B5e9e7C86`
- `wallet: 0x47ffc880cfF2e8F18fD9567faB5a1fBD217B5552`

**REST:**
```bash
curl 'https://agenstry.com/api/v1/skills/wallet_intel?address=0x0FF5A6ecef783BBA35463ec2F8403B9B5e9e7C86'
```

**A2A JSON-RPC:**
```bash
curl -X POST https://agenstry.com/a2a \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "message/send","params": {"message": {"messageId": "m1","role": "user","parts": [{"kind": "text","text": "wallet_intel: 0x0FF5A6ecef783BBA35463ec2F8403B9B5e9e7C86"}]}}}'
```

**MCP:**
```bash
curl -X POST https://agenstry.com/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "tools/call","params": {"name": "wallet_intel","arguments": {"address": "wallet_intel: 0x0FF5A6ecef783BBA35463ec2F8403B9B5e9e7C86"}}}'
```

### `keyword_trends` — Keyword trends — what agents are searching for — $0.05 USDC/call

Top queries, growth, related skills.

Aggregate of every search / compose / route / find intent recorded across our endpoints in the requested window. Returns top 50 keywords by volume, growth-rate vs prior window (7d → 7d), the canonical skills + top agents that surface for each keyword, and a list of rising 'movers' (new entries in the top 50 vs last week). Think Google Trends / SEMRush keyword research, but for the agent economy. Free `trends_summary` companion returns the top-10 teaser.

**Intent aliases (A2A):** `keyword_trends`, `trends_kw`

**Example queries:**
- `keyword_trends`
- `keyword_trends: 90`
- `trends_kw`

**REST:**
```bash
curl 'https://agenstry.com/api/v1/skills/keyword_trends?window_days=keyword_trends'
```

**A2A JSON-RPC:**
```bash
curl -X POST https://agenstry.com/a2a \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "message/send","params": {"message": {"messageId": "m1","role": "user","parts": [{"kind": "text","text": "keyword_trends"}]}}}'
```

**MCP:**
```bash
curl -X POST https://agenstry.com/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "tools/call","params": {"name": "keyword_trends","arguments": {"window_days": "keyword_trends"}}}'
```

### `agent_callers` — Agent callers — who's calling this agent — $0.05 USDC/call

Per-agent caller breakdown (host / peer / country / surface).

For one agent domain, return the full 30-day caller-attribution breakdown captured by our universal call log: which AI hosts called it (Claude Desktop / Cursor / OpenAI Responses / ChatGPT / n8n / curl / browser), which A2A peer agents called it, caller geography (ISO-2 country), surface mix (a2a / mcp / rest / web / managed_runtime), and the top search intents that surfaced it. The data we uniquely collect — no other registry tracks caller host classification. Designed for one-off competitor research; for cross-platform shift analysis + watchlists + alerts, see the Enterprise tier.

**Intent aliases (A2A):** `agent_callers`, `callers`

**Example queries:**
- `agent_callers: silas.sylex.ai`
- `agent_callers: api.deepbluebase.xyz`

**REST:**
```bash
curl 'https://agenstry.com/api/v1/skills/agent_callers?domain=silas.sylex.ai'
```

**A2A JSON-RPC:**
```bash
curl -X POST https://agenstry.com/a2a \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "message/send","params": {"message": {"messageId": "m1","role": "user","parts": [{"kind": "text","text": "agent_callers: silas.sylex.ai"}]}}}'
```

**MCP:**
```bash
curl -X POST https://agenstry.com/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0","id": "1","method": "tools/call","params": {"name": "agent_callers","arguments": {"domain": "agent_callers: silas.sylex.ai"}}}'
```
