Install
openclaw skills install @lacryptorina/vedetta-skillBuy pay-per-call market intel via x402. Dual rail: Base USDC (live) and Solana /sol/v1/* (live; ExactSvm paid routes live; FREE: /v1/route + /v1/korra/calls|/news|/lean; paid funnel feed/snapshot/track-record $0.07; SVM client for Sol pay).
openclaw skills install @lacryptorina/vedetta-skillVedetta (https://vedetta.dethboy.com) sells live analyst answers, sentiment-vs-price
divergence, predictions, probes, cached signals, and a verifiable track record
over x402. No signup, no API key: payment is authentication on paid routes.
Every live analyst read is a flat $0.09. FREE (rate-limited): /v1/route and
/v1/korra/{calls,news,lean} (and /sol twins). Paid funnel $0.07:
/v1/feed, /v1/snapshot, /v1/track-record (and /sol twins). Other cached:
/v1/screener $0.03, /v1/history $0.01. Payment settles only on a successful
2xx answer for paid routes.
Descriptive market analysis only — not financial advice.
Product version 2.14.0 (Korra free proxies + $0.07 paid funnel + Base/Sol parity).
| Endpoint | Limit | Role |
|---|---|---|
GET /v1/route | 60/min/IP | Task → endpoint router |
GET /v1/korra/calls | 60/min/IP | Korra open calls + hit/miss (partner JSON) |
GET /v1/korra/news | 30/min/IP | Korra scored news (partner JSON) |
GET /v1/korra/lean | 20/min/IP | Korra lean gauge (partner JSON) |
Mirrored on /sol/v1/*. No x402 payment. Escalate to paid funnel $0.07 → screener $0.03 / history $0.01 → live $0.09 when needed.
ACP note: Virtuals ACP cached snapshot/screener offerings may still be $0.05 escrow — separate from x402 /v1/snapshot @ $0.07.
| Rail | Path | Network (catalog) | Wire 402 | Currency | payTo | Status |
|---|---|---|---|---|---|---|
| Base | /v1/* | eip155:8453 | exact / Base | USDC | 0x21E16F1bc3aA847236354C8193D0cB21cF412eFA | live |
| Solana | /sol/v1/* | solana:mainnet | exact on solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp | USDC | 4kEdSopjVayXZ8DpAe6G3fVEFYDj6cny6AjWEEWr3Hdq | live (ExactSvm paid routes; free funnel open) |
Same USD prices on both rails. The HTTP 402 offer is authoritative per call —
read network, amount, and payTo at runtime; do not hardcode a chain.
Default spend rail: Base (/v1/*) with any EVM x402 client.
Solana: free funnel returns 200 without payment. Paid /sol/v1/* routes
return 402 with solana accepts + payTo 4kEd… until settled with an SVM
x402 client (VEDETTA_X402_SOLANA_PRIVATE_KEY or pay-sol.mjs). Lab Base
pay.mjs is EVM-only — do not use it for /sol/v1/*. Product JSON is identical
on both rails.
2p7BDa8Y5B9pVtTxTbiyWcioqjEnbqXPbMQDAQcoEQJg4kEdSopjVayXZ8DpAe6G3fVEFYDj6cny6AjWEEWr3HdqBKZGaaHUdDnjnm4KqR43shGraWARw2CqM2pSfUEauvV3Free (no payment):
GET https://vedetta.dethboy.com/healthGET /rails.jsonGET /catalog-dual.jsonGET /.well-known/x402.jsonGET /.well-known/x402-sol.jsonGET /.well-known/agents-sol.jsonGET /registry-sol.jsonGET /endpoints-sol.txtGET /llms.txt · GET /SKILL.md019f9096-9541-7e61-8aef-7461ee1a40b0 (name Vedetta, HYBRID)0x379f053f5de57bc1d4d0971f370b648770ed9693 (agent Privy — jobs only)0x21E16F1bc3aA847236354C8193D0cB21cF412eFA (Josef’s required login — not the escrow address; do not ask to “switch login to 0x379f”)sentiment_snapshot / divergence_screener $0.05 (keep; ≠ x402 snapshot @ $0.07)GET /v1/route + /v1/korra/{calls,news,lean} (ACP Setup Resources when registered)/.well-known/8004-vedetta.json — do not remint0x21E1… as ACP escrow/seller; never allowlist OG payTos for ACP jobs; never mix Sol 4kEd… / FluxA 0x1cfd… into ACP seller opsThis skill is the x402 HTTP buyer (/v1/* and /sol/v1/*). For MCP clients (Claude, Cursor, and others), use the separate server:
npx -y vedetta-mcp@2.0.5 — pin @2.0.5 (npm latest; 23 tools = FREE route + korra + paid funnel $0.07 + desk ladder).POST https://vedetta.dethboy.com/mcp with Authorization: Bearer <token> (401 without). Public health: GET /mcp-health. Twenty-three tools, Base catalog only — Sol /sol/v1/* is not wired into MCP.Install examples: https://vedetta.dethboy.com/install
Descriptive market analysis only — not financial advice.
/v1/pulse or cross-asset /v1/screener.Parallel rule: https://vedetta.dethboy.com/sol + same path after host = Sol rail of Base URL.
| Endpoint | Limit | Params | What you get |
|---|---|---|---|
GET …/v1/route | 60/min/IP | task, asset optional | Task → endpoint + price |
GET …/v1/korra/calls | 60/min/IP | asset optional | Korra open calls + hit/miss |
GET …/v1/korra/news | 30/min/IP | asset optional | Korra scored news |
GET …/v1/korra/lean | 20/min/IP | asset optional | Korra lean gauge |
| Endpoint | Limit note | Params | What you get |
|---|---|---|---|
GET …/v1/feed | 402 @ $0.07 | since_id, asset, limit | Desk post stream |
GET …/v1/snapshot | 402 @ $0.07 | asset | Latest cached signal + age |
GET …/v1/track-record | 402 @ $0.07 | asset optional | Logged signal/call history |
| Endpoint | Params | What you get |
|---|---|---|
GET …/v1/ask | q, asset | Live free-form analyst answer |
GET …/v1/consensus | asset | Sentiment × price divergence + confidence |
GET …/v1/equity | asset | US stock divergence read |
GET …/v1/macro | asset | SPX, VIX, US10Y, US2Y, GOLD, OIL, BRENT |
GET …/v1/prediction | asset, horizon=24h|7d|30d | Falsifiable claim + confidence |
GET …/v1/pulse | (none) | Market-wide regime read |
GET …/v1/theme | theme | Theme/narrative deep-dive |
GET …/v1/trend | asset, window=24h|7d|30d | Price-vs-sentiment trajectory |
GET …/v1/news-read | asset | Market-moving story + sentiment |
GET …/v1/house-view | asset | Desk thesis + conviction |
GET …/v1/event | asset | Trigger probe or clean no-event |
GET …/v1/odds | asset | Prediction-market odds vs social |
GET …/v1/social | asset | Bullish %, social score, volume trend |
GET …/v1/narrative | asset | Dominant narrative + 24h change |
| Endpoint | Price | Params | What you get |
|---|---|---|---|
GET …/v1/screener | $0.03 | only=divergent optional | Cross-asset divergence scan |
GET …/v1/history | $0.01 | asset, limit | Backtest / signal history |
Base free smoke: https://vedetta.dethboy.com/v1/route?task=btc · …/v1/korra/calls?asset=BTC
Base paid funnel: https://vedetta.dethboy.com/v1/snapshot?asset=BTC → 402 @ $0.07
Sol twins: same paths under /sol/v1/*
One ticker per call. Authoritative price is always in the 402 offer on paid routes.
Discover (free).
curl -s https://vedetta.dethboy.com/health → ok:true, analyst_link_connected:true.
Rails: curl -s https://vedetta.dethboy.com/rails.json
Free smoke: curl -s 'https://vedetta.dethboy.com/v1/route?task=btc'
Korra: curl -s 'https://vedetta.dethboy.com/v1/korra/calls?asset=BTC'
Pick cheapest correct route.
/v1/route?task=… FREE → /v1/korra/* FREE → feed/snapshot/track-record $0.07 → history $0.01 / screener $0.03 → any live $0.09.
Pay with x402 — Base rail (paid routes only).
mkdir -p ~/.vedetta-client && cd ~/.vedetta-client \
&& npm init -y >/dev/null 2>&1 \
&& npm pkg set type=module >/dev/null \
&& npm i @x402/axios @x402/evm axios viem >/dev/null 2>&1
~/.vedetta-client/pay.mjs:
import { wrapAxiosWithPayment, x402Client } from '@x402/axios';
import { ExactEvmScheme } from '@x402/evm/exact/client';
import { toClientEvmSigner } from '@x402/evm';
import axios from 'axios';
import { createPublicClient, http } from 'viem';
import { base } from 'viem/chains';
import { privateKeyToAccount } from 'viem/accounts';
const key = process.env.VEDETTA_X402_PRIVATE_KEY;
if (!key) { console.error('VEDETTA_X402_PRIVATE_KEY not set'); process.exit(1); }
const account = privateKeyToAccount(key.startsWith('0x') ? key : `0x${key}`);
const publicClient = createPublicClient({ chain: base, transport: http() });
const client = new x402Client();
client.register('eip155:*', new ExactEvmScheme(toClientEvmSigner(account, publicClient)));
const api = wrapAxiosWithPayment(
axios.create({ baseURL: 'https://vedetta.dethboy.com', timeout: 220000 }),
client
);
const path = process.argv[2] || '/v1/history?asset=BTC&limit=1';
const r = await api.get(path);
console.log(JSON.stringify(r.data, null, 2));
cd ~/.vedetta-client && node pay.mjs '/v1/consensus?asset=BTC'
# cheapest paid Base smoke: node pay.mjs '/v1/history?asset=BTC&limit=1' # $0.01
# paid funnel: node pay.mjs '/v1/snapshot?asset=BTC' # $0.07
# free funnel needs no pay client: curl -s 'https://vedetta.dethboy.com/v1/route?task=btc'
# Sol paid path needs SVM scheme + VEDETTA_X402_SOLANA_PRIVATE_KEY (not this EVM script)
Any x402 V2 client works. Prefer offer network/amount/payTo over hardcoded values.
verdict/stance, confidence/sentiment_pct, divergence,
narrative/summary, signal_age_minutes + stale, quality
(structured > parsed > keyword-only > raw). Surface research framing; not advice./v1/route + /v1/korra/{calls,news,lean} (IP rate-limited).
/v1/feed|/snapshot|/track-record are paid $0.07 (402 unpaid). Other paid
smoke: /v1/history ($0.01) or /v1/screener ($0.03), then live desk ($0.09).$0.005/$0.01 rows for feed/track-record. Live wire is 402 @ $0.07.
Trust /.well-known/x402.json + live HTTP status over catalog ghosts. Do not
CDP-warm free korra/route paths./sol too. Paid Sol routes need an SVM
client — do not use Base-only pay.mjs on /sol/v1/*.solana:mainnet / exact-svm; live 402
uses scheme exact on CAIP-2 solana:5eykt4Us…. Trust the offer.vedetta-mcp@2.0.5 (dual-mode: stdio BYO-wallet + hosted --http credits; 23 tools = FREE route+korra + paid funnel $0.07 + desk).curl -s https://vedetta.dethboy.com/health → ok + analyst_link_connected.curl -si 'https://vedetta.dethboy.com/v1/route?task=btc'curl -si 'https://vedetta.dethboy.com/v1/korra/calls?asset=BTC'curl -si 'https://vedetta.dethboy.com/sol/v1/korra/news?asset=BTC'curl -si 'https://vedetta.dethboy.com/v1/snapshot?asset=BTC' → maxAmountRequired=70000curl -si 'https://vedetta.dethboy.com/v1/history?asset=BTC&limit=1'curl -s https://vedetta.dethboy.com/rails.json → version 2.14.0node pay.mjs '/v1/history?asset=BTC&limit=1' ($0.01).node pay-sol.mjs '/sol/v1/history?asset=BTC&limit=1' (SVM key).curl -s https://vedetta.dethboy.com/mcp-health → ok:true, tool_count:23.