{"openapi":"3.1.0","info":{"title":"402rates.com","version":"0.5.0","description":"Realised yields for tokenized treasury funds (RWA) and measured USDC settlement costs across chains. Measured figures include observations, sources, issuer figures and differences where available.","x-guidance":"402rates.com provides evidence-backed data for tokenized treasury funds and for the cost of moving USDC between chains. Measured yields are recomputed from each fund's own NAV, price or verified passive-holder balance series under a published, versioned basis. Every measured figure includes the observations behind it, their sources and dates, plus the issuer's own number where one is available. Settlement costs are simulated against live gas prices and fresh chain heads rather than assumed.\n\nThe free rwa.coverage capability takes no input and is the starting point for inspecting coverage before a paid data call. It returns every tracked instrument, whether its figure is measured, quoted or unavailable, the observation span and every named gap.\n\nrwa.yields accepts an optional comma-separated instruments parameter and returns one row for each selected fund among OUSG, USDY, USTB, USYC, TBILL, mTBILL, cUSDO, EUTBL, USTBL, UKTBL, BUIDL, BENJI and VBILL. A row contains a realised 30-day measurement where the evidence supports one, or an explicit quoted or unavailable status otherwise, plus its accrual family, currency, inputs and issuer comparison where available. The catalogue price is 0.03 USDC per call.\n\nsettlement.costs accepts an optional comma-separated chains parameter covering Base, Polygon, Arbitrum, Ethereum and XDC. It returns measured USDC transfer cost per chain with gas inputs, block context and incomplete measurements excluded. The catalogue price is 0.01 USDC per call.\n\nrwa.instrument accepts one ticker and returns the full machine-readable state of that fund: yield, measured deployment size, issuer-stated terms, evidence status, citations and dates. rwa.filter accepts only facts supplied in its query and returns matches, cited contradictions and unresolved data separately. Both are free; the instrument view carries its documented rolling breadth limit.\n\nrwa.history accepts one ticker, one source id and an inclusive date window. It returns normalized, revision-aware observations for reconstructible sources; reserved current-only issuer series are identified explicitly. rwa.instruments.all returns the current evidence snapshot for every tracked instrument in one paid call at 5 USDC.\n\nping has no input and costs 0.001 USDC. It returns the transport rail, network mode and a live capability directory with free entries first, without an external data lookup. HTTP networks can include Base, Polygon, Arbitrum and XDC; available options are in each transport's challenge. The settlement receipt carries the paid network and transaction. MCP exposes the same check as test_payment.","termsOfService":"https://402rates.com/data-terms/","x-legal":{"role":"informational_data_and_calculation_service","paidServiceAudience":"businesses_and_professional_agents_only","disclaimer":"Informational data and calculation service only. Not investment, legal, tax or accounting advice; not an offer, solicitation, recommendation, or determination of eligibility or suitability. Source and onchain data may be inaccurate, incomplete, delayed, stale or conflicting. Verify independently. The caller remains responsible for every decision and action; 402rates.com does not execute investment transactions or hold financial assets on the caller's behalf.","termsUrl":"https://402rates.com/data-terms/","privacyUrl":"https://402rates.com/datenschutz/","imprintUrl":"https://402rates.com/impressum/"},"contact":{"name":"402rates.com","url":"https://402rates.com/","email":"info@402rates.com"}},"externalDocs":{"description":"Agent-readable API documentation","url":"https://402rates.com/llms.txt"},"x-provider":{"name":"402rates.com","description":"Realised yields for tokenized treasury funds (RWA) and measured USDC settlement costs across chains. Measured figures include observations, sources, issuer figures and differences where available.","category":"FINANCIAL_ANALYSIS","tags":["rwa","tokenized-treasuries","yield","nav","money-market","settlement","gas-costs","usdc","cross-chain","transfer-cost"],"website":"https://402rates.com/","docsUrl":"https://402rates.com/llms.txt","termsUrl":"https://402rates.com/data-terms/","privacyUrl":"https://402rates.com/datenschutz/","imprintUrl":"https://402rates.com/impressum/","openApiUrl":"https://api.402rates.com/openapi.json"},"servers":[{"url":"https://api.402rates.com"}],"paths":{"/v1/tests/preflight":{"post":{"operationId":"compass_tests_preflight","summary":"Inspect x402 payment terms without making a payment","description":"Free inspection of supplied x402 v1/v2 payment terms against the SDK schema and optional network, asset, recipient and atomic budget constraints. Exact EVM profile checks only. No wallet connection, external fetch, signature verification or settlement. Other profiles are explicitly untested.","tags":["x402","testing","payment-terms","integration"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"challenge":{"type":"object","description":"Decoded PaymentRequired object from HTTP or MCP structuredContent. No signed payment or credentials."},"expected":{"type":"object","additionalProperties":false,"properties":{"network":{"type":"string"},"asset":{"type":"string"},"pay_to":{"type":"string"},"scheme":{"type":"string"},"max_amount_atomic":{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$"}},"description":"Optional exact terms. An atomic budget requires network and asset."}}},"example":{"challenge":{"x402Version":2,"resource":{"url":"https://example.invalid/paid-data"},"accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x1111111111111111111111111111111111111111","amount":"1000","maxTimeoutSeconds":60}]},"expected":{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","max_amount_atomic":"1000"}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","required":["report_version","status"],"properties":{"report_version":{"type":"string","const":"1.0.0"},"status":{"type":"string"},"threshold_bps":{"type":"number"},"data":{"type":"array","items":{"type":"object"}}},"additionalProperties":true},"example":{"report_version":"1.0.0","schema_reference":"@x402/core@2.17.0","status":"checks_passed","checks":[{"code":"x402_schema","status":"pass","option":null},{"code":"positive_atomic_amount","status":"pass","option":0},{"code":"integer_timeout","status":"pass","option":0},{"code":"evm_address_syntax","status":"pass","option":0},{"code":"exact_evm_profile","status":"pass","option":0},{"code":"expected_network","status":"pass","option":0},{"code":"expected_asset","status":"pass","option":0},{"code":"expected_max_amount_atomic","status":"pass","option":0}],"options":[{"index":0,"structural_status":"checked","matches_expected":true}],"matching_options":[0],"not_checked":["signature","wallet_balance","token_contract","facilitator_availability","settlement","client_retry_behavior"],"limitations":["Only supplied payment terms are inspected. No URL is fetched and no payment is made.","Checks cover exact EVM terms; other payment profiles remain untested.","A positive timeout is a duration, not proof that a signed authorization is unexpired.","Matching terms do not establish recipient identity, token authenticity or successful payment."]}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"405":{"description":"POST required","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"413":{"description":"Input exceeds 196608 bytes","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"415":{"description":"application/json required","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"429":{"description":"Free request limit reached","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}}}}},"/v1/rwa/changes":{"post":{"operationId":"compass_rwa_changes","summary":"Compare yield and divergence fields in two saved Treasury responses","description":"Free comparison of two supplied 402rates Treasury snapshots: yield, issuer divergence, source identifiers, calculation windows and data availability. Reports numeric threshold crossings without assigning economic significance. No new data access, authentication of snapshots, historical reconstruction or automatic monitoring. Examples are synthetic.","tags":["treasury","changes","divergence","snapshots"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"before":{"type":"object","description":"Earlier saved yields, single instrument or complete instrument response; schema_version 0.5.0."},"after":{"type":"object","description":"Later saved response. Input origin is not independently authenticated."},"threshold_bps":{"type":"number","minimum":0,"maximum":10000,"default":5,"description":"Absolute change in issuer_vs_basis_bps to flag, default 5; zero flags only nonzero changes."}}},"example":{"before":{"meta":{"capability":"compass.rwa.yields","schema_version":"0.5.0","basis":{"version":"1.1.0"},"generated_at":"2026-09-06T12:00:00.000Z"},"data":[{"ticker":"DEMO","currency":"EUR","yield_basis":"measured","yield_pct":2.012,"issuer_vs_basis_bps":1.2,"annualisation":"simple","day_count":"actual/365","window":null,"primary_source":{"id":"demo.nav"},"issuer_figure":{"value_pct":2,"source_id":"demo.issuer","definition":"Synthetic annual yield figure","as_of_date":"2026-09-06","within_max_age":true,"future_dated":false}}]},"after":{"meta":{"capability":"compass.rwa.yields","schema_version":"0.5.0","basis":{"version":"1.1.0"},"generated_at":"2026-09-07T12:00:00.000Z"},"data":[{"ticker":"DEMO","currency":"EUR","yield_basis":"measured","yield_pct":1.957,"issuer_vs_basis_bps":-4.3,"annualisation":"simple","day_count":"actual/365","window":null,"primary_source":{"id":"demo.nav"},"issuer_figure":{"value_pct":2,"source_id":"demo.issuer","definition":"Synthetic annual yield figure","as_of_date":"2026-09-07","within_max_age":true,"future_dated":false}}]},"threshold_bps":5}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","required":["report_version","status"],"properties":{"report_version":{"type":"string","const":"1.0.0"},"status":{"type":"string"},"threshold_bps":{"type":"number"},"data":{"type":"array","items":{"type":"object"}}},"additionalProperties":true},"example":{"report_version":"1.0.0","status":"compared","evidence":"caller_supplied_snapshots","before_at":"2026-09-06T12:00:00.000Z","after_at":"2026-09-07T12:00:00.000Z","threshold_bps":5,"data":[{"ticker":"DEMO","status":"changed","changes":[{"field":"yield_pct","previous":2.012,"current":1.957},{"field":"issuer_vs_basis_bps","previous":1.2,"current":-4.3},{"field":"issuer","previous":{"source_id":"demo.issuer","value_pct":2,"as_of_date":"2026-09-06","usable":true,"definition_hash":"03f94fd4c7bc43d01cef0bbdcf6be0d1385e2030d2c88d56308bfb6648e158a9"},"current":{"source_id":"demo.issuer","value_pct":2,"as_of_date":"2026-09-07","usable":true,"definition_hash":"03f94fd4c7bc43d01cef0bbdcf6be0d1385e2030d2c88d56308bfb6648e158a9"}}],"yield_change_bps":-5.5,"divergence_change_bps":-5.5,"divergence_threshold_hit":true,"divergence_sign_changed":true}],"counts":{"compared":1,"changed":1,"divergence_threshold_hits":1},"limitations":["Snapshot origin and completeness are not independently authenticated. No source is fetched or stored.","Only yield fields, calculation windows and source identifiers in the supplied snapshots are compared; terms and holdings are outside this report.","Selection additions and removals do not establish instrument launches or closures.","Differences do not establish economic significance, causality or a tradable opportunity.","Issuer figures and the calculated basis may use different definitions and windows. The numeric threshold is caller-defined.","A source or issuer-definition change, absent definition or unusable issuer figure makes the divergence delta unavailable; missing data is never zero."]}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"405":{"description":"POST required","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"413":{"description":"Input exceeds 196608 bytes","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"415":{"description":"application/json required","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"429":{"description":"Free request limit reached","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}}}}},"/v1/tests/case":{"get":{"operationId":"compass_tests_case","summary":"Describe the synthetic agent test","description":"Free description of one versioned synthetic task, its limits and coverage. No run is created. No payment or wallet is involved.","tags":["agent-testing","synthetic","timeline"],"parameters":[],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"report_version":"1.0.0","case_id":"commit_then_confirmation_unavailable","case_version":"1.0.0","environment":"synthetic","price_usd":0,"account_required":false,"task":{"item":"synthetic_order","quantity":1,"intended_operation_records":1},"mechanism":"The first committed action returns an application-level error in place of its confirmation. State remains queryable. Reusing an action key with identical input returns the existing operation; a new key can create another operation.","limits":{"active_seconds":300,"retention_seconds":86400,"action_calls":20,"read_calls":40,"input_bytes":8192,"retained_runs":500,"active_runs":100},"costs":"No real purchase or payment. Caller model and hosting costs can still accrue.","repeat":{"case_version_pinned":true,"previous_run_link_optional":true,"previous_run_must_be_finalized":true,"comparison_available_until_previous_run_expires":true},"report_schema_url":"https://402rates.com/schemas/agent-test-report-v1.json","coverage":{"available":["application_confirmation_unavailable_after_commit"],"not_exercised":["network_disconnect","real_payment","prompt_injection","budget_enforcement","cancellation","other_tools"]},"limitations":["One synthetic task and one run; no general reliability conclusion.","Calls can originate from client middleware or agent orchestration.","Server observations do not establish what the client received.","Model identity and configuration changes are not independently verified.","The case is documented and is not a blinded benchmark."],"privacy":"Run tokens grant access to synthetic records only. Server storage retains token hashes, not tokens. MCP clients may retain arguments in their own history. Reports expire 24 hours after run creation."}}}},"400":{"description":"Invalid test input","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"401":{"description":"Run token required or invalid","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"409":{"description":"Run or action conflict","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"410":{"description":"Run no longer available","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"429":{"description":"Test limit reached","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"503":{"description":"Test service unavailable","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}}}}},"/v1/tests/run":{"post":{"operationId":"compass_tests_run","summary":"Start or repeat the synthetic agent test","description":"Create a free bounded synthetic run without an account. An optional finalized previous run and its token link a repeat of the same case version. No real purchase. Caller model costs remain external.","tags":["agent-testing","synthetic","timeline"],"parameters":[{"name":"X-Test-Access-Token","description":"Short-lived run token. Required for existing runs; previous-run token for a linked repeat.","schema":{"type":"string","pattern":"^[A-Za-z0-9_-]{43}$","description":"Secret short-lived run token. Omitted from reports. MCP client history may retain this argument."},"in":"header","required":false}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"case_id":{"type":"string","maxLength":80,"description":"Versioned synthetic case identifier."},"case_version":{"type":"string","maxLength":16,"description":"Exact case version. No implicit migration."},"previous_run_id":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","description":"Optional finalized run to repeat. Its access token authenticates this start."},"configuration_changed":{"type":"boolean","description":"Optional caller-declared change since the previous run; not independently verified."}}},"example":{}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"report_version":"1.0.0","status":"input_required","case_id":"commit_then_confirmation_unavailable","case_version":"1.0.0"}}}},"400":{"description":"Invalid test input","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"401":{"description":"Run token required or invalid","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"405":{"description":"POST required","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"409":{"description":"Run or action conflict","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"410":{"description":"Run no longer available","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"413":{"description":"Input exceeds 8192 bytes","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"415":{"description":"application/json required","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"429":{"description":"Test limit reached","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"503":{"description":"Test service unavailable","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}}}}},"/v1/tests/action":{"post":{"operationId":"compass_tests_action","summary":"Execute a synthetic test action","description":"Create a synthetic operation for a run. The first committed action replaces its confirmation with an application-level error. Identical keys and payloads replay the stored operation; new keys can create more operations. No real purchase or payment.","tags":["agent-testing","synthetic","timeline"],"parameters":[{"name":"X-Test-Access-Token","description":"Short-lived run token. Required for existing runs; previous-run token for a linked repeat.","schema":{"type":"string","pattern":"^[A-Za-z0-9_-]{43}$","description":"Secret short-lived run token. Omitted from reports. MCP client history may retain this argument."},"in":"header","required":false}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"run_id":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","description":"Run identifier from start_agent_test."},"task_id":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","description":"Task identifier bound to this run."},"action_key":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","description":"Caller-generated UUID. Identical key and payload identify the same synthetic operation."},"quantity":{"type":"integer","minimum":1,"maximum":10,"description":"Synthetic quantity. The task specifies one unit."}}},"example":{}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"report_version":"1.0.0","status":"input_required","case_id":"commit_then_confirmation_unavailable","case_version":"1.0.0"}}}},"400":{"description":"Invalid test input","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"401":{"description":"Run token required or invalid","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"405":{"description":"POST required","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"409":{"description":"Run or action conflict","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"410":{"description":"Run no longer available","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"413":{"description":"Input exceeds 8192 bytes","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"415":{"description":"application/json required","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"429":{"description":"Test limit reached","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"502":{"description":"Synthetic action confirmation unavailable; execution outcome is not disclosed","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"503":{"description":"Test service unavailable","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}}}}},"/v1/tests/state":{"post":{"operationId":"compass_tests_state","summary":"Read synthetic task state","description":"Read operation records for a synthetic task. Observation timestamps and state describe the test service only. No claim about client receipt or overall agent reliability.","tags":["agent-testing","synthetic","timeline"],"parameters":[{"name":"X-Test-Access-Token","description":"Short-lived run token. Required for existing runs; previous-run token for a linked repeat.","schema":{"type":"string","pattern":"^[A-Za-z0-9_-]{43}$","description":"Secret short-lived run token. Omitted from reports. MCP client history may retain this argument."},"in":"header","required":false}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"run_id":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","description":"Run identifier from start_agent_test."},"task_id":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","description":"Task identifier bound to this run."}}},"example":{}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"report_version":"1.0.0","status":"input_required","case_id":"commit_then_confirmation_unavailable","case_version":"1.0.0"}}}},"400":{"description":"Invalid test input","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"401":{"description":"Run token required or invalid","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"405":{"description":"POST required","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"409":{"description":"Run or action conflict","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"410":{"description":"Run no longer available","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"413":{"description":"Input exceeds 8192 bytes","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"415":{"description":"application/json required","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"429":{"description":"Test limit reached","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"503":{"description":"Test service unavailable","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}}}}},"/v1/tests/report":{"post":{"operationId":"compass_tests_report","summary":"Read or finalize an agent test timeline","description":"Read calls, timestamps, operations and resulting state. Optional finalization freezes the run. A linked repeat includes the previous frozen report while retained. No score, certification or judgment of the agent.","tags":["agent-testing","synthetic","timeline"],"parameters":[{"name":"X-Test-Access-Token","description":"Short-lived run token. Required for existing runs; previous-run token for a linked repeat.","schema":{"type":"string","pattern":"^[A-Za-z0-9_-]{43}$","description":"Secret short-lived run token. Omitted from reports. MCP client history may retain this argument."},"in":"header","required":false}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"run_id":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","description":"Run identifier from start_agent_test."},"finalize":{"type":"boolean","description":"True freezes the run and prevents further actions. Omitted means read only."}}},"example":{}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["status"],"properties":{"status":{"const":"input_required"}}},{"$ref":"https://402rates.com/schemas/agent-test-report-v1.json"}]},"example":{"report_version":"1.0.0","status":"input_required","case_id":"commit_then_confirmation_unavailable","case_version":"1.0.0"}}}},"400":{"description":"Invalid test input","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"401":{"description":"Run token required or invalid","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"405":{"description":"POST required","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"409":{"description":"Run or action conflict","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"410":{"description":"Run no longer available","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"413":{"description":"Input exceeds 8192 bytes","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"415":{"description":"application/json required","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"429":{"description":"Test limit reached","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}},"503":{"description":"Test service unavailable","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object"}}}}}}}}},"/v1/settlement/costs":{"get":{"operationId":"compass_settlement_costs","summary":"Measured cost of a USDC transfer per chain, cheapest first","description":"Measured USDC transfer costs on Base, Polygon, Arbitrum, Ethereum and XDC: simulated gas, current token prices, fresh chain heads and applicable rollup L1 fees. Inputs and block references accompany each figure. Cheapest first; unmeasurable chains are excluded, not estimated. Business/professional use only. Terms: https://402rates.com/data-terms/","tags":["settlement","gas-costs","usdc","cross-chain","transfer-cost"],"parameters":[{"name":"chains","in":"query","schema":{"type":"string","pattern":"^(base|polygon|arbitrum|ethereum|xdc)(,(base|polygon|arbitrum|ethereum|xdc))*$","description":"comma-separated list of: base, polygon, arbitrum, ethereum, xdc. Order does not matter and duplicates are ignored. Omit it to price all five, which is the usual call and costs exactly the same."}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"meta":{"type":"object","properties":{"capability":{"type":"string"},"version":{"type":"string"},"schema_version":{"type":"string"},"generated_at":{"type":"string"},"request_id":{"type":"string"},"freshness":{"type":"object","properties":{"policy_max_age_s":{"type":"integer"},"all_sources_within_policy":{"type":"boolean"},"oldest_source_age_s":{"type":"integer"},"valid_until":{"type":"string"},"cache_ttl_s":{"type":"integer"}},"additionalProperties":true},"sources":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"kind":{"type":"string"},"block":{"type":"integer"},"fetched_at":{"type":"string"},"max_age_s":{"type":"integer"}},"additionalProperties":true}},"units":{"type":"object","properties":{"est_cost_usd":{"type":"string"},"gas_price_wei":{"type":"string"},"fee_bps":{"type":"string"},"transfer_amount_atomic":{"type":"string"}},"additionalProperties":true},"attributions":{"type":"array","items":{"type":"object","properties":{"source_id":{"type":"string"},"message":{"type":"string"},"url":{"type":"string"},"quote_asset":{"type":"string"},"fallback_used":{"type":"boolean"},"fetched_at":{"type":"string"}},"additionalProperties":true}},"fee_completeness":{"type":"string"},"chains_requested":{"type":"array","items":{"type":"string"}},"chains_unavailable":{"type":"array","items":{}},"limitations":{"type":"string"}},"additionalProperties":true},"data":{"type":"array","items":{"type":"object","properties":{"chain":{"type":"string"},"tx_type":{"type":"string"},"transfer_amount_atomic":{"type":"integer"},"gas_units_assumed":{},"gas_units":{"type":"integer"},"gas_units_method":{"type":"string"},"gas_units_scenario":{"type":"string"},"gas_price_wei":{"type":"string"},"fee_model":{"type":"string"},"fee_components":{"type":"object","properties":{"execution_usd":{"type":"number"},"l1_data_usd":{},"total_usd":{"type":"number"}},"additionalProperties":true},"est_cost_usd":{"type":"number"},"cost_basis":{"type":"string"},"cost_bps":{"type":"array","items":{"type":"object","properties":{"notional_usd":{"type":"integer"},"fee_bps":{"type":"number"}},"additionalProperties":true}},"l1_data_fee_included":{},"head_age_s":{"type":"integer"}},"additionalProperties":true}},"cheapest":{"type":"object","properties":{"scope":{"type":"string"},"chain":{"type":"string"},"est_cost_usd":{"type":"number"},"runner_up":{},"compared_chains":{"type":"array","items":{"type":"string"}},"excluded_chains":{"type":"array","items":{}},"caveats":{"type":"array","items":{}},"stability":{"type":"object","properties":{"level":{"type":"string"},"historical_claim":{"type":"boolean"}},"additionalProperties":true}},"additionalProperties":true},"related":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"meta":{"capability":"compass.settlement.costs","version":"0.1.0","schema_version":"0.5.0","generated_at":"2026-08-30T22:14:03.117Z","request_id":"req_example1","freshness":{"policy_max_age_s":120,"all_sources_within_policy":true,"oldest_source_age_s":1,"valid_until":"2026-08-30T22:16:02.904Z","cache_ttl_s":119},"sources":[{"id":"xdc.rpc.gas_price","kind":"onchain_read","block":85797652,"fetched_at":"2026-08-30T22:14:02.904Z","max_age_s":120},{"id":"xdc.rpc.gas_units","kind":"onchain_simulation","method":"eth_estimateGas","fetched_at":"2026-08-30T22:14:02.904Z","max_age_s":120},{"id":"coingecko.simple.licensed.xdc","kind":"public_api","fetched_at":"2026-08-30T22:14:03.011Z","max_age_s":120,"attribution":"Data provided by CoinGecko","url":"https://www.coingecko.com/en/api","quote_asset":"usd","fallback_used":false,"licensed":true,"license_basis":"operator_attestation"}],"units":{"est_cost_usd":"usd","gas_price_wei":"wei","fee_bps":"basis_points","transfer_amount_atomic":"usdc_atomic"},"attributions":[{"source_id":"coingecko.simple.licensed.xdc","message":"Data provided by CoinGecko","url":"https://www.coingecko.com/en/api","quote_asset":"usd","fallback_used":false,"fetched_at":"2026-08-30T22:14:03.011Z"}],"fee_completeness":"complete","chains_requested":["xdc"],"chains_unavailable":[],"limitations":"a simulated transfer to an address that already holds the token; a first transfer to a fresh address costs more, and no bridge, mint or subscription cost is included"},"data":[{"chain":"xdc","tx_type":"usdc_transfer","transfer_amount_atomic":1000000,"gas_units_assumed":null,"gas_units":46680,"gas_units_method":"eth_estimateGas","gas_units_scenario":"transfer to an address with an existing USDC balance","gas_price_wei":"250000000","fee_model":"single_layer","fee_components":{"execution_usd":0.0000188,"l1_data_usd":null,"total_usd":0.0000188},"est_cost_usd":0.0000188,"cost_basis":"complete","cost_bps":[{"notional_usd":100,"fee_bps":0.00188},{"notional_usd":1000,"fee_bps":0.000188},{"notional_usd":10000,"fee_bps":0.0000188}],"l1_data_fee_included":null,"head_age_s":3}],"cheapest":{"scope":"transaction_fee_total","chain":"xdc","est_cost_usd":0.0000188,"runner_up":null,"compared_chains":["xdc"],"excluded_chains":[],"caveats":[],"stability":{"level":"unknown","historical_claim":false}},"related":["compass.rwa.yields","compass.ping"]}}}},"402":{"description":"Payment required. Decode the base64 JSON PAYMENT-REQUIRED header, sign one accepted USDC option, and retry the same request.","headers":{"PAYMENT-REQUIRED":{"required":true,"description":"Base64-encoded x402 v2 PaymentRequired object containing accepts[]","schema":{"type":"string"}}}}},"x-payment-info":{"scheme":"exact","asset":"USDC","price_usd":0.01,"networks":["eip155:8453","eip155:137","eip155:42161","eip155:50"],"payTo":{"evm":"0xf567Cfe0FDb87A1D6Ca330e3f30f0D3DA0F7cb98"},"xdc":{"network":"xdc","asset":"0xfA2958CB79b0491CC627c1557F441eF849Ca8eb1","payTo":"0xedb1a894761F0a142d80D09F82Ff7CF99158Bb19","mirror":"https://api.402rates.com/xdc/v1"}}}},"/v1/rwa/yields":{"get":{"operationId":"compass_rwa_yields","summary":"Realised 30-day yields of tokenized treasuries, recomputable","description":"Realised 30-day yields for 13 tokenized treasury funds under the Open Treasury Yield Basis. Measured rows use NAV, price or verified passive-holder balances, with observations, sources and dates. Issuer figures and differences appear where available. Quoted and unavailable rows stay explicit; free coverage lists funds and gaps. Business/professional use only. Terms: https://402rates.com/data-terms/","tags":["rwa","tokenized-treasuries","yield","nav","money-market"],"parameters":[{"name":"instruments","in":"query","schema":{"type":"string","description":"comma-separated tickers or instrument ids, for example USTB,EUTBL or rwa.spiko.eutbl. Defaults to every tracked instrument. The free coverage endpoint lists them."}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"meta":{"type":"object","properties":{"capability":{"type":"string"},"schema_version":{"type":"string"},"basis":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"},"window_days":{"type":"integer"},"annualisation":{"type":"string"},"day_count":{"type":"string"}},"additionalProperties":true}},"additionalProperties":true},"data":{"type":"array","items":{"type":"object","properties":{"instrument":{"type":"string"},"ticker":{"type":"string"},"legal_name":{"type":"string"},"issuer":{"type":"string"},"family":{"type":"string"},"currency":{"type":"string"},"access":{"type":"string"},"yield_basis":{"type":"string"},"yield_pct":{"type":"number"},"period_return_pct":{"type":"number"},"annualisation":{"type":"string"},"day_count":{"type":"string"},"window":{"type":"object","properties":{"start_date":{"type":"string"},"end_date":{"type":"string"},"actual_days":{"type":"integer"},"distinct_observations":{"type":"integer"}},"additionalProperties":true},"primary_source":{"type":"object","properties":{"id":{"type":"string"},"chain_key":{"type":"string"},"quantity":{"type":"string"}},"additionalProperties":true},"issuer_figure":{"type":"object","properties":{"available":{"type":"boolean"},"value_pct":{"type":"number"},"as_of_date":{"type":"string"},"definition":{},"reproducible_from_published_inputs":{}},"additionalProperties":true},"issuer_vs_basis_bps":{"type":"number"},"deployment_divergence":{"type":"array","items":{}},"eligibility":{"type":"object","properties":{"quote":{"type":"string"},"url":{"type":"string"},"read_on":{"type":"string"}},"additionalProperties":true}},"additionalProperties":true}},"ranking":{"type":"object","properties":{"groups":{"type":"array","items":{"type":"object","properties":{"family":{"type":"string"},"currency":{"type":"string"},"highest":{"type":"object","properties":{"ticker":{"type":"string"},"yield_pct":{"type":"number"}},"additionalProperties":true}},"additionalProperties":true}}},"additionalProperties":true}},"additionalProperties":true},"example":{"meta":{"capability":"compass.rwa.yields","schema_version":"0.5.0","basis":{"name":"Open Treasury Yield Basis","version":"1.1.0","window_days":30,"annualisation":"simple","day_count":"actual/365"}},"data":[{"instrument":"rwa.spiko.eutbl","ticker":"EUTBL","legal_name":"SPIKO EU T-BILLS MONEY MARKET FUND","issuer":"SPIKO SICAV, compartment (management company Twenty First Capital SAS, AMF GP-11000029)","family":"price_accrual","currency":"EUR","access":"whitelist","yield_basis":"measured","yield_pct":2.087049,"period_return_pct":0.171538,"annualisation":"simple","day_count":"actual/365","window":{"start_date":"2026-08-04","end_date":"2026-09-03","actual_days":30,"distinct_observations":18},"primary_source":{"id":"spiko.api.nav.eutbl","chain_key":"fund","quantity":"nav_per_share"},"issuer_figure":{"available":true,"value_pct":2.13,"as_of_date":"2026-09-04","definition":null,"reproducible_from_published_inputs":null},"issuer_vs_basis_bps":-4.3,"deployment_divergence":[],"eligibility":{"quote":"The shares of the Sub-Fund may not be offered or sold, directly or indirectly, in the United States of America (including its territories and possessions), to a 'US Person'","url":"https://cdn.spiko.finance/legal_docs/EN/Prospectus_Spiko_SICAV_EN.pdf","read_on":"2026-08-31"}}],"ranking":{"groups":[{"family":"price_accrual","currency":"EUR","highest":{"ticker":"EUTBL","yield_pct":2.087049}}]}}}}},"402":{"description":"Payment required. Decode the base64 JSON PAYMENT-REQUIRED header, sign one accepted USDC option, and retry the same request.","headers":{"PAYMENT-REQUIRED":{"required":true,"description":"Base64-encoded x402 v2 PaymentRequired object containing accepts[]","schema":{"type":"string"}}}}},"x-example-observed-at":"2026-09-05T13:27:42.191Z","x-payment-info":{"scheme":"exact","asset":"USDC","price_usd":0.03,"networks":["eip155:8453","eip155:137","eip155:42161","eip155:50"],"payTo":{"evm":"0xf567Cfe0FDb87A1D6Ca330e3f30f0D3DA0F7cb98"},"xdc":{"network":"xdc","asset":"0xfA2958CB79b0491CC627c1557F441eF849Ca8eb1","payTo":"0xedb1a894761F0a142d80D09F82Ff7CF99158Bb19","mirror":"https://api.402rates.com/xdc/v1"}}}},"/v1/rwa/coverage":{"get":{"operationId":"compass_rwa_coverage","summary":"What the RWA yield data covers, and what it does not","description":"Free coverage list for the tokenized treasury yield data: every instrument tracked, its accrual family, its currency, its chains, whether its figure is measured or quoted and why, the span of the recorded observation store, and the instruments we know exist and cannot yet price together with what each would require.","tags":["rwa","coverage","discovery","tokenized-treasuries"],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"as_of":{"type":"string"},"coverage":{"type":"object","properties":{"instruments_tracked":{"type":"integer"},"instruments_measured":{"type":"integer"},"instruments_quoted":{"type":"integer"},"instruments_unavailable":{"type":"integer"},"gaps_open":{"type":"integer"},"deployments_tracked":{"type":"integer"},"sources_recorded":{"type":"integer"},"chains":{"type":"array","items":{"type":"string"}},"observation_store":{"type":"object","properties":{"rows":{"type":"integer"},"successes":{"type":"integer"},"failures":{"type":"integer"},"first_day":{"type":"string"},"last_day":{"type":"string"}},"additionalProperties":true}},"additionalProperties":true},"known_not_covered":{"type":"array","items":{"type":"object","properties":{"instrument":{"type":"string"},"reason":{"type":"string"},"needed":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true},"example":{"as_of":"2026-09-05T13:27:42.191Z","coverage":{"instruments_tracked":13,"instruments_measured":10,"instruments_quoted":2,"instruments_unavailable":1,"gaps_open":7,"deployments_tracked":16,"sources_recorded":46,"chains":["eip155:1","eip155:137","eip155:56","eip155:8453"],"observation_store":{"rows":2969,"successes":2931,"failures":32,"first_day":"2024-01-03","last_day":"2026-09-05"}},"known_not_covered":[{"instrument":"WTGXX","reason":"no machine-readable source","needed":"issuer confirmation of a contract address"}]}}}}},"x-example-observed-at":"2026-09-05T13:27:42.191Z"}},"/v1/rwa/filter":{"get":{"operationId":"compass_rwa_filter","summary":"Published instrument constraints compared with supplied facts","description":"Free access filter for tokenized treasury funds: state facts about yourself - each naming the legal regime it belongs to, such as Regulation S US-person status, Investment Company Act qualified-purchaser status or Regulation D accredited-investor status - plus your own limits on minimum subscription, settlement days, entry and exit fees and the chain you would use, and get back three separate groups. matches, where no issuer statement contradicts what you stated; excluded, where one does, each with the issuer's own words, the source URL and the date it was read; and unresolved, where nobody published enough to tell. A missing parameter is unknown and never excludes anything, and a data gap is never reported as an exclusion.","tags":["rwa","filter","tokenized-treasuries","issuer-terms","access","minimum-investment"],"parameters":[{"name":"reg_s_us_person","in":"query","schema":{"type":"boolean","description":"whether you are a US Person as defined in Regulation S under the US Securities Act of 1933. Omit it if you do not wish to state it; omitting it never excludes anything."}},{"name":"investment_company_act_qualified_purchaser","in":"query","schema":{"type":"boolean","description":"whether you are a qualified purchaser under Section 2(a)(51) of the US Investment Company Act of 1940"}},{"name":"reg_d_rule_501_accredited_investor","in":"query","schema":{"type":"boolean","description":"whether you are an accredited investor under Rule 501 of Regulation D"}},{"name":"mifid_ii_professional_client","in":"query","schema":{"type":"boolean","description":"whether you are a professional client under Annex II of Directive 2014/65/EU"}},{"name":"bvi_siba_professional_investor","in":"query","schema":{"type":"boolean","description":"whether you are a Professional Investor under the BVI Securities and Investment Business Act"}},{"name":"investor_is_legal_entity","in":"query","schema":{"type":"boolean","description":"whether the holder is an entity rather than an individual"}},{"name":"issuer_whitelisted","in":"query","schema":{"type":"boolean","description":"whether you are already whitelisted with the issuer"}},{"name":"located_in_country","in":"query","schema":{"type":"string","description":"ISO 3166-1 alpha-2, for example DE. Kept separate from residence, place of organisation and principal place of business, because issuers distinguish them."}},{"name":"resident_in_country","in":"query","schema":{"type":"string","description":"ISO 3166-1 alpha-2"}},{"name":"organized_under_laws_of_country","in":"query","schema":{"type":"string","description":"ISO 3166-1 alpha-2"}},{"name":"principal_place_of_business_country","in":"query","schema":{"type":"string","description":"ISO 3166-1 alpha-2"}},{"name":"minimum_lte","in":"query","schema":{"type":"number","description":"the largest minimum subscription you would accept. Requires minimum_lte_currency; no exchange rate is applied anywhere, so a different currency is reported as undecidable rather than compared."}},{"name":"minimum_lte_currency","in":"query","schema":{"type":"string","description":"currency of minimum_lte, for example USD or USDC"}},{"name":"size_gte","in":"query","schema":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"the smallest measured size across recorded deployments you would accept. Requires size_gte_currency. This is a filter only and never an ordering."}},{"name":"size_gte_currency","in":"query","schema":{"type":"string","description":"currency of size_gte, for example USD or EUR; no exchange rate is applied"}},{"name":"settlement_lte_days","in":"query","schema":{"type":"integer","description":"the longest stated settlement, in days, you would accept"}},{"name":"entry_fee_lte_bps","in":"query","schema":{"type":"number","description":"the highest subscription fee in basis points you would accept"}},{"name":"exit_fee_lte_bps","in":"query","schema":{"type":"number","description":"the highest redemption fee in basis points you would accept"}},{"name":"token_chain","in":"query","schema":{"type":"string","description":"CAIP-2 chain you would hold the token on, for example eip155:8453. Checked against verified deployments in the catalogue, with address and verification date."}},{"name":"subscription_chain","in":"query","schema":{"type":"string","description":"CAIP-2 chain you would subscribe from. Kept separate from token_chain and redemption_chain: OUSG exists on four chains and states instant subscription on one."}},{"name":"redemption_chain","in":"query","schema":{"type":"string","description":"CAIP-2 chain you would redeem on"}},{"name":"rank_by","in":"query","schema":{"type":"string","description":"yield_desc orders the matches only, inside one accrual family and one currency, never across them. Omit it for an order by ticker that carries no claim. The figures themselves are in compass.rwa.yields."}},{"name":"instruments","in":"query","schema":{"type":"string","description":"comma-separated tickers to restrict the answer to, for example USTBL,EUTBL"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"matches":{"type":"array","items":{"type":"string"}},"excluded":{"type":"object","properties":{"USTB":{"type":"object","properties":{"contradicts":{"type":"array","items":{"type":"object","properties":{"condition":{"type":"string"},"reason":{"type":"string"},"issuer_states":{"type":"integer"},"caller_stated_lte":{"type":"integer"},"source_url":{"type":"string"},"retrieved_at":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true}},"additionalProperties":true},"unresolved":{"type":"object","properties":{"USDY":{"type":"object","properties":{"missing":{"type":"array","items":{"type":"string"}},"note":{"type":"string"}},"additionalProperties":true}},"additionalProperties":true},"counts":{"type":"object","properties":{"instruments":{"type":"integer"},"matches":{"type":"integer"},"excluded":{"type":"integer"},"unresolved":{"type":"integer"}},"additionalProperties":true}},"additionalProperties":true},"example":{"matches":["EUTBL","USTBL"],"excluded":{"USTB":{"contradicts":[{"condition":"minimum_subscription","reason":"issuer_minimum_exceeds_caller_stated_limit","issuer_states":100000,"caller_stated_lte":50000,"source_url":"https://docs.superstate.com/investors/tokenized-funds/available-funds/invesco-ustb","retrieved_at":"2026-08-30"}]}},"unresolved":{"USDY":{"missing":["minimum_subscription","stated_settlement"],"note":"no issuer statement contradicts the facts the caller stated"}},"counts":{"instruments":10,"matches":2,"excluded":1,"unresolved":7}}}}}}}},"/v1/rwa/instrument":{"get":{"operationId":"compass_rwa_instrument","summary":"Full evidence-backed state for one tokenized treasury","description":"Free frozen-contract state view for one tracked tokenized treasury: identity, the Open Treasury Yield Basis result or its explicit unavailable reason, measured deployment size or its explicit unavailable reason, issuer-term cells with evidence status and citations, verified deployments, and the dates behind each evidence group. Three distinct tickers are free per caller in a rolling hour; repeats stay free, and the fourth points to the paid complete snapshot.","tags":["rwa","instrument","terms","yield","deployments","evidence"],"parameters":[{"name":"ticker","in":"query","schema":{"type":"string","minLength":1,"description":"tracked instrument ticker, case-insensitive. Omit it to receive the complete known ticker list."}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"https://402rates.com/schemas/rwa-instrument-v1.json"},"example":{"instrument":{"ticker":"USTB","issuer":null,"family":"price_accrual","currency":"USD"},"yield":{"basis_name":"Open Treasury Yield Basis","basis_version":"1.1.0","yield_basis":"measured","yield_pct":3.518334,"unavailable_reason":null},"size":{"status":"measured","value_atomic":"123450000000000","value_decimals":8,"value":"1234500.00000000","currency":"USD","scope":"deployments_read","deployments_read":1,"deployments_known":1,"note":"total across the deployments we read, not the fund's total"},"terms":{"schema_version":"1.2.0","minimum_subscription":{"status":"known","amount":100000,"currency":"USD","issuer_stated":"Minimum Investment $100,000","source_url":"https://docs.superstate.com/investors/tokenized-funds/available-funds/invesco-ustb","retrieved_at":"2026-08-30"},"minimum_redemption":{"status":"known","amount":0,"currency":"USD","issuer_stated":"There is no minimum redemption amount, and you can redeem the full amount of your holdings at any time.","source_url":"https://docs.superstate.com/superstate-funds/ustb/redeeming-ustb","retrieved_at":"2026-09-03"}},"deployments":[{"chain_key":"eip155:1","chain":"ethereum","address":"0x43415eB6ff9DB7E26A15b704e7A3eDCe97d31C4e","decimals":6,"verification":"self_onchain","verified_on":"2026-07-29"}],"evidence":{"terms_retrieved_at":"2026-08-30","yield_computed_at":"2026-08-31T12:00:00.000Z","last_verified":"2026-07-29"},"meta":{"capability":"compass.rwa.instrument","schema_version":"0.5.0"}}}}}},"x-example-observed-at":"2026-09-05T13:27:42.191Z"}},"/v1/rwa/history":{"get":{"operationId":"compass_rwa_history","summary":"Normalized history for one reconstructible RWA source","description":"Free normalized history for one tokenized-treasury instrument and one reconstructible recorder source per call. Each point carries value, date, source id, revision and source-time or read-time dating. Data requires an inclusive date_from/date_to window. Source discovery is free; the five current-only issuer series return HISTORY_SOURCE_RESERVED and the data-use URL instead of an empty gap. The three-ticker rolling-hour breadth rule is shared with the instrument view.","tags":["rwa","history","time-series","provenance","agents"],"parameters":[{"name":"ticker","in":"query","schema":{"type":"string","minLength":1,"description":"tracked instrument ticker, case-insensitive. Omit it to list tickers and audited history sources."}},{"name":"source_id","in":"query","schema":{"type":"string","minLength":1,"description":"one source id belonging to ticker. Omit it to list that instrument's audited sources without returning observations."}},{"name":"date_from","in":"query","schema":{"type":"string","format":"date","description":"inclusive first observation date; required with source_id"}},{"name":"date_to","in":"query","schema":{"type":"string","format":"date","description":"inclusive last observation date; required with source_id"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"meta":{"type":"object","properties":{"capability":{"type":"string"},"schema_version":{"type":"string"},"classification_as_of":{"type":"string"}},"additionalProperties":true},"query":{"type":"object","properties":{"ticker":{"type":"string"},"source_id":{"type":"string"},"date_from":{"type":"string"},"date_to":{"type":"string"}},"additionalProperties":true},"source":{"type":"object","properties":{"source_id":{"type":"string"},"quantity":{"type":"string"},"chain_key":{"type":"string"},"classification":{"type":"string"},"history_access":{"type":"string"}},"additionalProperties":true},"count":{"type":"integer"},"data":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"date":{"type":"string"},"source_id":{"type":"string"},"revision":{"type":"integer"},"dating_basis":{"type":"string"},"dating_timestamp":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true},"example":{"meta":{"capability":"compass.rwa.history","schema_version":"0.5.0","classification_as_of":"2026-09-04"},"query":{"ticker":"USTB","source_id":"superstate.api.nav_daily.ustb","date_from":"2026-08-01","date_to":"2026-08-31"},"source":{"source_id":"superstate.api.nav_daily.ustb","quantity":"nav_per_share","chain_key":"fund","classification":"native_history","history_access":"free"},"count":1,"data":[{"value":"10.623400","date":"2026-08-31","source_id":"superstate.api.nav_daily.ustb","revision":0,"dating_basis":"source_timestamp","dating_timestamp":"2026-08-31"}]}}}}}}},"/v1/rwa/instruments":{"get":{"operationId":"compass_rwa_instruments_all","summary":"Complete evidence snapshot for all tracked tokenized treasuries","description":"Complete evidence snapshot for 13 tokenized treasury funds: yield or gap, measured size, subscription/redemption minimums, fees, settlement, access conditions, chain conflicts, quotes, URLs and dates. Same records as the free instrument view. Internal use with attribution included; continuous access, change notices and customer-facing use are separate. Business/professional use only. Terms: https://402rates.com/data-terms/","tags":["rwa-dataset","tokenized-treasuries","issuer-terms","due-diligence","market-data"],"parameters":[],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"meta":{"type":"object","properties":{"capability":{"type":"string"},"schema_version":{"type":"string"},"count":{"type":"integer"},"item_schema":{"type":"string"}},"additionalProperties":true},"instruments":{"type":"array","items":{"type":"object","properties":{"instrument":{"type":"object","properties":{"ticker":{"type":"string"},"issuer":{"type":"string"},"family":{"type":"string"},"currency":{"type":"string"}},"additionalProperties":true},"yield":{"type":"object","properties":{"yield_basis":{"type":"string"},"yield_pct":{"type":"number"}},"additionalProperties":true},"terms":{"type":"object","properties":{"minimum_subscription":{"type":"object","properties":{"status":{"type":"string"},"amount":{"type":"integer"},"currency":{"type":"string"}},"additionalProperties":true}},"additionalProperties":true},"meta":{"type":"object","properties":{"capability":{"type":"string"},"schema_version":{"type":"string"}},"additionalProperties":true}},"additionalProperties":true}},"terms":{"type":"object","properties":{"usage":{"type":"string"},"attribution_required":{"type":"boolean"},"redistribution":{"type":"string"},"terms_url":{"type":"string"},"contact":{"type":"string"}},"additionalProperties":true}},"additionalProperties":true},"example":{"meta":{"capability":"compass.rwa.instruments.all","schema_version":"0.5.0","count":13,"item_schema":"https://402rates.com/schemas/rwa-instrument-v1.json#/$defs/instrument_response"},"instruments":[{"instrument":{"ticker":"USTB","issuer":"Superstate","family":"price_accrual","currency":"USD"},"yield":{"yield_basis":"measured","yield_pct":3.518334},"terms":{"minimum_subscription":{"status":"known","amount":100000,"currency":"USD"}},"meta":{"capability":"compass.rwa.instrument","schema_version":"0.5.0"}}],"terms":{"usage":"This call grants internal use with attribution. Redistribution, embedding in a customer-facing product, and continuous access with change notices are available separately: https://402rates.com/data-terms/","attribution_required":true,"redistribution":"available separately","terms_url":"https://402rates.com/data-terms/","contact":"https://402rates.com/data-terms/#continuous-access"}}}}},"402":{"description":"Payment required. Decode the base64 JSON PAYMENT-REQUIRED header, sign one accepted USDC option, and retry the same request.","headers":{"PAYMENT-REQUIRED":{"required":true,"description":"Base64-encoded x402 v2 PaymentRequired object containing accepts[]","schema":{"type":"string"}}}}},"x-example-observed-at":"2026-09-05T13:27:42.191Z","x-payment-info":{"scheme":"exact","asset":"USDC","price_usd":5,"networks":["eip155:8453","eip155:137","eip155:42161","eip155:50"],"payTo":{"evm":"0xf567Cfe0FDb87A1D6Ca330e3f30f0D3DA0F7cb98"},"xdc":{"network":"xdc","asset":"0xfA2958CB79b0491CC627c1557F441eF849Ca8eb1","payTo":"0xedb1a894761F0a142d80D09F82Ff7CF99158Bb19","mirror":"https://api.402rates.com/xdc/v1"}}}},"/v1/discovery":{"get":{"operationId":"compass_discovery","summary":"Search the x402 catalogue with usage figures","description":"Free directory of the x402 resource catalogue: search paid endpoints by what they do, filter by price and network, and see for each one its 30-day call count, its number of distinct paying addresses, the ratio between them and how long since it was last paid. Answers from a dated weekly snapshot and says which day it is from.","tags":["discovery","directory","x402","search","agents"],"parameters":[{"name":"q","in":"query","schema":{"type":"string","description":"words to look for in the provider's own description, service name, URL and tags; every word must match"}},{"name":"max_price","in":"query","schema":{"type":"number","description":"highest price per call in USDC to include"}},{"name":"network","in":"query","schema":{"type":"string","description":"chain id a resource must accept payment on, for example eip155:8453"}},{"name":"limit","in":"query","schema":{"type":"integer","description":"how many results to return, 1 to 50 (default 10)"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"resource":{"type":"string"},"price_usdc":{"type":"number"},"calls_30d":{"type":"integer"},"unique_payers_30d":{"type":"integer"},"calls_per_payer":{"type":"number"},"days_since_last_call":{"type":"integer"},"snapshot_date":{"type":"string"}},"additionalProperties":true}},"meta":{"type":"object","properties":{"method":{"type":"object","properties":{"version":{"type":"string"},"ranking":{"type":"array","items":{"type":"string"}}},"additionalProperties":true}},"additionalProperties":true}},"additionalProperties":true},"example":{"data":[{"resource":"https://example.com/v1/rates","price_usdc":0.01,"calls_30d":1050,"unique_payers_30d":1045,"calls_per_payer":1.005,"days_since_last_call":2,"snapshot_date":"2026-08-29"}],"meta":{"method":{"version":"1.0.0","ranking":["match_score desc","unique_payers_30d desc"]}}}}}}}}},"/v1/ping":{"get":{"operationId":"compass_ping","summary":"Payment integration check","description":"Payment integration check for 0.001 USDC; no external data lookup. Returns time, rail, network mode and free/paid capabilities. HTTP payment options can include Base, Polygon, Arbitrum and XDC; the challenge lists currently available networks for each transport. The receipt identifies the paid network and transaction. Business/professional use only. Terms: https://402rates.com/data-terms/","tags":["x402","integration","smoke-test","payment-rail","usdc"],"parameters":[],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"pong":{"type":"boolean"},"time":{"type":"string"},"rail":{"type":"string"},"mode":{"type":"string"},"next":{"type":"object","properties":{"free":{"type":"array","items":{"type":"object","properties":{"capability":{"type":"string"},"url":{"type":"string"},"method":{"type":"string"},"note":{"type":"string"}},"additionalProperties":true}},"paid":{"type":"array","items":{"type":"object","properties":{"capability":{"type":"string"},"price_usdc":{"type":"string"},"url":{"type":"string"},"note":{"type":"string"}},"additionalProperties":true}},"mcp":{"type":"string"}},"additionalProperties":true}},"additionalProperties":true},"example":{"pong":true,"time":"2026-07-10T12:00:00Z","rail":"cdp-v2","mode":"mainnet","next":{"free":[{"capability":"compass.tests.preflight","url":"https://api.402rates.com/v1/tests/preflight","method":"POST","note":"Inspect x402 payment terms without making a payment"},{"capability":"compass.rwa.changes","url":"https://api.402rates.com/v1/rwa/changes","method":"POST","note":"Compare yield and divergence fields in two saved Treasury responses"},{"capability":"compass.tests.case","url":"https://api.402rates.com/v1/tests/case","note":"Describe the synthetic agent test"},{"capability":"compass.tests.run","url":"https://api.402rates.com/v1/tests/run","method":"POST","note":"Start or repeat the synthetic agent test"},{"capability":"compass.tests.action","url":"https://api.402rates.com/v1/tests/action","method":"POST","note":"Execute a synthetic test action"},{"capability":"compass.tests.state","url":"https://api.402rates.com/v1/tests/state","method":"POST","note":"Read synthetic task state"},{"capability":"compass.tests.report","url":"https://api.402rates.com/v1/tests/report","method":"POST","note":"Read or finalize an agent test timeline"},{"capability":"compass.rwa.coverage","url":"https://api.402rates.com/v1/rwa/coverage","note":"What the RWA yield data covers, and what it does not"},{"capability":"compass.rwa.filter","url":"https://api.402rates.com/v1/rwa/filter","note":"Published instrument constraints compared with supplied facts"},{"capability":"compass.rwa.instrument","url":"https://api.402rates.com/v1/rwa/instrument","note":"Full evidence-backed state for one tokenized treasury"},{"capability":"compass.rwa.history","url":"https://api.402rates.com/v1/rwa/history","note":"Normalized history for one reconstructible RWA source"},{"capability":"compass.discovery","url":"https://api.402rates.com/v1/discovery","note":"Search the x402 catalogue with usage figures"},{"capability":"compass.manifest","url":"https://api.402rates.com/v1/manifest","note":"Service manifest"},{"capability":"compass.health","url":"https://api.402rates.com/health","note":"Liveness probe"},{"capability":"compass.ready","url":"https://api.402rates.com/ready","note":"Readiness probe"}],"paid":[{"capability":"compass.settlement.costs","price_usdc":"0.01","url":"https://api.402rates.com/v1/settlement/costs","note":"Measured cost of a USDC transfer per chain, cheapest first"},{"capability":"compass.rwa.yields","price_usdc":"0.03","url":"https://api.402rates.com/v1/rwa/yields","note":"Realised 30-day yields of tokenized treasuries, recomputable"},{"capability":"compass.rwa.instruments.all","price_usdc":"5","url":"https://api.402rates.com/v1/rwa/instruments","note":"Complete evidence snapshot for all tracked tokenized treasuries"},{"capability":"compass.ping","price_usdc":"0.001","url":"https://api.402rates.com/v1/ping","note":"Payment integration check"}],"mcp":"https://api.402rates.com/mcp"}}}}},"402":{"description":"Payment required. Decode the base64 JSON PAYMENT-REQUIRED header, sign one accepted USDC option, and retry the same request.","headers":{"PAYMENT-REQUIRED":{"required":true,"description":"Base64-encoded x402 v2 PaymentRequired object containing accepts[]","schema":{"type":"string"}}}}},"x-payment-info":{"scheme":"exact","asset":"USDC","price_usd":0.001,"networks":["eip155:8453","eip155:137","eip155:42161","eip155:50"],"payTo":{"evm":"0xf567Cfe0FDb87A1D6Ca330e3f30f0D3DA0F7cb98"},"xdc":{"network":"xdc","asset":"0xfA2958CB79b0491CC627c1557F441eF849Ca8eb1","payTo":"0xedb1a894761F0a142d80D09F82Ff7CF99158Bb19","mirror":"https://api.402rates.com/xdc/v1"}}}},"/v1/manifest":{"get":{"operationId":"compass_manifest","summary":"Service manifest","description":"Free OpenAPI 3.1 manifest of every live 402rates.com capability, including per-operation x-payment-info with prices, networks and payment addresses.","tags":["manifest","openapi","discovery"],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"openapi":{"type":"string"}},"additionalProperties":true},"example":{"openapi":"3.1.0"}}}}}}},"/health":{"get":{"operationId":"compass_health","summary":"Liveness probe","description":"Free liveness probe returning the configured network mode and server time.","tags":["health","status"],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"additionalProperties":true},"example":{"ok":true}}}}}}},"/ready":{"get":{"operationId":"compass_ready","summary":"Readiness probe","description":"Free readiness probe reporting whether the chain and price sources a paid call depends on are currently reachable. Answers 503 when they are not.","tags":["health","status","readiness"],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ready":{"type":"boolean"},"checks":{"type":"object","properties":{"chain_rpc":{"type":"object","properties":{"ok":{"type":"boolean"}},"additionalProperties":true},"price_feed":{"type":"object","properties":{"ok":{"type":"boolean"}},"additionalProperties":true}},"additionalProperties":true}},"additionalProperties":true},"example":{"ready":true,"checks":{"chain_rpc":{"ok":true},"price_feed":{"ok":true}}}}}}}}}}}