Trader Ralph x402 API Catalog version: 2026-02-28 offering: Solana-focused x402 read endpoints for market, macro, and cross-venue perps intelligence. scope: x402 public read endpoints only x402 flow: 1) POST endpoint 2) if unpaid, receive 402 + payment-required 3) pay, retry with payment-signature 4) on success, response includes payment-response verification: payment-signature must reference an on-chain Solana transfer that matches network, mint, payTo, and amount. dev environment uses devnet USDC; staging and production use mainnet USDC. headers: request: payment-signature response: payment-required, payment-response runtime urls: api origin: https://api.trader-ralph.com x402 base path: /api/x402/read x402 base url: https://api.trader-ralph.com/api/x402/read example 402 response: {"ok":false,"error":"payment-required","paymentRequired":{"x402Version":2,"accepts":[{"scheme":"exact","network":"solana-mainnet","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","amount":"25000","payTo":"MerchantWalletAddress","maxTimeoutSeconds":60,"extra":{"route":"market_snapshot","priceUsd":"0.025"}}],"resource":{"uri":"/x402/read/market_snapshot","method":"POST"}}} supported trading tokens: SOL, USDC, USDT, PYUSD, USD1, USDG, JITOSOL, MSOL, JUPSOL, RAY, WIF, JUP, BONK, JTO, PYTH supported trading pairs: SOL/USDC, SOL/USDT, USDC/USDT, USDC/PYUSD, USDC/USD1, USDC/USDG, SOL/JITOSOL, SOL/MSOL, SOL/JUPSOL, RAY/USDC, WIF/USDC, JUP/USDC, BONK/USDC, JTO/USDC, PYTH/USDC discovery: html: https://api.trader-ralph.com/api json: https://api.trader-ralph.com/endpoints.json text: https://api.trader-ralph.com/endpoints.txt llms: https://api.trader-ralph.com/llms.txt skills: https://api.trader-ralph.com/dev-skills.txt openapi: https://api.trader-ralph.com/openapi.json agent registry metadata: https://api.trader-ralph.com/agent-registry/metadata.json endpoints: POST /x402/read/market_snapshot (runtime: https://api.trader-ralph.com/api/x402/read/market_snapshot) - Point-in-time market/account snapshot with valuation context. required: walletAddress:string optional: quoteMint:string, quoteDecimals:number example request: {"walletAddress":"YourWalletAddress","quoteMint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","quoteDecimals":6} example response: {"ok":true,"snapshot":{"ts":"2026-02-20T19:32:00.000Z","baseMint":"So11111111111111111111111111111111111111112","quoteMint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","quoteDecimals":6,"baseBalanceAtomic":"1250000000","quoteBalanceAtomic":"42000000","basePriceQuote":"145.23","portfolioValueQuote":"223.54","baseAllocationPct":81.1}} POST /x402/read/market_snapshot_v2 (runtime: https://api.trader-ralph.com/api/x402/read/market_snapshot_v2) - Extended snapshot including per-mint balances for tracked assets. required: walletAddress:string optional: quoteMint:string, quoteDecimals:number, trackedMints:string[] example request: {"walletAddress":"YourWalletAddress","quoteMint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","trackedMints":["So11111111111111111111111111111111111111112","EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"]} example response: {"ok":true,"snapshot":{"ts":"2026-02-20T19:32:00.000Z","baseMint":"So11111111111111111111111111111111111111112","quoteMint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","quoteDecimals":6,"baseBalanceAtomic":"1250000000","quoteBalanceAtomic":"42000000","basePriceQuote":"145.23","portfolioValueQuote":"223.54","baseAllocationPct":81.1},"balances":[{"mint":"So11111111111111111111111111111111111111112","balanceAtomic":"1250000000"},{"mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","balanceAtomic":"42000000"}]} POST /x402/read/market_token_balance (runtime: https://api.trader-ralph.com/api/x402/read/market_token_balance) - Token balance lookup for one wallet and one mint. required: walletAddress:string, mint:string optional: none example request: {"walletAddress":"YourWalletAddress","mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"} example response: {"ok":true,"balance":{"walletAddress":"YourWalletAddress","mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","balanceAtomic":"42000000","ts":"2026-02-20T19:32:00.000Z"}} POST /x402/read/market_jupiter_quote (runtime: https://api.trader-ralph.com/api/x402/read/market_jupiter_quote) - Single Jupiter quote for exact-in swap sizing across the supported trading universe. required: inputMint:string, outputMint:string, amount:string optional: slippageBps:number example request: {"inputMint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","outputMint":"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB","amount":"100000000","slippageBps":50} example response: {"ok":true,"quote":{"inputMint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","outputMint":"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB","inAmount":"100000000","outAmount":"99964011","priceImpactPct":"0.0003","slippageBps":50,"swapMode":"ExactIn"},"supportedMints":["So11111111111111111111111111111111111111112","EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB","2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo","USD1ttGY1N17NEEHLmELoaybftRBUSErhqYiQzvEmuB","2u1tszSeqZ3qBWF3uNGPFc8TzMk2tdiwknnRMWGWjGWH","J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn","mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So","jupSoLaHXQiZZTSfEWMTRRgpnyFm8f6sZdosWBjx93v","4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R","EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm","JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN","DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263","jtojtomepa8beP8AuQc6eXt5FriJwfFMwQx2v2f9mCL","HZ1JovNiVvGrGNiiYvEozEVgZ58xaU3RKwX8eACQBCt3"],"supportedPairs":["SOL/USDC","SOL/USDT","USDC/USDT","USDC/PYUSD","USDC/USD1","USDC/USDG","SOL/JITOSOL","SOL/MSOL","SOL/JUPSOL","RAY/USDC","WIF/USDC","JUP/USDC","BONK/USDC","JTO/USDC","PYTH/USDC"]} POST /x402/read/market_jupiter_quote_batch (runtime: https://api.trader-ralph.com/api/x402/read/market_jupiter_quote_batch) - Batch Jupiter quotes (1..20 requests). required: requests:Array<{inputMint,outputMint,amount,slippageBps?}> optional: none example request: {"requests":[{"inputMint":"4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R","outputMint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","amount":"25000000","slippageBps":50}]} example response: {"ok":true,"successCount":1,"errorCount":0,"results":[{"ok":true,"index":0,"quote":{"inputMint":"4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R","outputMint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","inAmount":"25000000","outAmount":"58510231","priceImpactPct":"0.0012","route":"Meteora DLMM -> Orca V2"}}],"supportedMints":["So11111111111111111111111111111111111111112","EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB","2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo","USD1ttGY1N17NEEHLmELoaybftRBUSErhqYiQzvEmuB","2u1tszSeqZ3qBWF3uNGPFc8TzMk2tdiwknnRMWGWjGWH","J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn","mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So","jupSoLaHXQiZZTSfEWMTRRgpnyFm8f6sZdosWBjx93v","4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R","EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm","JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN","DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263","jtojtomepa8beP8AuQc6eXt5FriJwfFMwQx2v2f9mCL","HZ1JovNiVvGrGNiiYvEozEVgZ58xaU3RKwX8eACQBCt3"],"supportedPairs":["SOL/USDC","SOL/USDT","USDC/USDT","USDC/PYUSD","USDC/USD1","USDC/USDG","SOL/JITOSOL","SOL/MSOL","SOL/JUPSOL","RAY/USDC","WIF/USDC","JUP/USDC","BONK/USDC","JTO/USDC","PYTH/USDC"]} POST /x402/read/market_ohlcv (runtime: https://api.trader-ralph.com/api/x402/read/market_ohlcv) - Hourly OHLCV bars for a mint pair. required: baseMint:string, quoteMint:string optional: lookbackHours:number, limit:number, resolutionMinutes:number, endMs:number example request: {"baseMint":"4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R","quoteMint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","lookbackHours":168,"limit":168,"resolutionMinutes":60} example response: {"ok":true,"ohlcv":{"baseMint":"4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R","quoteMint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","resolutionMinutes":60,"startMs":1739990400000,"endMs":1740595200000,"limit":168,"lookbackHours":168,"sourcePriorityUsed":["birdeye","dune"],"bars":[{"ts":"2026-02-20T18:00:00.000Z","source":"birdeye","open":144.1,"high":145,"low":143.8,"close":144.7,"volume":1823400}]},"supportedMints":["So11111111111111111111111111111111111111112","EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB","2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo","USD1ttGY1N17NEEHLmELoaybftRBUSErhqYiQzvEmuB","2u1tszSeqZ3qBWF3uNGPFc8TzMk2tdiwknnRMWGWjGWH","J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn","mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So","jupSoLaHXQiZZTSfEWMTRRgpnyFm8f6sZdosWBjx93v","4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R","EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm","JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN","DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263","jtojtomepa8beP8AuQc6eXt5FriJwfFMwQx2v2f9mCL","HZ1JovNiVvGrGNiiYvEozEVgZ58xaU3RKwX8eACQBCt3"],"supportedPairs":["SOL/USDC","SOL/USDT","USDC/USDT","USDC/PYUSD","USDC/USD1","USDC/USDG","SOL/JITOSOL","SOL/MSOL","SOL/JUPSOL","RAY/USDC","WIF/USDC","JUP/USDC","BONK/USDC","JTO/USDC","PYTH/USDC"]} POST /x402/read/market_indicators (runtime: https://api.trader-ralph.com/api/x402/read/market_indicators) - Hourly OHLCV + derived indicators for a mint pair. required: baseMint:string, quoteMint:string optional: lookbackHours:number, limit:number, resolutionMinutes:number, endMs:number example request: {"baseMint":"jtojtomepa8beP8AuQc6eXt5FriJwfFMwQx2v2f9mCL","quoteMint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","lookbackHours":168,"limit":168,"resolutionMinutes":60} example response: {"ok":true,"ohlcv":{"baseMint":"jtojtomepa8beP8AuQc6eXt5FriJwfFMwQx2v2f9mCL","quoteMint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","resolutionMinutes":60,"startMs":1739990400000,"endMs":1740595200000,"limit":168,"lookbackHours":168,"sourcePriorityUsed":["birdeye","dune"],"bars":[{"ts":"2026-02-20T18:00:00.000Z","source":"birdeye","open":144.1,"high":145,"low":143.8,"close":144.7,"volume":1823400}]},"indicators":{"barCount":168,"latestTs":"2026-02-20T18:00:00.000Z","latestClose":144.7,"sma20":142.91,"ema20":143.06,"rsi14":56.28,"macd":{"line":0.37,"signal":0.29,"histogram":0.08},"returnsPct":{"h1":0.22,"h24":2.1,"h168":11.4}},"supportedMints":["So11111111111111111111111111111111111111112","EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB","2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo","USD1ttGY1N17NEEHLmELoaybftRBUSErhqYiQzvEmuB","2u1tszSeqZ3qBWF3uNGPFc8TzMk2tdiwknnRMWGWjGWH","J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn","mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So","jupSoLaHXQiZZTSfEWMTRRgpnyFm8f6sZdosWBjx93v","4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R","EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm","JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN","DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263","jtojtomepa8beP8AuQc6eXt5FriJwfFMwQx2v2f9mCL","HZ1JovNiVvGrGNiiYvEozEVgZ58xaU3RKwX8eACQBCt3"],"supportedPairs":["SOL/USDC","SOL/USDT","USDC/USDT","USDC/PYUSD","USDC/USD1","USDC/USDG","SOL/JITOSOL","SOL/MSOL","SOL/JUPSOL","RAY/USDC","WIF/USDC","JUP/USDC","BONK/USDC","JTO/USDC","PYTH/USDC"]} POST /x402/read/solana_marks_latest (runtime: https://api.trader-ralph.com/api/x402/read/solana_marks_latest) - Latest Loop A mark set from KV hot cache. required: none optional: commitment:"processed" | "confirmed" | "finalized" example request: {"commitment":"confirmed"} example response: {"ok":true,"commitment":"confirmed","marks":{"schemaVersion":"v1","generatedAt":"2026-02-21T20:10:00.000Z","commitment":"confirmed","latestSlot":321490020,"count":1,"marks":[{"baseMint":"So11111111111111111111111111111111111111112","quoteMint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","px":"145.2204","confidence":0.73,"slot":321490020}]}} POST /x402/read/solana_scores_latest (runtime: https://api.trader-ralph.com/api/x402/read/solana_scores_latest) - Latest Loop B score set with optional pair filter. required: none optional: pairId:string example request: {"pairId":"SOL:USDC"} example response: {"ok":true,"pairId":"SOL:USDC","scores":{"schemaVersion":"v1","generatedAt":"2026-02-21T20:11:00.000Z","minute":"2026-02-21T20:11:00.000Z","count":1,"rows":[{"pairId":"SOL:USDC","finalScore":0.91,"explain":["momentum:+0.48","confidence:+0.30"]}]}} POST /x402/read/solana_views_top (runtime: https://api.trader-ralph.com/api/x402/read/solana_views_top) - Latest Loop B top views (top movers, stress, anomaly). required: none optional: view:"all" | "top_movers" | "liquidity_stress" | "anomaly_feed" example request: {"view":"top_movers"} example response: {"ok":true,"view":"top_movers","topMovers":{"schemaVersion":"v1","generatedAt":"2026-02-21T20:12:00.000Z","minute":"2026-02-21T20:12:00.000Z","freshnessMs":540,"count":1,"movers":[{"pairId":"SOL:USDC","pctChange":0.024,"avgConfidence":0.71}]}} POST /x402/read/macro_signals (runtime: https://api.trader-ralph.com/api/x402/read/macro_signals) - Top-level macro signals bundle. required: none optional: none example request: {} (no body required) example response: {"ok":true,"timestamp":"2026-02-20T19:32:00.000Z","verdict":"BUY","bullishCount":5,"totalCount":7,"signals":{"liquidity":{"status":"BULLISH","value":1.18,"sparkline":[1.05,1.09,1.15,1.18]},"flowStructure":{"status":"BULLISH","btcReturn5":3.42,"qqqReturn5":1.23},"macroRegime":{"status":"RISK_ON","qqqRoc20":6.8,"xlpRoc20":1.4},"technicalTrend":{"status":"BULLISH","btcPrice":58234.2,"sma50":56010.8,"sma200":51120.1,"vwap30d":55890.2,"mayerMultiple":1.14,"sparkline":[54120,55210,56600,58234]},"hashRate":{"status":"STABLE","change30d":1.9},"miningCost":{"status":"NEUTRAL"},"fearGreed":{"status":"GREED","value":66,"history":[{"value":63,"date":"2026-02-18"},{"value":66,"date":"2026-02-19"}]}},"meta":{"qqqSparkline":[488.2,491.7,493.1,495.6]}} POST /x402/read/macro_fred_indicators (runtime: https://api.trader-ralph.com/api/x402/read/macro_fred_indicators) - FRED indicator set with optional series filters. required: none optional: seriesIds:string[], observationStart:string, observationEnd:string example request: {"seriesIds":["DGS10","UNRATE"],"observationStart":"2024-01-01"} example response: {"ok":true,"timestamp":"2026-02-20T19:32:00.000Z","configured":true,"series":[{"id":"DGS10","name":"DGS10","value":4.2,"previousValue":4.18,"change":0.02,"changePercent":0.48,"date":"2026-02-19","unit":"%"}]} POST /x402/read/macro_etf_flows (runtime: https://api.trader-ralph.com/api/x402/read/macro_etf_flows) - ETF flow analytics with optional ticker filters. required: none optional: tickers:string[] example request: {"tickers":["SPY","QQQ"]} example response: {"ok":true,"timestamp":"2026-02-20T19:32:00.000Z","summary":{"etfCount":2,"totalVolume":100934200,"totalEstFlow":489000000,"netDirection":"NET INFLOW","inflowCount":2,"outflowCount":0},"etfs":[{"ticker":"SPY","issuer":"State Street","price":512.24,"priceChange":0.42,"volume":65321000,"avgVolume":70210000,"volumeRatio":0.93,"direction":"inflow","estFlow":3340000000}]} POST /x402/read/macro_stablecoin_health (runtime: https://api.trader-ralph.com/api/x402/read/macro_stablecoin_health) - Stablecoin system-health metrics with optional coin filters. required: none optional: coins:string[] example request: {"coins":["USDC","USDT"]} example response: {"ok":true,"timestamp":"2026-02-20T19:32:00.000Z","summary":{"totalMarketCap":150456000000,"totalVolume24h":38421000000,"coinCount":2,"depeggedCount":0,"healthStatus":"HEALTHY"},"stablecoins":[{"id":"usd-coin","symbol":"USDC","name":"USD Coin","price":1,"deviation":0,"pegStatus":"ON PEG","marketCap":41234567890,"volume24h":5321000000,"change24h":0,"change7d":0,"image":null}]} POST /x402/read/macro_oil_analytics (runtime: https://api.trader-ralph.com/api/x402/read/macro_oil_analytics) - Oil and energy macro analytics bundle. required: none optional: none example request: {} (no body required) example response: {"ok":true,"timestamp":"2026-02-20T19:32:00.000Z","configured":true,"fetchedAt":"2026-02-20T19:32:00.000Z","wtiPrice":{"id":"wti-crude","name":"WTI Crude","current":78.4,"previous":77.9,"changePct":0.6,"unit":"USD per barrel","trend":"up","lastUpdated":"2026-02-14"},"brentPrice":{"id":"brent-crude","name":"Brent Crude","current":82.1,"previous":81.8,"changePct":0.4,"unit":"USD per barrel","trend":"stable","lastUpdated":"2026-02-14"},"usProduction":{"id":"us-production","name":"US Production","current":13.2,"previous":13.1,"changePct":0.8,"unit":"million barrels/day","trend":"up","lastUpdated":"2026-02-14"},"usInventory":{"id":"us-inventory","name":"US Inventory","current":427.5,"previous":430.1,"changePct":-0.6,"unit":"million barrels","trend":"down","lastUpdated":"2026-02-14"}} POST /x402/read/perps_funding_surface (runtime: https://api.trader-ralph.com/api/x402/read/perps_funding_surface) - Cross-venue perps funding surface for selected symbols. required: none optional: symbols:string[], venues:("hyperliquid" | "dydx")[], includeInactive:boolean example request: {"symbols":["BTC","ETH","SOL"],"venues":["hyperliquid","dydx"],"includeInactive":false} example response: {"ok":true,"timestamp":"2026-02-27T16:20:00.000Z","symbols":["BTC","ETH","SOL"],"venues":["dydx","hyperliquid"],"includeInactive":false,"count":6,"rows":[{"symbol":"BTC","spreadBps1h":0.0217,"meanFundingBps1h":0.1072,"maxAbsFundingBps1h":0.1189,"byVenue":[{"venue":"dydx","market":"BTC-USD","status":"ACTIVE","fundingRate1h":0.0000119,"fundingBps1h":0.119,"openInterestUsd":27425750.12,"volume24hUsd":104666475.36},{"venue":"hyperliquid","market":"BTC-PERP","status":"ACTIVE","fundingRate1h":0.0000098,"fundingBps1h":0.098,"openInterestUsd":1393855608.24,"volume24hUsd":2054621458.48}]}],"unavailableVenues":[]} POST /x402/read/perps_open_interest_surface (runtime: https://api.trader-ralph.com/api/x402/read/perps_open_interest_surface) - Cross-venue perps open-interest and dominance surface. required: none optional: symbols:string[], venues:("hyperliquid" | "dydx")[], includeInactive:boolean example request: {"symbols":["BTC","ETH","SOL"],"includeInactive":false} example response: {"ok":true,"timestamp":"2026-02-27T16:20:00.000Z","symbols":["BTC","ETH","SOL"],"venues":["dydx","hyperliquid"],"includeInactive":false,"count":6,"rows":[{"symbol":"BTC","totalOpenInterestUsd":1421281358.36,"leaderVenue":"hyperliquid","leaderSharePct":98.07,"byVenue":[{"venue":"dydx","market":"BTC-USD","status":"ACTIVE","markPrice":65747.67,"openInterestNative":417.1607,"openInterestUsd":27425750.12,"sharePct":1.93},{"venue":"hyperliquid","market":"BTC-PERP","status":"ACTIVE","markPrice":65705,"openInterestNative":21196.49314,"openInterestUsd":1393855608.24,"sharePct":98.07}]}],"unavailableVenues":[]} POST /x402/read/perps_venue_score (runtime: https://api.trader-ralph.com/api/x402/read/perps_venue_score) - Venue-level scorecard across selected perps symbols. required: none optional: symbols:string[], venues:("hyperliquid" | "dydx")[], includeInactive:boolean example request: {"symbols":["BTC","ETH","SOL"],"venues":["hyperliquid","dydx"],"includeInactive":false} example response: {"ok":true,"timestamp":"2026-02-27T16:20:00.000Z","symbols":["BTC","ETH","SOL"],"venues":["dydx","hyperliquid"],"includeInactive":false,"recommendedVenue":"hyperliquid","scores":[{"venue":"hyperliquid","score":100,"symbolsCovered":3,"marketsCount":3,"totalOpenInterestUsd":2841203150.41,"totalVolume24hUsd":3228901091.73,"avgAbsFundingBps1h":0.0732,"components":{"oiLog":21.7669,"volumeLog":21.8953,"coverage":3,"fundingPenalty":0.0732}},{"venue":"dydx","score":0,"symbolsCovered":3,"marketsCount":3,"totalOpenInterestUsd":49641012.2,"totalVolume24hUsd":142322832.15,"avgAbsFundingBps1h":0.0483,"components":{"oiLog":17.7205,"volumeLog":18.7734,"coverage":3,"fundingPenalty":0.0483}}],"unavailableVenues":[]}