{"openapi":"3.1.0","info":{"title":"Onramper (BYOK) API","version":"0.1.0","description":"Onramper (BYOK) lets an AI assistant read your own Onramper data through the Onramper API with a key you supply (Onramper API key (pk_prod_...)). Read-only: 7 tools (list_supported_currencies, list_payment_types, list_payment_types_for_pair, get_defaults, list_onramps_for_pair, list_onramp_metadata, get_buy_quotes). The BYOK key travels with each request, is used for that one call only and is...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-onramper.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-onramper/docs"},"termsOfService":"https://connectorbay.com/byok-onramper/terms"},"servers":[{"url":"https://byok-onramper.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-onramper/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_supported_currencies":{"post":{"operationId":"list_supported_currencies","summary":"List the cryptocurrencies (id, code, network, contract address, chain id) and fiat currencies Onramper supports, filtere","description":"List the cryptocurrencies (id, code, network, contract address, chain id) and fiat currencies Onramper supports, filtered by transaction type and country. The crypto list is long. Use for \"Which cryptocurrencies and fiat currencies can I buy through Onramper in Germany\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"type":{"anyOf":[{"enum":["buy","sell"],"type":"string"},{"type":"null"}],"default":"buy","description":"Transaction type: buy (fiat to crypto, default) or sell (crypto to fiat).","title":"Type"},"country":{"anyOf":[{"maxLength":2,"type":"string"},{"type":"null"}],"default":null,"description":"Two-letter country code to filter by, for example 'us' or 'de'. When omitted Onramper guesses it from the caller's IP address.","title":"Country"},"subdivision":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Subdivision code such as 'us-ny' (optional, mainly for the US).","title":"Subdivision"},"skip_country_check":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to skip country filtering and return every asset.","title":"Skip Country Check"}},"title":"list_supported_currenciesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_payment_types":{"post":{"operationId":"list_payment_types","summary":"List the payment methods (card, bank transfer, Apple Pay, SEPA and more) available for a transaction type and country. U","description":"List the payment methods (card, bank transfer, Apple Pay, SEPA and more) available for a transaction type and country. Use for \"Which payment methods does Onramper offer in Greece\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"type":{"anyOf":[{"enum":["buy","sell"],"type":"string"},{"type":"null"}],"default":"buy","description":"Transaction type: buy (fiat to crypto, default) or sell (crypto to fiat).","title":"Type"},"is_recurring_payment":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to list only payment methods usable for recurring buys (buy transactions only).","title":"Is Recurring Payment"},"country":{"anyOf":[{"maxLength":2,"type":"string"},{"type":"null"}],"default":null,"description":"Two-letter country code to filter by, for example 'us' or 'de'. When omitted Onramper guesses it from the caller's IP address.","title":"Country"},"subdivision":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Subdivision code such as 'us-ny' (optional, mainly for the US).","title":"Subdivision"}},"title":"list_payment_typesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_payment_types_for_pair":{"post":{"operationId":"list_payment_types_for_pair","summary":"List payment methods supported for one source currency and one destination currency, with the min and max amount each pr","description":"List payment methods supported for one source currency and one destination currency, with the min and max amount each provider accepts. Use for \"What are the limits for buying BTC with EUR by bank transfer through Onramper\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"source":{"description":"Source currency id: a fiat id such as 'eur' for buys, a crypto id for sells.","maxLength":200,"title":"Source","type":"string"},"destination":{"description":"Destination currency id: a crypto id such as 'btc' for buys, a fiat id for sells.","maxLength":60,"title":"Destination","type":"string"},"type":{"anyOf":[{"enum":["buy","sell"],"type":"string"},{"type":"null"}],"default":"buy","description":"Transaction type: buy (fiat to crypto, default) or sell (crypto to fiat).","title":"Type"},"is_recurring_payment":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to list only payment methods usable for recurring buys (buy transactions only).","title":"Is Recurring Payment"},"country":{"anyOf":[{"maxLength":2,"type":"string"},{"type":"null"}],"default":null,"description":"Two-letter country code to filter by, for example 'us' or 'de'. When omitted Onramper guesses it from the caller's IP address.","title":"Country"},"subdivision":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Subdivision code such as 'us-ny' (optional, mainly for the US).","title":"Subdivision"}},"required":["source","destination"],"title":"list_payment_types_for_pairArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_defaults":{"post":{"operationId":"get_defaults","summary":"Get the default and recommended currency pair, amount, payment method and provider Onramper suggests per country. Use fo","description":"Get the default and recommended currency pair, amount, payment method and provider Onramper suggests per country. Use for \"What does Onramper recommend as the default purchase in the US\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"type":{"anyOf":[{"enum":["buy","sell"],"type":"string"},{"type":"null"}],"default":"buy","description":"Transaction type: buy (fiat to crypto, default) or sell (crypto to fiat).","title":"Type"},"country":{"anyOf":[{"maxLength":2,"type":"string"},{"type":"null"}],"default":null,"description":"Two-letter country code to filter by, for example 'us' or 'de'. When omitted Onramper guesses it from the caller's IP address.","title":"Country"},"subdivision":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Subdivision code such as 'us-ny' (optional, mainly for the US).","title":"Subdivision"}},"title":"get_defaultsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_onramps_for_pair":{"post":{"operationId":"list_onramps_for_pair","summary":"List the on-ramp providers that support a source and destination currency in a country, with their payment methods and t","description":"List the on-ramp providers that support a source and destination currency in a country, with their payment methods and the recommended one. Use for \"Which providers let me buy ETH with USD in the US through Onramper\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"type":{"anyOf":[{"enum":["buy","sell"],"type":"string"},{"type":"null"}],"default":"buy","description":"Transaction type: buy (fiat to crypto, default) or sell (crypto to fiat).","title":"Type"},"source":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Source currency id: fiat for buys, crypto for sells.","title":"Source"},"destination":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Destination currency id: crypto for buys, fiat for sells.","title":"Destination"},"country":{"anyOf":[{"maxLength":2,"type":"string"},{"type":"null"}],"default":null,"description":"Two-letter country code to filter by, for example 'us' or 'de'. When omitted Onramper guesses it from the caller's IP address.","title":"Country"},"subdivision":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Subdivision code such as 'us-ny' (optional, mainly for the US).","title":"Subdivision"}},"title":"list_onramps_for_pairArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_onramp_metadata":{"post":{"operationId":"list_onramp_metadata","summary":"List every on-ramp or off-ramp provider Onramper aggregates with id, display name and icon links. Use for \"Which on-ramp","description":"List every on-ramp or off-ramp provider Onramper aggregates with id, display name and icon links. Use for \"Which on-ramp providers are part of Onramper\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"type":{"anyOf":[{"enum":["buy","sell"],"type":"string"},{"type":"null"}],"default":"buy","description":"Transaction type: buy (fiat to crypto, default) or sell (crypto to fiat).","title":"Type"}},"title":"list_onramp_metadataArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_buy_quotes":{"post":{"operationId":"get_buy_quotes","summary":"Get price quotes from all available providers for buying a crypto with a fiat amount, optionally for one payment method.","description":"Get price quotes from all available providers for buying a crypto with a fiat amount, optionally for one payment method. No transaction is created. Use for \"How much BTC would 100 EUR buy by credit card through Onramper\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"fiat":{"description":"Source fiat currency id, for example 'eur'.","maxLength":200,"title":"Fiat","type":"string"},"crypto":{"description":"Destination crypto id, for example 'btc'.","maxLength":200,"title":"Crypto","type":"string"},"amount":{"description":"Amount in the fiat currency.","maximum":100000000,"minimum":0,"title":"Amount","type":"number"},"payment_method":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only quote this payment method, for example 'creditcard'.","title":"Payment Method"},"country":{"anyOf":[{"maxLength":2,"type":"string"},{"type":"null"}],"default":null,"description":"Two-letter country code to filter by, for example 'us' or 'de'. When omitted Onramper guesses it from the caller's IP address.","title":"Country"},"platform":{"anyOf":[{"enum":["web","mobile-ios","mobile-android","webview-ios","webview-android","browser-extension","desktop"],"type":"string"},{"type":"null"}],"default":null,"description":"Where your integration runs; providers needing platform whitelisting are omitted when absent.","title":"Platform"}},"required":["fiat","crypto","amount"],"title":"get_buy_quotesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}