{"openapi":"3.1.0","info":{"title":"Quantral agent pass","version":"1.0.0","description":"Buy Quantral MCP access over x402 (USDC on Base), with no account or person involved: 14.99 USDC for 30 days (?plan=month), or 5.99 USDC for 7 days (?plan=week). The key works on https://app.quantral.com/api/mcp. Terms: https://quantral.com/terms/agent-pass.","x-guidance":"POST /api/agent/pass?plan=week or ?plan=month to buy a prepaid pass in USDC on Base over x402 (14.99 USDC for 30 days (?plan=month), or 5.99 USDC for 7 days (?plan=week)). The response carries an API key for https://app.quantral.com/api/mcp. A free sample is at GET /api/agent/sample.","contact":{"email":"hello@quantral.com"}},"servers":[{"url":"https://app.quantral.com"}],"components":{"securitySchemes":{"agentKey":{"type":"http","scheme":"bearer","description":"An agent key, qtl_agent_..."}}},"paths":{"/api/agent/sample":{"get":{"summary":"Free fixed sample: top signals and one output of most MCP tools for NVDA","security":[],"responses":{"200":{"description":"The sample, identical for every caller","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/agent/pass":{"post":{"summary":"Buy or renew a pass: 14.99 USDC for 30 days (?plan=month), or 5.99 USDC for 7 days (?plan=week)","description":"Send without a PAYMENT-SIGNATURE header to get the 402 challenge (PAYMENT-REQUIRED header, same object in the body). Pay it with an x402 exact payment and send this body. With an agent key in Authorization the pass is renewed and no new key is issued. Refused while more than 60 days remain. Payments are final.","parameters":[{"name":"plan","in":"query","required":false,"schema":{"type":"string","enum":["month","week"],"default":"month"},"description":"Which pass to buy. Part of the URL so it is fixed before payment. An unknown plan is a 400."},{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"schema":{"type":"string"},"description":"x402 v2 payment payload, base64"}],"security":[{},{"agentKey":[]}],"x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"5.99","max":"14.99"},"protocols":[{"x402":{}}]},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","required":["country","acceptTerms","termsVersion"],"properties":{"country":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 country of the buyer"},"acceptTerms":{"const":true},"termsVersion":{"type":"string","const":"2026-11"},"revokeOtherKeys":{"type":"boolean","default":false},"email":{"type":"string","format":"email","maxLength":254,"description":"Optional. The receipt is emailed here once the payment settles. Unverified, used for the receipt only."}}}}}},"responses":{"200":{"description":"Paid. PAYMENT-RESPONSE header carries the settlement receipt.","content":{"application/json":{"schema":{"type":"object","properties":{"apiKey":{"type":["string","null"],"description":"Shown once. Null on a renewal made with a key."},"plan":{"type":"string","enum":["month","week"]},"paidUntil":{"type":"string","format":"date-time"},"paymentId":{"type":"string"},"transaction":{"type":"string"},"receiptUrl":{"type":"string","description":"Permanent receipt page; no key needed, keeps working after the pass ends."},"mcpUrl":{"type":"string"}}}}}},"202":{"description":"Payment not confirmed yet. Do not pay again; poll GET with the key.","content":{"application/json":{"schema":{"type":"object","properties":{"apiKey":{"type":["string","null"]},"paymentId":{"type":"string"},"receiptUrl":{"type":"string"}}}}}},"400":{"description":"Unknown plan, invalid body or stale terms version. Nothing was charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"401":{"description":"Unknown or revoked agent key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"402":{"description":"Payment required, or the payment was refused","content":{"application/json":{"schema":{"type":"object","description":"x402 PaymentRequired plus price, passDays, termsUrl, termsVersion, requiredBody"}}}},"403":{"description":"Not available in the declared country","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"409":{"description":"Payment already submitted, key from another wallet, or too many days left","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"get":{"summary":"Pass status for the presented key","security":[{"agentKey":[]}],"responses":{"200":{"description":"Pass status","content":{"application/json":{"schema":{"type":"object","properties":{"paidUntil":{"type":"string","format":"date-time"},"active":{"type":"boolean"},"walletAddress":{"type":"string"},"lastPayment":{"type":["object","null"]}}}}}},"202":{"description":"Purchase still settling","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unknown key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/api/agent/key":{"post":{"summary":"Rotate: issue a new key and revoke the presented one","security":[{"agentKey":[]}],"responses":{"200":{"description":"New key, shown once","content":{"application/json":{"schema":{"type":"object","properties":{"apiKey":{"type":"string"}}}}}}}},"delete":{"summary":"Revoke the presented key","security":[{"agentKey":[]}],"responses":{"200":{"description":"Revoked","content":{"application/json":{"schema":{"type":"object","properties":{"revoked":{"type":"boolean"}}}}}}}}}}}