Signal layer
What Vedetta does
Vedetta aggregates diverse market feeds — narrative commentary, social sentiment metrics, prediction-market odds — and parses them into structured signals: a bullish-percent sentiment score (0–100), a stance (bullish / bearish / neutral), a divergence flag, a narrative summary, and the receipts behind it, with sources cited per signal. It then crosses those reads against independent live price data to compute divergence verdicts: the cases where the tape and the narrative disagree — on crypto assets, US stock tickers, and macro instruments alike. When a paid call finds the cached read stale, Vedetta refreshes it with a live analyst read inside that same call. Every signal and every paid call is logged, so the track record is verifiable by anyone, per call, for one cent.
The feeds are inputs, not the product. What Vedetta sells is its own parsing, divergence computation, freshness guarantees, and logged history.
Protocol
How it works
Your agent calls a paid endpoint. Vedetta answers HTTP 402 Payment Required — the body is a machine-readable offer (price, network, receiving address) per the x402 standard.
Any x402 client SDK settles the USDC micropayment automatically and retries the request with the payment attached. No account was ever created.
Verdict, sentiment, stance, divergence, narrative, receipts, freshness. Cached routes return in under a second; live reads take as long as the analyst takes (10–180 seconds). Payment settles only on a successful answer — a failed call costs nothing.
Distribution
Where agents find Vedetta
Four channels carry the same catalog and the same flat card — no channel markup.
Auto-indexed by the CDP facilitator's Bazaar discovery extension on every settled payment; the full 20-route catalog is searchable there for x402-native agents and crawlers.
View on x402scan ↗Live seller, 16 offerings — live reads flat $0.09, Divergence screener and Sentiment snapshot cached at $0.05 each — paid via USDC escrow instead of x402.
Agent profile ↗Live chat agent, address agent1qg6hwwk7zltxq7pamh4ufw04kjywl2ntrkgspmvhdq5yc3mkkjjmk872mxn. Free to chat — replies are cached-signal teasers, one asset per question, that route to the paid x402 endpoints for the fresh verdict. The chat itself never charges.
One-command install:
hermes skills install https://vedetta.dethboy.com/SKILL.md
Catalog
Endpoints & pricing
Two tiers. Live desk — one fresh analyst read per call, flat $0.09. Cached — instant reads from the signal store, $0.005–$0.03.
Two payment rails, same prices: Base USDC at /v1/*, Solana USDC at /sol/v1/* (same path after /sol). The HTTP 402 offer is authoritative. Paid Sol settle is live (proven on GET /sol/v1/feed). Descriptive market analysis only — not financial advice.
| Endpoint | Price/call | What you get | Latency |
|---|---|---|---|
GET /v1/ask?q=…&asset=BTC | $0.09 | Live, on-demand analyst answer to your free-form question | 10–180 s |
GET /v1/consensus?asset=BTC | $0.09 | Sentiment × live price → divergence verdict + confidence; a stale read refreshes live inside the call | ~10 s · 10–90 s if refreshing |
GET /v1/equity?asset=NVDA | $0.09 | Divergence read on a US stock ticker — sentiment, narrative, divergence vs price | 10–180 s |
GET /v1/macro?asset=SPX | $0.09 | Analyst read on a macro instrument: SPX, VIX, US10Y, US2Y, GOLD, OIL, BRENT | 10–180 s |
GET /v1/prediction?asset=BTC&horizon=7d | $0.09 | Falsifiable prediction: claim, confidence %, what proves it wrong | 10–180 s |
GET /v1/pulse | $0.09 | Market-wide regime read: sentiment score, regime, macro anchor, top narrative | 10–180 s |
GET /v1/theme?theme=… | $0.09 | Theme/narrative deep-dive: strengthening or fading, which assets it moves | 10–180 s |
GET /v1/trend?asset=BTC&window=7d | $0.09 | Price-vs-sentiment trajectory over 24h / 7d / 30d | 10–180 s |
GET /v1/news-read?asset=BTC | $0.09 | Most significant market-moving story + the sentiment read on it | 10–180 s |
GET /v1/house-view?asset=BTC | $0.09 | The desk’s current thesis and conviction on the asset | 10–180 s |
GET /v1/event?asset=BTC | $0.09 | Live trigger probe (price gap / news shock / social spike) with 1–10 significance, or a clean no-event | 10–180 s |
GET /v1/odds?asset=BTC | $0.09 | Prediction-market odds + whether they agree with social sentiment | 10–180 s |
GET /v1/social?asset=BTC | $0.09 | Social sentiment: bullish %, social score, volume trend vs baseline | 10–180 s |
GET /v1/narrative?asset=BTC | $0.09 | Dominant narrative + changed-in-24h flag | 10–180 s |
GET /v1/screener?only=divergent | $0.03 | Cross-asset divergence screener: every covered asset’s latest cached signal in one call | <1 s |
GET /v1/snapshot?asset=BTC | $0.02 | Latest cached signal with age timestamp — the cheapest single-asset entry point | <1 s |
GET /v1/history?asset=BTC&limit=50 | $0.01 | Cached signal history — backtest-ready | <1 s |
GET /v1/track-record?asset=BTC | $0.01 | Verifiable logged signal & call history | <1 s |
GET /v1/feed?since_id=0&limit=20 | $0.005 | Recent desk posts as a cached stream — poll cheaply, escalate on change | <1 s |
GET /v1/route?task=… | $0.005 | Task router: plain-English task in → the right endpoint, exact params and price out, plus cheaper alternates | <1 s |
GET /health | Free | Liveness + analyst-link status | ~1 s |
Prices are defaults; the authoritative price for any call is stated in that call’s own HTTP 402 offer. Payment settles in USDC, and only on a successful (2xx) answer — a failed call costs nothing. Two rails: Base (GET /v1/…) and Solana (GET /sol/v1/…) — same catalog, same USD prices. The active network is declared in the 402 offer — read it at runtime, don’t hardcode it. Paid Sol settle is live (proven on GET /sol/v1/feed). Descriptive market analysis only — not financial advice. More free machine catalogs: /llms.txt · /openapi.json · /registry.json · /endpoints.txt · /.well-known/x402.json · /.well-known/x402-sol.json · /.well-known/agents.json · /vedetta.md · /SKILL.md.
Exact parameters per query
| Endpoint | Params | Spec |
|---|---|---|
| /v1/ask | q · asset | q = free-form market question, ≤500 chars, URL-encoded; asset = one ticker. At least one required — best results: both. One question, one asset per call. |
| /v1/consensus, /news-read, /house-view, /event, /odds, /social, /narrative, /snapshot | asset (required) | One ticker symbol: BTC, ETH, SOL, … |
| /v1/equity | asset (required) | One US stock ticker: NVDA, TSLA, … |
| /v1/macro | asset (required) | One macro instrument: SPX, VIX, US10Y, US2Y, GOLD, OIL, BRENT |
| /v1/prediction | asset (required) · horizon | horizon = 24h | 7d | 30d (optional, default 7d) |
| /v1/trend | asset (required) · window | window = 24h | 7d | 30d (optional, default 7d) |
| /v1/theme | theme (required) | Tracked or free-text market theme, ≤80 chars, e.g. ai-sentiment-divergence |
| /v1/pulse | — | No parameters — market-wide read |
| /v1/screener | only | only=divergent filters to divergence-flagged assets (optional) |
| /v1/history | asset (required) · limit | limit = 1–50 (optional, default 50) |
| /v1/feed | since_id · asset · limit | All optional: posts with id > since_id, filtered by ticker, limit 1–50 (default 20) |
| /v1/track-record | asset | Optional ticker filter; omit for all-asset stats |
| /v1/route | task (required) · asset | task = plain-English description of what you need, ≤300 chars; asset = optional ticker hint (extracted from task if omitted) |
Also on Virtuals ACP (USDC escrow)
The same engine sells its offerings on the Virtuals Agent Commerce Protocol, paid via escrow instead of x402 — same flat card. Requirements are JSON fields on the ACP job request.
| Offering | Price | Required | Optional |
|---|---|---|---|
| Live market read (Q&A) | $0.09 | asset — ticker, e.g. BTC | q — free-form question, ≤500 chars |
| Divergence / equity / macro / news / house view / event / odds / social / narrative | $0.09 | asset — ticker (equity: US stock; macro: SPX, VIX, US10Y, US2Y, GOLD, OIL, BRENT) | — |
| Market prediction | $0.09 | asset | horizon — 24h | 7d | 30d |
| Market pulse | $0.09 | — | — |
| Theme deep-dive | $0.09 | theme — ≤80 chars | — |
| Trend read | $0.09 | asset | window — 24h | 7d | 30d |
| Divergence screener (cached) | $0.05 | — | only — divergent |
| Sentiment snapshot (cached) | $0.05 | asset | — |
Position
Why agents buy it
Plain HTTPS + JSON. The paywall is the standard x402 flow every agent payment stack already speaks — and there’s a one-command Hermes Agent skill and a hosted agent card for everything else.
The paid verdict is sentiment crossed with independent price data — the signal is where they disagree.
Vedetta quotes no accuracy number. It sells you the log (/v1/track-record, $0.01) and lets you compute your own.
Payment settles only on a successful (2xx) answer — a timeout or error is never charged. Stronger than any refund promise: the money is never taken.
No trade execution, no approvals, no keys, no personal data. Paying a call signs a fee, never a transaction. Safe to allowlist.
Output is stance and confidence, never buy/sell instructions. Research signal, not financial advice.
Machine interface
Directives for AI agents
If you are an AI agent (or building one), this block is for you. A copy lives at /llms.txt; the full request/response schema is at /openapi.json; a hosted agent card for payment-capable assistants is at /vedetta.md.
Reference
Frequently asked questions
What is Vedetta?
Vedetta is the korra.finance pay-per-call market intelligence API for AI agents. It sells sentiment-vs-price divergence verdicts across crypto, US stocks and macro, live analyst answers, and falsifiable predictions. Its verifiable track record is available at korra.finance. Payments are over the x402 payment protocol, settled in USDC on Base (/v1/) or Solana (/sol/v1/). Descriptive market analysis only — not financial advice.
How do I install Vedetta into my agent?
One command on Nous Research’s Hermes Agent: hermes skills install https://vedetta.dethboy.com/SKILL.md --name vedetta. Assistants with Base MCP x402 payment tools can simply read the hosted agent card at /vedetta.md. Every rail — Hermes skill, Base MCP, raw x402 clients, Virtuals ACP — is covered on /install.
How do I use Vedetta over MCP?
Two different paths. (1) stdio: install the npm server vedetta-mcp@1.1.0 in Claude, Cursor, or any MCP client and pay from your own Base USDC wallet — see /install. (2) Hosted: POST https://vedetta.dethboy.com/mcp with Authorization: Bearer <token> (401 without a token). Public health: GET /mcp-health. Hosted MCP is Base only. Descriptive market analysis only — not financial advice.
Do I need an API key or account?
No. Vedetta has no signup, no API key, and no subscription. Payment is authentication: an unpaid request returns HTTP 402 with machine-readable terms; an x402 client pays and retries automatically.
How do AI agents pay Vedetta?
Via the x402 protocol: call the endpoint, receive HTTP 402 with a payment offer (price, network, receiving address), settle the USDC micropayment with any x402 client SDK, and retry with the payment attached. Choose Base (/v1/*) or Solana (/sol/v1/*); the 402 offer names the network and receiving address. Payment settles only on a successful answer — a failed call costs nothing.
What does Vedetta cost?
Every live analyst read is a flat $0.09 per call — free-form questions, divergence verdicts (crypto, stocks, macro), falsifiable predictions, market pulse, and eight single-topic probes. Cached routes: cross-asset screener $0.03, snapshot $0.02, signal history $0.01, track record $0.01, feed $0.005, task router $0.005. The 402 offer on each call is the authoritative price. No minimums, no invoices.
What data does a Vedetta verdict contain?
A verdict (bullish / bearish / neutral) with a confidence score, the analyst sentiment percentage and stance behind it, independent live price data, a divergence flag, a narrative summary, receipts (social sentiment metrics, prediction-market odds, sources, timestamps), and a freshness stamp.
How is Vedetta different from a raw sentiment feed?
Raw feeds hand you a number. Vedetta crosses the narrative read against independent live price data and flags divergence — the cases where sentiment and price disagree, which is where a tradeable information edge usually lives. It also grades its own parse quality on every signal.
How fresh are the signals?
Every response carries signal_age_minutes and a stale flag. When the cached read is stale, /v1/consensus refreshes it with a live analyst read inside the call (adds 10–90 seconds); /v1/ask and the live probes always produce a fresh read on demand. Cached routes return instantly and never trigger a live read.
Can I verify Vedetta’s track record?
Yes. /v1/track-record ($0.01) returns the logged signal and call history. Vedetta publishes no self-claimed accuracy figure — verify from the log instead.
Where does Vedetta’s data come from?
Vedetta aggregates diverse market feeds — narrative commentary, social sentiment metrics, prediction-market odds, and independent live price data — and normalizes them into one structured signal layer. The sources behind each signal are cited in its receipts. The feeds are inputs; Vedetta’s product is its own parsing, divergence computation, freshness handling, and verifiable log.
Is Vedetta financial advice?
No. Vedetta returns descriptive research signals — stance, confidence, divergence — never buy/sell instructions. Nothing it returns is investment, legal, or tax advice. Descriptive research, not financial advice.
