{"openapi":"3.1.0","info":{"title":"Trader Ralph Public API","version":"2026-02-28","summary":"Public API documentation for Trader Ralph discovery, registry, and x402 paid reads.","description":"Includes all public endpoints, including discovery docs, agent query, and x402 paid market/macro/perps intelligence reads."},"jsonSchemaDialect":"https://json-schema.org/draft/2020-12/schema","servers":[{"url":"https://traderralph.com"}],"tags":[{"name":"system","description":"Health and service utility endpoints."},{"name":"discovery","description":"Machine-readable discovery and catalog resources."},{"name":"agent-registry","description":"Agent Registry metadata and query endpoints."},{"name":"x402","description":"x402 routes including paid submit/read endpoints and public execution polling routes."}],"components":{"securitySchemes":{"paymentSignature":{"type":"apiKey","in":"header","name":"payment-signature","description":"On-chain Solana transaction signature proving payment for x402 routes."}},"schemas":{"AgentQueryResponse":{"type":"object","required":["ok","query","answer","suggestedEndpoints","discovery"],"properties":{"ok":{"type":"boolean"},"query":{"type":"string"},"answer":{"type":"string"},"suggestedEndpoints":{"type":"array","items":{"type":"object","required":["id","path","runtimePath","url","reason"],"properties":{"id":{"type":"string"},"path":{"type":"string"},"runtimePath":{"type":"string"},"url":{"type":"string"},"reason":{"type":"string"}}}},"discovery":{"type":"object","additionalProperties":{"type":"string"}}}}}},"paths":{"/api/health":{"get":{"tags":["system"],"operationId":"health","summary":"Service health check.","responses":{"200":{"description":"Service is healthy.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true}}}}}}},"/api/agent/query":{"get":{"tags":["agent-registry"],"operationId":"agentQueryGet","summary":"Lightweight public query endpoint for registry testing.","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":512}}],"responses":{"200":{"description":"Deterministic query response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentQueryResponse"}}}}}},"post":{"tags":["agent-registry"],"operationId":"agentQueryPost","summary":"Lightweight public query endpoint for registry testing.","requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string","maxLength":512}},"additionalProperties":true}}}},"responses":{"200":{"description":"Deterministic query response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentQueryResponse"}}}}}}},"/api":{"get":{"tags":["discovery"],"operationId":"discoveryHtml","summary":"Human-readable x402 API catalog page.","responses":{"200":{"description":"HTML catalog.","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/endpoints.json":{"get":{"tags":["discovery"],"operationId":"discoveryJson","summary":"Machine-readable x402 endpoint catalog.","responses":{"200":{"description":"JSON catalog document.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}}}},"/endpoints.txt":{"get":{"tags":["discovery"],"operationId":"discoveryText","summary":"Plain-text x402 endpoint catalog.","responses":{"200":{"description":"Text catalog document.","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/llms.txt":{"get":{"tags":["discovery"],"operationId":"discoveryLlms","summary":"LLM discovery index.","responses":{"200":{"description":"LLM discovery text.","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/dev-skills.txt":{"get":{"tags":["discovery"],"operationId":"discoverySkills","summary":"Developer skills pack for API ingestion.","responses":{"200":{"description":"Skills pack document.","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/api/dev-skills.txt":{"get":{"tags":["discovery"],"operationId":"discoverySkillsAlias","summary":"Alias for /dev-skills.txt.","responses":{"200":{"description":"Skills pack document.","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/openapi.json":{"get":{"tags":["discovery"],"operationId":"discoveryOpenapi","summary":"OpenAPI specification for public routes.","responses":{"200":{"description":"OpenAPI document.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}}}},"/agent-registry/metadata.json":{"get":{"tags":["agent-registry"],"operationId":"agentRegistryMetadata","summary":"Lane-specific Agent Registry metadata document.","responses":{"200":{"description":"Agent metadata payload.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}}}},"/api/endpoints.json":{"get":{"tags":["discovery"],"operationId":"discoveryJsonAlias","summary":"Alias for /endpoints.json.","responses":{"200":{"description":"JSON catalog document.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}}}},"/api/endpoints.txt":{"get":{"tags":["discovery"],"operationId":"discoveryTextAlias","summary":"Alias for /endpoints.txt.","responses":{"200":{"description":"Text catalog document.","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/api/llms.txt":{"get":{"tags":["discovery"],"operationId":"discoveryLlmsAlias","summary":"Alias for /llms.txt.","responses":{"200":{"description":"LLM discovery text.","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/api/openapi.json":{"get":{"tags":["discovery"],"operationId":"discoveryOpenapiAlias","summary":"Alias for /openapi.json.","responses":{"200":{"description":"OpenAPI document.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}}}},"/api/agent-registry/metadata.json":{"get":{"tags":["agent-registry"],"operationId":"agentRegistryMetadataAlias","summary":"Alias for /agent-registry/metadata.json.","responses":{"200":{"description":"Agent metadata payload.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}}}},"/api/x402/read/market_snapshot":{"post":{"tags":["x402"],"operationId":"x402_market_snapshot","summary":"Point-in-time market/account snapshot with valuation context.","description":"Point-in-time market/account snapshot with valuation context. This catalog includes publicly callable x402 routes under /x402/read/* and /x402/exec/*.","security":[{"paymentSignature":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"walletAddress":{"type":"string","description":"Wallet public key to evaluate."},"quoteMint":{"type":"string","description":"Quote asset mint used for valuation context."},"quoteDecimals":{"type":"number","description":"Quote asset decimals when quoteMint is custom."}},"required":["walletAddress"]},"example":{"walletAddress":"YourWalletAddress","quoteMint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","quoteDecimals":6}}}},"responses":{"200":{"description":"Paid request accepted and completed.","headers":{"payment-response":{"description":"x402 settlement metadata for the successful paid request.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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}}}}},"400":{"description":"Invalid request payload."},"402":{"description":"Payment is required before this route can be accessed.","headers":{"payment-required":{"description":"x402 payment requirements for this route.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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"}}}}}},"503":{"description":"Route configuration or upstream dependency unavailable."}}}},"/api/x402/read/market_snapshot_v2":{"post":{"tags":["x402"],"operationId":"x402_market_snapshot_v2","summary":"Extended snapshot including per-mint balances for tracked assets.","description":"Extended snapshot including per-mint balances for tracked assets. This catalog includes publicly callable x402 routes under /x402/read/* and /x402/exec/*.","security":[{"paymentSignature":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"walletAddress":{"type":"string","description":"Wallet public key to evaluate."},"quoteMint":{"type":"string","description":"Quote asset mint used for valuation context."},"quoteDecimals":{"type":"number","description":"Quote asset decimals when quoteMint is custom."},"trackedMints":{"type":"array","items":{"type":"string"},"description":"Additional mints to include in the balances section."}},"required":["walletAddress"]},"example":{"walletAddress":"YourWalletAddress","quoteMint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","trackedMints":["So11111111111111111111111111111111111111112","EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"]}}}},"responses":{"200":{"description":"Paid request accepted and completed.","headers":{"payment-response":{"description":"x402 settlement metadata for the successful paid request.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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"}]}}}},"400":{"description":"Invalid request payload."},"402":{"description":"Payment is required before this route can be accessed.","headers":{"payment-required":{"description":"x402 payment requirements for this route.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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"}}}}}},"503":{"description":"Route configuration or upstream dependency unavailable."}}}},"/api/x402/read/market_token_balance":{"post":{"tags":["x402"],"operationId":"x402_market_token_balance","summary":"Token balance lookup for one wallet and one mint.","description":"Token balance lookup for one wallet and one mint. This catalog includes publicly callable x402 routes under /x402/read/* and /x402/exec/*.","security":[{"paymentSignature":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"walletAddress":{"type":"string","description":"Wallet public key to inspect."},"mint":{"type":"string","description":"Token mint to query (SOL mint supported)."}},"required":["walletAddress","mint"]},"example":{"walletAddress":"YourWalletAddress","mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"}}}},"responses":{"200":{"description":"Paid request accepted and completed.","headers":{"payment-response":{"description":"x402 settlement metadata for the successful paid request.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"balance":{"walletAddress":"YourWalletAddress","mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","balanceAtomic":"42000000","ts":"2026-02-20T19:32:00.000Z"}}}}},"400":{"description":"Invalid request payload."},"402":{"description":"Payment is required before this route can be accessed.","headers":{"payment-required":{"description":"x402 payment requirements for this route.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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"}}}}}},"503":{"description":"Route configuration or upstream dependency unavailable."}}}},"/api/x402/read/market_jupiter_quote":{"post":{"tags":["x402"],"operationId":"x402_market_jupiter_quote","summary":"Single Jupiter quote for exact-in swap sizing across the supported trading universe.","description":"Single Jupiter quote for exact-in swap sizing across the supported trading universe. This catalog includes publicly callable x402 routes under /x402/read/* and /x402/exec/*.","security":[{"paymentSignature":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"inputMint":{"type":"string","description":"Input token mint from supportedTrading.tokens."},"outputMint":{"type":"string","description":"Output token mint from supportedTrading.tokens."},"amount":{"type":"string","description":"Input amount in atomic units."},"slippageBps":{"type":"number","description":"Requested slippage in basis points."}},"required":["inputMint","outputMint","amount"]},"example":{"inputMint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","outputMint":"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB","amount":"100000000","slippageBps":50}}}},"responses":{"200":{"description":"Paid request accepted and completed.","headers":{"payment-response":{"description":"x402 settlement metadata for the successful paid request.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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"]}}}},"400":{"description":"Invalid request payload."},"402":{"description":"Payment is required before this route can be accessed.","headers":{"payment-required":{"description":"x402 payment requirements for this route.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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"}}}}}},"503":{"description":"Route configuration or upstream dependency unavailable."}}}},"/api/x402/read/market_jupiter_quote_batch":{"post":{"tags":["x402"],"operationId":"x402_market_jupiter_quote_batch","summary":"Batch Jupiter quotes (1..20 requests).","description":"Batch Jupiter quotes (1..20 requests). This catalog includes publicly callable x402 routes under /x402/read/* and /x402/exec/*.","security":[{"paymentSignature":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"requests":{"type":"array","items":{"type":"object","additionalProperties":true},"description":"Array of quote requests."}},"required":["requests"]},"example":{"requests":[{"inputMint":"4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R","outputMint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","amount":"25000000","slippageBps":50}]}}}},"responses":{"200":{"description":"Paid request accepted and completed.","headers":{"payment-response":{"description":"x402 settlement metadata for the successful paid request.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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"]}}}},"400":{"description":"Invalid request payload."},"402":{"description":"Payment is required before this route can be accessed.","headers":{"payment-required":{"description":"x402 payment requirements for this route.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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"}}}}}},"503":{"description":"Route configuration or upstream dependency unavailable."}}}},"/api/x402/read/market_ohlcv":{"post":{"tags":["x402"],"operationId":"x402_market_ohlcv","summary":"Hourly OHLCV bars for a mint pair.","description":"Hourly OHLCV bars for a mint pair. This catalog includes publicly callable x402 routes under /x402/read/* and /x402/exec/*.","security":[{"paymentSignature":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"baseMint":{"type":"string","description":"Base asset mint."},"quoteMint":{"type":"string","description":"Quote asset mint."},"lookbackHours":{"type":"number","description":"Historical lookback window."},"limit":{"type":"number","description":"Maximum number of bars in response."},"resolutionMinutes":{"type":"number","description":"Currently only 60 is supported."},"endMs":{"type":"number","description":"End timestamp (ms) for the query window."}},"required":["baseMint","quoteMint"]},"example":{"baseMint":"4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R","quoteMint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","lookbackHours":168,"limit":168,"resolutionMinutes":60}}}},"responses":{"200":{"description":"Paid request accepted and completed.","headers":{"payment-response":{"description":"x402 settlement metadata for the successful paid request.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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"]}}}},"400":{"description":"Invalid request payload."},"402":{"description":"Payment is required before this route can be accessed.","headers":{"payment-required":{"description":"x402 payment requirements for this route.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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"}}}}}},"503":{"description":"Route configuration or upstream dependency unavailable."}}}},"/api/x402/read/market_indicators":{"post":{"tags":["x402"],"operationId":"x402_market_indicators","summary":"Hourly OHLCV + derived indicators for a mint pair.","description":"Hourly OHLCV + derived indicators for a mint pair. This catalog includes publicly callable x402 routes under /x402/read/* and /x402/exec/*.","security":[{"paymentSignature":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"baseMint":{"type":"string","description":"Base asset mint."},"quoteMint":{"type":"string","description":"Quote asset mint."},"lookbackHours":{"type":"number","description":"Historical lookback window."},"limit":{"type":"number","description":"Maximum number of bars in response."},"resolutionMinutes":{"type":"number","description":"Currently only 60 is supported."},"endMs":{"type":"number","description":"End timestamp (ms) for the query window."}},"required":["baseMint","quoteMint"]},"example":{"baseMint":"jtojtomepa8beP8AuQc6eXt5FriJwfFMwQx2v2f9mCL","quoteMint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","lookbackHours":168,"limit":168,"resolutionMinutes":60}}}},"responses":{"200":{"description":"Paid request accepted and completed.","headers":{"payment-response":{"description":"x402 settlement metadata for the successful paid request.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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"]}}}},"400":{"description":"Invalid request payload."},"402":{"description":"Payment is required before this route can be accessed.","headers":{"payment-required":{"description":"x402 payment requirements for this route.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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"}}}}}},"503":{"description":"Route configuration or upstream dependency unavailable."}}}},"/api/x402/read/solana_marks_latest":{"post":{"tags":["x402"],"operationId":"x402_solana_marks_latest","summary":"Latest Loop A mark set from KV hot cache.","description":"Latest Loop A mark set from KV hot cache. This catalog includes publicly callable x402 routes under /x402/read/* and /x402/exec/*.","security":[{"paymentSignature":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"commitment":{"type":"string","enum":["processed","confirmed","finalized"],"description":"Mark commitment filter (default: confirmed)."}},"required":[]},"example":{"commitment":"confirmed"}}}},"responses":{"200":{"description":"Paid request accepted and completed.","headers":{"payment-response":{"description":"x402 settlement metadata for the successful paid request.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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}]}}}}},"400":{"description":"Invalid request payload."},"402":{"description":"Payment is required before this route can be accessed.","headers":{"payment-required":{"description":"x402 payment requirements for this route.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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"}}}}}},"503":{"description":"Route configuration or upstream dependency unavailable."}}}},"/api/x402/read/solana_scores_latest":{"post":{"tags":["x402"],"operationId":"x402_solana_scores_latest","summary":"Latest Loop B score set with optional pair filter.","description":"Latest Loop B score set with optional pair filter. This catalog includes publicly callable x402 routes under /x402/read/* and /x402/exec/*.","security":[{"paymentSignature":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"pairId":{"type":"string","description":"Optional pair id filter (for example SOL:USDC)."}},"required":[]},"example":{"pairId":"SOL:USDC"}}}},"responses":{"200":{"description":"Paid request accepted and completed.","headers":{"payment-response":{"description":"x402 settlement metadata for the successful paid request.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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"]}]}}}}},"400":{"description":"Invalid request payload."},"402":{"description":"Payment is required before this route can be accessed.","headers":{"payment-required":{"description":"x402 payment requirements for this route.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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"}}}}}},"503":{"description":"Route configuration or upstream dependency unavailable."}}}},"/api/x402/read/solana_views_top":{"post":{"tags":["x402"],"operationId":"x402_solana_views_top","summary":"Latest Loop B top views (top movers, stress, anomaly).","description":"Latest Loop B top views (top movers, stress, anomaly). This catalog includes publicly callable x402 routes under /x402/read/* and /x402/exec/*.","security":[{"paymentSignature":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"view":{"type":"string","enum":["all","top_movers","liquidity_stress","anomaly_feed"],"description":"Optional top-view selector (default: all)."}},"required":[]},"example":{"view":"top_movers"}}}},"responses":{"200":{"description":"Paid request accepted and completed.","headers":{"payment-response":{"description":"x402 settlement metadata for the successful paid request.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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}]}}}}},"400":{"description":"Invalid request payload."},"402":{"description":"Payment is required before this route can be accessed.","headers":{"payment-required":{"description":"x402 payment requirements for this route.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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"}}}}}},"503":{"description":"Route configuration or upstream dependency unavailable."}}}},"/api/x402/read/macro_signals":{"post":{"tags":["x402"],"operationId":"x402_macro_signals","summary":"Top-level macro signals bundle.","description":"Top-level macro signals bundle. This catalog includes publicly callable x402 routes under /x402/read/* and /x402/exec/*.","security":[{"paymentSignature":[]}],"responses":{"200":{"description":"Paid request accepted and completed.","headers":{"payment-response":{"description":"x402 settlement metadata for the successful paid request.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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]}}}}},"400":{"description":"Invalid request payload."},"402":{"description":"Payment is required before this route can be accessed.","headers":{"payment-required":{"description":"x402 payment requirements for this route.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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"}}}}}},"503":{"description":"Route configuration or upstream dependency unavailable."}}}},"/api/x402/read/macro_fred_indicators":{"post":{"tags":["x402"],"operationId":"x402_macro_fred_indicators","summary":"FRED indicator set with optional series filters.","description":"FRED indicator set with optional series filters. This catalog includes publicly callable x402 routes under /x402/read/* and /x402/exec/*.","security":[{"paymentSignature":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"seriesIds":{"type":"array","items":{"type":"string"},"description":"Restrict to specific FRED series ids."},"observationStart":{"type":"string","description":"Start date in YYYY-MM-DD format."},"observationEnd":{"type":"string","description":"End date in YYYY-MM-DD format."}},"required":[]},"example":{"seriesIds":["DGS10","UNRATE"],"observationStart":"2024-01-01"}}}},"responses":{"200":{"description":"Paid request accepted and completed.","headers":{"payment-response":{"description":"x402 settlement metadata for the successful paid request.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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":"%"}]}}}},"400":{"description":"Invalid request payload."},"402":{"description":"Payment is required before this route can be accessed.","headers":{"payment-required":{"description":"x402 payment requirements for this route.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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"}}}}}},"503":{"description":"Route configuration or upstream dependency unavailable."}}}},"/api/x402/read/macro_etf_flows":{"post":{"tags":["x402"],"operationId":"x402_macro_etf_flows","summary":"ETF flow analytics with optional ticker filters.","description":"ETF flow analytics with optional ticker filters. This catalog includes publicly callable x402 routes under /x402/read/* and /x402/exec/*.","security":[{"paymentSignature":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"tickers":{"type":"array","items":{"type":"string"},"description":"Restrict ETF flow output to selected tickers."}},"required":[]},"example":{"tickers":["SPY","QQQ"]}}}},"responses":{"200":{"description":"Paid request accepted and completed.","headers":{"payment-response":{"description":"x402 settlement metadata for the successful paid request.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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}]}}}},"400":{"description":"Invalid request payload."},"402":{"description":"Payment is required before this route can be accessed.","headers":{"payment-required":{"description":"x402 payment requirements for this route.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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"}}}}}},"503":{"description":"Route configuration or upstream dependency unavailable."}}}},"/api/x402/read/macro_stablecoin_health":{"post":{"tags":["x402"],"operationId":"x402_macro_stablecoin_health","summary":"Stablecoin system-health metrics with optional coin filters.","description":"Stablecoin system-health metrics with optional coin filters. This catalog includes publicly callable x402 routes under /x402/read/* and /x402/exec/*.","security":[{"paymentSignature":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"coins":{"type":"array","items":{"type":"string"},"description":"Restrict output to selected stablecoin symbols."}},"required":[]},"example":{"coins":["USDC","USDT"]}}}},"responses":{"200":{"description":"Paid request accepted and completed.","headers":{"payment-response":{"description":"x402 settlement metadata for the successful paid request.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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}]}}}},"400":{"description":"Invalid request payload."},"402":{"description":"Payment is required before this route can be accessed.","headers":{"payment-required":{"description":"x402 payment requirements for this route.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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"}}}}}},"503":{"description":"Route configuration or upstream dependency unavailable."}}}},"/api/x402/read/macro_oil_analytics":{"post":{"tags":["x402"],"operationId":"x402_macro_oil_analytics","summary":"Oil and energy macro analytics bundle.","description":"Oil and energy macro analytics bundle. This catalog includes publicly callable x402 routes under /x402/read/* and /x402/exec/*.","security":[{"paymentSignature":[]}],"responses":{"200":{"description":"Paid request accepted and completed.","headers":{"payment-response":{"description":"x402 settlement metadata for the successful paid request.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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"}}}}},"400":{"description":"Invalid request payload."},"402":{"description":"Payment is required before this route can be accessed.","headers":{"payment-required":{"description":"x402 payment requirements for this route.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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"}}}}}},"503":{"description":"Route configuration or upstream dependency unavailable."}}}},"/api/x402/read/perps_funding_surface":{"post":{"tags":["x402"],"operationId":"x402_perps_funding_surface","summary":"Cross-venue perps funding surface for selected symbols.","description":"Cross-venue perps funding surface for selected symbols. This catalog includes publicly callable x402 routes under /x402/read/* and /x402/exec/*.","security":[{"paymentSignature":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"symbols":{"type":"array","items":{"type":"string"},"description":"Optional symbol filter (for example BTC, ETH, SOL)."},"venues":{"type":"string","enum":["hyperliquid","dydx"],"description":"Optional venue filter."},"includeInactive":{"type":"boolean","description":"Include delisted/final-settlement markets."}},"required":[]},"example":{"symbols":["BTC","ETH","SOL"],"venues":["hyperliquid","dydx"],"includeInactive":false}}}},"responses":{"200":{"description":"Paid request accepted and completed.","headers":{"payment-response":{"description":"x402 settlement metadata for the successful paid request.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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":[]}}}},"400":{"description":"Invalid request payload."},"402":{"description":"Payment is required before this route can be accessed.","headers":{"payment-required":{"description":"x402 payment requirements for this route.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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"}}}}}},"503":{"description":"Route configuration or upstream dependency unavailable."}}}},"/api/x402/read/perps_open_interest_surface":{"post":{"tags":["x402"],"operationId":"x402_perps_open_interest_surface","summary":"Cross-venue perps open-interest and dominance surface.","description":"Cross-venue perps open-interest and dominance surface. This catalog includes publicly callable x402 routes under /x402/read/* and /x402/exec/*.","security":[{"paymentSignature":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"symbols":{"type":"array","items":{"type":"string"},"description":"Optional symbol filter (for example BTC, ETH, SOL)."},"venues":{"type":"string","enum":["hyperliquid","dydx"],"description":"Optional venue filter."},"includeInactive":{"type":"boolean","description":"Include delisted/final-settlement markets."}},"required":[]},"example":{"symbols":["BTC","ETH","SOL"],"includeInactive":false}}}},"responses":{"200":{"description":"Paid request accepted and completed.","headers":{"payment-response":{"description":"x402 settlement metadata for the successful paid request.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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":[]}}}},"400":{"description":"Invalid request payload."},"402":{"description":"Payment is required before this route can be accessed.","headers":{"payment-required":{"description":"x402 payment requirements for this route.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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"}}}}}},"503":{"description":"Route configuration or upstream dependency unavailable."}}}},"/api/x402/read/perps_venue_score":{"post":{"tags":["x402"],"operationId":"x402_perps_venue_score","summary":"Venue-level scorecard across selected perps symbols.","description":"Venue-level scorecard across selected perps symbols. This catalog includes publicly callable x402 routes under /x402/read/* and /x402/exec/*.","security":[{"paymentSignature":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"symbols":{"type":"array","items":{"type":"string"},"description":"Optional symbol filter (for example BTC, ETH, SOL)."},"venues":{"type":"string","enum":["hyperliquid","dydx"],"description":"Optional venue filter."},"includeInactive":{"type":"boolean","description":"Include delisted/final-settlement markets."}},"required":[]},"example":{"symbols":["BTC","ETH","SOL"],"venues":["hyperliquid","dydx"],"includeInactive":false}}}},"responses":{"200":{"description":"Paid request accepted and completed.","headers":{"payment-response":{"description":"x402 settlement metadata for the successful paid request.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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":[]}}}},"400":{"description":"Invalid request payload."},"402":{"description":"Payment is required before this route can be accessed.","headers":{"payment-required":{"description":"x402 payment requirements for this route.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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"}}}}}},"503":{"description":"Route configuration or upstream dependency unavailable."}}}},"/api/x402/exec/submit":{"post":{"tags":["x402"],"operationId":"x402_exec_submit","summary":"Submit execution request in relay_signed or privy_execute mode.","description":"Submit execution request in relay_signed or privy_execute mode. This catalog includes publicly callable x402 routes under /x402/read/* and /x402/exec/*.","security":[{"paymentSignature":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"schemaVersion":{"type":"string","enum":["v1"],"description":"Execution submit schema version."},"mode":{"type":"string","enum":["relay_signed","privy_execute"],"description":"Execution mode."},"lane":{"type":"string","enum":["fast","protected","safe"],"description":"Execution lane."},"metadata":{"type":"object","additionalProperties":true,"description":"Optional tracing metadata (source, reason, clientRequestId)."},"relaySigned":{"type":"object","additionalProperties":true,"description":"Required when mode=\"relay_signed\": { encoding: \"base64\", signedTransaction: \"<base64>\" }."},"privyExecute":{"type":"object","additionalProperties":true,"description":"Required when mode=\"privy_execute\": swap intent payload for Privy-backed execution."}},"required":["schemaVersion","mode","lane"]},"example":{"schemaVersion":"v1","mode":"relay_signed","lane":"fast","metadata":{"source":"external-agent","reason":"market-entry","clientRequestId":"cli-001"},"relaySigned":{"encoding":"base64","signedTransaction":"AQABAgMEBQYH"}}}}},"responses":{"200":{"description":"Paid request accepted and completed.","headers":{"payment-response":{"description":"x402 settlement metadata for the successful paid request.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"requestId":"execreq_01HZWXQ6V4KR2Y2XP9VJ6Y3Q7A","status":{"state":"validated","terminal":false,"updatedAt":"2026-03-01T12:00:00.000Z"},"poll":{"statusUrl":"/api/x402/exec/status/execreq_01HZWXQ6V4KR2Y2XP9VJ6Y3Q7A","receiptUrl":"/api/x402/exec/receipt/execreq_01HZWXQ6V4KR2Y2XP9VJ6Y3Q7A"}}}}},"400":{"description":"Invalid request payload."},"402":{"description":"Payment is required before this route can be accessed.","headers":{"payment-required":{"description":"x402 payment requirements for this route.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"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"}}}}}},"503":{"description":"Route configuration or upstream dependency unavailable."}}}},"/api/x402/exec/status/{requestId}":{"get":{"tags":["x402"],"operationId":"x402_exec_status","summary":"Fetch execution status timeline and attempt metadata.","description":"Fetch execution status timeline and attempt metadata. This catalog includes publicly callable x402 routes under /x402/read/* and /x402/exec/*.","parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"},"description":"Path parameter: requestId."}],"responses":{"200":{"description":"Request completed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"requestId":"execreq_01HZWXQ6V4KR2Y2XP9VJ6Y3Q7A","status":{"state":"dispatched","terminal":false,"mode":"relay_signed","lane":"fast","actorType":"anonymous_x402","receivedAt":"2026-03-01T12:00:00.000Z","updatedAt":"2026-03-01T12:00:02.000Z","terminalAt":null},"events":[{"state":"received","at":"2026-03-01T12:00:00.000Z"},{"state":"validated","at":"2026-03-01T12:00:00.050Z"},{"state":"dispatched","at":"2026-03-01T12:00:02.000Z","provider":"helius_sender","attempt":1}],"attempts":[{"attempt":1,"provider":"helius_sender","state":"dispatched","at":"2026-03-01T12:00:02.000Z"}]}}}},"400":{"description":"Invalid request payload."},"503":{"description":"Route configuration or upstream dependency unavailable."}}}},"/api/x402/exec/receipt/{requestId}":{"get":{"tags":["x402"],"operationId":"x402_exec_receipt","summary":"Fetch terminal execution receipt when available.","description":"Fetch terminal execution receipt when available. This catalog includes publicly callable x402 routes under /x402/read/* and /x402/exec/*.","parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"},"description":"Path parameter: requestId."}],"responses":{"200":{"description":"Request completed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"requestId":"execreq_01HZWXQ6V4KR2Y2XP9VJ6Y3Q7A","ready":true,"receipt":{"schemaVersion":"v1","requestId":"execreq_01HZWXQ6V4KR2Y2XP9VJ6Y3Q7A","mode":"relay_signed","lane":"fast","finalStatus":"landed","submittedAt":"2026-03-01T12:00:00.000Z","terminalAt":"2026-03-01T12:00:04.000Z","signatures":["5N1h9KxWw5wxy4A2k8x1oM3E7Z6r3uH2fY5jvYHk3KqA6oQXn5j8vL6pWk2z5b1u7Nq2m4u9n9X7a6s2h3m1"],"provider":"helius_sender","slot":294001234}}}}},"400":{"description":"Invalid request payload."},"503":{"description":"Route configuration or upstream dependency unavailable."}}}}},"externalDocs":{"description":"Trader Ralph discovery links","url":"https://traderralph.com/endpoints.json"},"x-trader-ralph":{"discovery":{"html":"https://traderralph.com/api","json":"https://traderralph.com/endpoints.json","text":"https://traderralph.com/endpoints.txt","llms":"https://traderralph.com/llms.txt","skills":"https://traderralph.com/dev-skills.txt","openapi":"https://traderralph.com/openapi.json","agentRegistryMetadata":"https://traderralph.com/agent-registry/metadata.json"},"queryEndpoint":"https://traderralph.com/api/agent/query","x402BaseUrl":"https://traderralph.com/api/x402/read","paymentHeaders":{"request":"payment-signature","required":"payment-required","response":"payment-response"}}}