{
"error": "Too Many Requests",
"message": "Server is currently processing the maximum number of concurrent requests. Please try again in a moment.",
"details": "Active requests: 100/100",
"retryAfter": 5
}
{
"error": "Internal Server Error",
"message": "The proxy server encountered an internal error",
"details": "<string>"
}
{
"error": "Bad Gateway",
"message": "Upstream API refused payment after 3 attempts",
"details": "<string>",
"upstreamStatus": 123,
"webhook_id": "550e8400-e29b-41d4-a716-446655440000"
}
Proxy
Execute x402 payment-gated API call
HTTPayer proxy service for x402 payment-gated API calls.
Flow:
Proxy detects 402 Payment Required from target API
HTTPayer wallet executes payment to target API
Proxy retries request with payment proof
Returns target API response to client
Error Handling:
502 Bad Gateway: Target API errors (unreachable, malformed, 5xx)
500 Internal Server Error: Proxy configuration errors
{
"error": "Too Many Requests",
"message": "Server is currently processing the maximum number of concurrent requests. Please try again in a moment.",
"details": "Active requests: 100/100",
"retryAfter": 5
}
{
"error": "Internal Server Error",
"message": "The proxy server encountered an internal error",
"details": "<string>"
}
{
"error": "Bad Gateway",
"message": "Upstream API refused payment after 3 attempts",
"details": "<string>",
"upstreamStatus": 123,
"webhook_id": "550e8400-e29b-41d4-a716-446655440000"
}
Form-encoded body when an object, raw string body when a string.
Mirrors Python requests(data=...).
Object → Content-Type: application/x-www-form-urlencoded.
String → passed through as-is; set Content-Type via headers.
Pre-serialized body string — passed through unchanged, without setting Content-Type.
If you pass an object it will be JSON-stringified, but you must manually set
Content-Type: application/json via headers. Use json instead for automatic Content-Type handling.
Per-request timeout in seconds (server default applies if omitted; also accepts X-TIMEOUT header in ms)
Example:
30
Response
Target API request successful
Response from target API (pass-through)
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"HTTPayer API","colors":{"primary":"#0D9373","light":"#07C983","dark":"#0D9373"},"favicon":"/favicon.png","logo":{"light":"https://mintcdn.com/httpayer/V5BHSYnR7bhQ4Ln1/logo/logo-full-light.png?fit=max\u0026auto=format\u0026n=V5BHSYnR7bhQ4Ln1\u0026q=85\u0026s=fb4062cf2cee359a4015f5df08f10f29","dark":"https://mintcdn.com/httpayer/V5BHSYnR7bhQ4Ln1/logo/logo-full-dark.png?fit=max\u0026auto=format\u0026n=V5BHSYnR7bhQ4Ln1\u0026q=85\u0026s=ebbfbe44f1f05ad3e060421f88a4ac89"},"api":{"playground":{"display":"simple"},"mdx":{"server":"https://api.httpayer.com"}},"navbar":{"links":[{"label":"GitHub","href":"https://github.com/httpayer"}],"primary":null},"footer":{"socials":{"github":"https://github.com/httpayer","twitter":"https://twitter.com/httpayer"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"httpayer","hasAudioNarration":false,"actualSubdomain":"httpayer","customDomains":["docs.httpayer.com"],"gitSource":{"type":"github","owner":"httpayer","repo":"proxy","deployBranch":"new-dev","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6ae94384f1617b26b89746bb:success","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"API Reference","count":27},{"language":"default","tag":"SDKs","count":11},{"language":"default","tag":"Python SDK","count":11},{"language":"default","tag":"Getting Started","count":5},{"language":"default","tag":"LLM","count":3},{"language":"default","tag":"Relay","count":3},{"language":"default","tag":"Proxy","count":2},{"language":"default","tag":"Account","count":1},{"language":"default","tag":"Configuration","count":1},{"language":"default","tag":"Credits","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api/proxy/execute-x402-payment-gated-api-call","slug":"/api/proxy/execute-x402-payment-gated-api-call","pageMetadata":{"openapi":"post /proxy","title":"Execute x402 payment-gated API call","description":"HTTPayer proxy service for x402 payment-gated API calls.\n\n**Flow:**\n1. Proxy detects 402 Payment Required from target API\n2. HTTPayer wallet executes payment to target API\n3. Proxy retries request with payment proof\n4. Returns target API response to client\n\n**Error Handling:**\n- 502 Bad Gateway: Target API errors (unreachable, malformed, 5xx)\n- 500 Internal Server Error: Proxy configuration errors\n- 4xx Pass-through: Client errors from target API\n- Timeout detection with configurable limits\n","href":"/api/proxy/execute-x402-payment-gated-api-call"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n li: \"li\",\n ol: \"ol\",\n p: \"p\",\n strong: \"strong\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"HTTPayer proxy service for x402 payment-gated API calls.\"\n }), \"\\n\", _jsx(_components.p, {\n children: _jsx(_components.strong, {\n children: \"Flow:\"\n })\n }), \"\\n\", _jsxs(_components.ol, {\n children: [\"\\n\", _jsx(_components.li, {\n children: \"Proxy detects 402 Payment Required from target API\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"HTTPayer wallet executes payment to target API\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"Proxy retries request with payment proof\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"Returns target API response to client\"\n }), \"\\n\"]\n }), \"\\n\", _jsx(_components.p, {\n children: _jsx(_components.strong, {\n children: \"Error Handling:\"\n })\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsx(_components.li, {\n children: \"502 Bad Gateway: Target API errors (unreachable, malformed, 5xx)\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"500 Internal Server Error: Proxy configuration errors\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"4xx Pass-through: Client errors from target API\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"Timeout detection with configurable limits\"\n }), \"\\n\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"openapi":"post /proxy","title":"Execute x402 payment-gated API call","description":"HTTPayer proxy service for x402 payment-gated API calls.\n\n**Flow:**\n1. Proxy detects 402 Payment Required from target API\n2. HTTPayer wallet executes payment to target API\n3. Proxy retries request with payment proof\n4. Returns target API response to client\n\n**Error Handling:**\n- 502 Bad Gateway: Target API errors (unreachable, malformed, 5xx)\n- 500 Internal Server Error: Proxy configuration errors\n- 4xx Pass-through: Client errors from target API\n- Timeout detection with configurable limits\n","href":"/api/proxy/execute-x402-payment-gated-api-call"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/httpayer/762338d68896e436/src/config/customChains.js","/_mintlify/custom/httpayer/8b902f3fb9d103c3/scripts/migrate_to_millicredits.js","/_mintlify/custom/httpayer/7284b345c3822b0e/scripts/quick_fix_credits.js","/_mintlify/custom/httpayer/a5bd851ca2fb6aed/scripts/test-facilitator.js","/_mintlify/custom/httpayer/9c715564670cd9dc/scripts/generate-evm-accounts.js"],"openApiReferenceData":{"operation":{"tags":["Proxy"],"summary":"Execute x402 payment-gated API call","description":"HTTPayer proxy service for x402 payment-gated API calls.\n\n**Flow:**\n1. Proxy detects 402 Payment Required from target API\n2. HTTPayer wallet executes payment to target API\n3. Proxy retries request with payment proof\n4. Returns target API response to client\n\n**Error Handling:**\n- 502 Bad Gateway: Target API errors (unreachable, malformed, 5xx)\n- 500 Internal Server Error: Proxy configuration errors\n- 4xx Pass-through: Client errors from target API\n- Timeout detection with configurable limits\n","security":["a56a0af0-9a53-48d3-89f8-2c5716d6f7ac"],"parameters":["0f61f67c-a25a-43a9-b0d1-4ca4ea7a6f72"],"requestBody":"5346f8e6-c77b-44bc-9a25-6f8745973a51","responses":{"200":"a9f0a614-b2c0-4eac-a9a4-f4f182efa78b","400":"f7247729-4484-430c-9a33-9d777be1c6e9","402":"8e683fcd-fb91-441b-9377-a2753d9e8621","429":"6c5395c2-ddc1-47bd-a42d-1f4d1aa1cd21","500":"34f5699f-50c9-4364-8dde-3b8935f47a63","502":"36ce4997-927b-44d7-9eab-1a36c70bb2f9"},"method":"post","type":"path","servers":["59cefb69-a7ed-4072-8413-1f5bd9ad3ef6"],"path":"/proxy","baseUrlOptions":["https://api.httpayer.com"],"title":"Execute x402 payment-gated API call","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"0f61f67c-a25a-43a9-b0d1-4ca4ea7a6f72":{"in":"header","name":"X-TIMEOUT","schema":{"type":"number","isRequired":false,"description":"Client timeout in milliseconds (max 120000ms / 2 minutes)","uniqueKey":"","typeLabel":"number"},"description":"Client timeout in milliseconds (max 120000ms / 2 minutes)","required":false}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["api_url","method"],"properties":{"api_url":{"type":"string","description":"Target API URL to call via proxy","example":"https://www.x402.org/protected","isRequired":true,"uniqueKey":"api_url","typeLabel":"string"},"method":{"type":"string","enum":["GET","POST","PUT","DELETE","PATCH"],"description":"HTTP method for target API","example":"GET","isRequired":true,"uniqueKey":"method","typeLabel":"enum\u003cstring>"},"json":{"type":"object","description":"JSON body — serialized and sent with Content-Type: application/json.\nMirrors Python requests(json=...) / fetch(body: JSON.stringify(...)).\n","example":{"city":"San Francisco"},"uniqueKey":"json","typeLabel":"object"},"data":{"oneOf":[{"type":"object","description":"Form-encoded body when an object, raw string body when a string.\nMirrors Python requests(data=...).\nObject → Content-Type: application/x-www-form-urlencoded.\nString → passed through as-is; set Content-Type via headers.\n","uniqueKey":"data.oneOf.0","typeLabel":"object"},{"type":"string","description":"Form-encoded body when an object, raw string body when a string.\nMirrors Python requests(data=...).\nObject → Content-Type: application/x-www-form-urlencoded.\nString → passed through as-is; set Content-Type via headers.\n","uniqueKey":"data.oneOf.1","typeLabel":"string"}],"uniqueKey":"data","typeLabel":"object | string"},"body":{"type":"string","description":"Pre-serialized body string — passed through unchanged, without setting Content-Type.\nIf you pass an object it will be JSON-stringified, but you must manually set\nContent-Type: application/json via headers. Use json instead for automatic Content-Type handling.\n","uniqueKey":"body","typeLabel":"string"},"payload":{"type":"object","description":"Deprecated alias for json. Use json instead.","uniqueKey":"payload","typeLabel":"object"},"params":{"type":"object","description":"Query parameters appended to the target URL","example":{"limit":"10","offset":"0"},"uniqueKey":"params","typeLabel":"object"},"headers":{"type":"object","description":"Custom headers forwarded to the target API","example":{"Accept":"application/json"},"uniqueKey":"headers","typeLabel":"object"},"auth":{"type":"object","description":"Basic auth shorthand — converted to Authorization: Basic \u003cbase64>.\nMirrors Python requests(auth=(\"user\", \"pass\")).\n","properties":{"username":{"type":"string","uniqueKey":"auth.username","typeLabel":"string"},"password":{"type":"string","uniqueKey":"auth.password","typeLabel":"string"}},"uniqueKey":"auth","typeLabel":"object"},"cookies":{"type":"object","description":"Cookie shorthand — merged into the Cookie header.\nMirrors Python requests(cookies={...}).\n","example":{"session":"abc123"},"uniqueKey":"cookies","typeLabel":"object"},"timeout":{"type":"number","description":"Per-request timeout in seconds (server default applies if omitted; also accepts X-TIMEOUT header in ms)","example":30,"uniqueKey":"timeout","typeLabel":"number"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"api_url":"https://www.x402.org/protected","method":"GET","json":{"city":"San Francisco"},"data":{},"body":"\u003cstring>","payload":{},"params":{"limit":"10","offset":"0"},"headers":{"Accept":"application/json"},"auth":{"username":"\u003cstring>","password":"\u003cstring>"},"cookies":{"session":"abc123"},"timeout":30}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"a9f0a614-b2c0-4eac-a9a4-f4f182efa78b":{"description":"Target API request successful","content":{"application/json":{"schema":{"type":"object","description":"Response from target API (pass-through)","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{}}},"exampleType":"generated"}},"exampleType":"generated"},"f7247729-4484-430c-9a33-9d777be1c6e9":{"description":"Bad request - Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Error message","uniqueKey":"error","typeLabel":"string"},"details":{"type":"string","description":"Additional error details","uniqueKey":"details","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","details":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"8e683fcd-fb91-441b-9377-a2753d9e8621":{"description":"Payment Required - Insufficient credits or spend limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Insufficient credits","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Insufficient credits"}}},"exampleType":"generated"}},"exampleType":"generated"},"6c5395c2-ddc1-47bd-a42d-1f4d1aa1cd21":{"description":"Too Many Requests - Server at capacity","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","example":5}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Too Many Requests","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","example":"Server is currently processing the maximum number of concurrent requests. Please try again in a moment.","uniqueKey":"message","typeLabel":"string"},"details":{"type":"string","example":"Active requests: 100/100","uniqueKey":"details","typeLabel":"string"},"retryAfter":{"type":"integer","example":5,"uniqueKey":"retryAfter","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Too Many Requests","message":"Server is currently processing the maximum number of concurrent requests. Please try again in a moment.","details":"Active requests: 100/100","retryAfter":5}}},"exampleType":"generated"}},"exampleType":"generated"},"34f5699f-50c9-4364-8dde-3b8935f47a63":{"description":"Internal Server Error - Proxy configuration error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Internal Server Error","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","example":"The proxy server encountered an internal error","uniqueKey":"message","typeLabel":"string"},"details":{"type":"string","uniqueKey":"details","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Internal Server Error","message":"The proxy server encountered an internal error","details":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"36ce4997-927b-44d7-9eab-1a36c70bb2f9":{"description":"Bad Gateway - Target API error, unreachable, or refused payment after retries.\nWhen the target API returns 402 after all sync retries, HTTPayer returns 502 with\n`message: \"Upstream API refused payment after N attempts\"`. If blockchain polling\nis active, a `webhook_id` field is included — use `GET /webhooks/:id` to track\nwhether the payment eventually confirmed on-chain. If confirmed, credits are charged;\nif not, reserved credits are automatically refunded.\n","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Bad Gateway","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","example":"Upstream API refused payment after 3 attempts","uniqueKey":"message","typeLabel":"string"},"details":{"type":"string","uniqueKey":"details","typeLabel":"string"},"upstreamStatus":{"type":"number","description":"HTTP status code from target API (if available)","uniqueKey":"upstreamStatus","typeLabel":"number"},"webhook_id":{"type":"string","description":"Webhook ID for tracking async payment detection (present when polling is active)","example":"550e8400-e29b-41d4-a716-446655440000","uniqueKey":"webhook_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Bad Gateway","message":"Upstream API refused payment after 3 attempts","details":"\u003cstring>","upstreamStatus":123,"webhook_id":"550e8400-e29b-41d4-a716-446655440000"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"a56a0af0-9a53-48d3-89f8-2c5716d6f7ac":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key for authentication","scopes":[]}}},"servers":{"59cefb69-a7ed-4072-8413-1f5bd9ad3ef6":{"url":"https://api.httpayer.com","description":"Production server"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key for authentication","scopes":[]},"schema":{"title":"x-api-key","type":"string","description":"API key for authentication","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"x-api-key"}],"title":"ApiKeyAuth"}]},"originalFileLocation":"api/openapi.json"},"subdomain":"httpayer","siteName":"HTTPayer API","title":"Execute x402 payment-gated API call - HTTPayer API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"originalFileLocation":"api/proxy/execute-x402-payment-gated-api-call.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"HTTPayer proxy service for x402 payment-gated API calls. Flow: 1. Proxy detects 402 Payment Required from target API 2. HTTPayer wallet executes payment to target API 3. Proxy retries request with payment proof 4. Returns target API response to client Error Handling: - 502 Bad Gateway: Target API errors (unreachable, malformed, 5xx) - 500 Internal Server Error: Proxy configuration errors - 4xx Pass-through: Client errors from target API - Timeout detection with configurable limits\">\u003cmeta data-mint-head name=\"application-name\" content=\"HTTPayer API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/httpayer/M5lmJObsbmfyvfpr/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/httpayer/M5lmJObsbmfyvfpr/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/httpayer/M5lmJObsbmfyvfpr/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/httpayer/M5lmJObsbmfyvfpr/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/httpayer/M5lmJObsbmfyvfpr/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/httpayer/M5lmJObsbmfyvfpr/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/httpayer/M5lmJObsbmfyvfpr/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/httpayer/M5lmJObsbmfyvfpr/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/httpayer/M5lmJObsbmfyvfpr/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Execute x402 payment-gated API call - HTTPayer API\">\u003cmeta data-mint-head property=\"og:description\" content=\"HTTPayer proxy service for x402 payment-gated API calls. Flow: 1. Proxy detects 402 Payment Required from target API 2. HTTPayer wallet executes payment to target API 3. Proxy retries request with payment proof 4. Returns target API response to client Error Handling: - 502 Bad Gateway: Target API errors (unreachable, malformed, 5xx) - 500 Internal Server Error: Proxy configuration errors - 4xx Pass-through: Client errors from target API - Timeout detection with configurable limits\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"HTTPayer API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.httpayer.com/api/proxy/execute-x402-payment-gated-api-call\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://httpayer.mintlify.site/_mintlify/api/og/v2?division=Proxy\u0026amp;title=Execute+x402+payment-gated+API+call\u0026amp;description=HTTPayer+proxy+service+for+x402+payment-gated+API+calls.%0A%0A**Flow%3A**%0A1.+Proxy+detects+402+Payment+Required+from+target+API%0A2.+HTTPayer+wallet+executes+payment+to\u0026amp;theme=9e5d2ba078cd34fcf643cc44\u0026amp;signature=79de70aad59fe7d37a26670a0e882c2817b50871cdc2b129350b4fa32a4e6307\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Execute x402 payment-gated API call - HTTPayer API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"HTTPayer proxy service for x402 payment-gated API calls. Flow: 1. Proxy detects 402 Payment Required from target API 2. HTTPayer wallet executes payment to target API 3. Proxy retries request with payment proof 4. Returns target API response to client Error Handling: - 502 Bad Gateway: Target API errors (unreachable, malformed, 5xx) - 500 Internal Server Error: Proxy configuration errors - 4xx Pass-through: Client errors from target API - Timeout detection with configurable limits\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://httpayer.mintlify.site/_mintlify/api/og/v2?division=Proxy\u0026amp;title=Execute+x402+payment-gated+API+call\u0026amp;description=HTTPayer+proxy+service+for+x402+payment-gated+API+calls.%0A%0A**Flow%3A**%0A1.+Proxy+detects+402+Payment+Required+from+target+API%0A2.+HTTPayer+wallet+executes+payment+to\u0026amp;theme=9e5d2ba078cd34fcf643cc44\u0026amp;signature=79de70aad59fe7d37a26670a0e882c2817b50871cdc2b129350b4fa32a4e6307\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/httpayer/M5lmJObsbmfyvfpr/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"HTTPayer API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0D9373\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.httpayer.com/api/proxy/execute-x402-payment-gated-api-call\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api/proxy/execute-x402-payment-gated-api-call.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.httpayer.com/#organization\",\"name\":\"HTTPayer API\",\"url\":\"https://docs.httpayer.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/httpayer/V5BHSYnR7bhQ4Ln1/logo/logo-full-light.png?fit=max\u0026auto=format\u0026n=V5BHSYnR7bhQ4Ln1\u0026q=85\u0026s=fb4062cf2cee359a4015f5df08f10f29\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.httpayer.com#website\",\"name\":\"HTTPayer API\",\"url\":\"https://docs.httpayer.com\",\"publisher\":{\"@id\":\"https://docs.httpayer.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.httpayer.com/api/proxy/execute-x402-payment-gated-api-call#webpage\",\"url\":\"https://docs.httpayer.com/api/proxy/execute-x402-payment-gated-api-call\",\"name\":\"Execute x402 payment-gated API call\",\"description\":\"HTTPayer proxy service for x402 payment-gated API calls. Flow: 1. Proxy detects 402 Payment Required from target API 2. HTTPayer wallet executes payment to target API 3. Proxy retries request with payment proof 4. Returns target API response to client Error Handling: - 502 Bad Gateway: Target API errors (unreachable, malformed, 5xx) - 500 Internal Server Error: Proxy configuration errors - 4xx Pass-through: Client errors from target API - Timeout detection with configurable limits\",\"isPartOf\":{\"@id\":\"https://docs.httpayer.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.httpayer.com/api/proxy/execute-x402-payment-gated-api-call#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.httpayer.com/api/proxy/execute-x402-payment-gated-api-call#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Proxy\",\"item\":\"https://docs.httpayer.com/api/proxy/simulate-proxy-payment-request\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Execute x402 payment-gated API call\",\"item\":\"https://docs.httpayer.com/api/proxy/execute-x402-payment-gated-api-call\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.httpayer.com/api/proxy/execute-x402-payment-gated-api-call#apireference\",\"headline\":\"Execute x402 payment-gated API call\",\"name\":\"Execute x402 payment-gated API call\",\"description\":\"HTTPayer proxy service for x402 payment-gated API calls. Flow: 1. Proxy detects 402 Payment Required from target API 2. HTTPayer wallet executes payment to target API 3. Proxy retries request with payment proof 4. Returns target API response to client Error Handling: - 502 Bad Gateway: Target API errors (unreachable, malformed, 5xx) - 500 Internal Server Error: Proxy configuration errors - 4xx Pass-through: Client errors from target API - Timeout detection with configurable limits\",\"url\":\"https://docs.httpayer.com/api/proxy/execute-x402-payment-gated-api-call\",\"mainEntityOfPage\":{\"@id\":\"https://docs.httpayer.com/api/proxy/execute-x402-payment-gated-api-call#webpage\"},\"publisher\":{\"@id\":\"https://docs.httpayer.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.httpayer.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"HTTPayer API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"HTTPayer API","nav":{"global":null,"tabs":[{"tab":"API Reference","groups":[{"group":"Getting Started","pages":[{"title":"Introduction","href":"/api/introduction"},{"title":"API Overview","href":"/api/overview"},{"title":"Request Lifecycle \u0026 Statuses","href":"/api/request-lifecycle"},{"title":"Quickstart","href":"/api/quickstart"},{"title":"Changelog","href":"/api/changelog"}]},{"group":"Proxy","pages":[{"openapi":"post /proxy/sim","title":"Simulate proxy payment request","description":"Dry-run simulation endpoint that returns payment requirements and fee breakdown without executing payment.\n\n**Fee Model:**\n- 3% proxy fee (covers credits charged from account)\n","href":"/api/proxy/simulate-proxy-payment-request"},{"openapi":"post /proxy","title":"Execute x402 payment-gated API call","href":"/api/proxy/execute-x402-payment-gated-api-call"}]},{"group":"Credits","pages":[{"openapi":"get /v1/credits/balance","title":"Get API key credit balance","description":"Returns the current balance and daily spend information for the authenticated API key, including per-key daily cap and effective available credits.","href":"/api/credits/get-api-key-credit-balance"}]},{"group":"Account","pages":[{"openapi":"get /balance","title":"Get account balance","href":"/api/account/get-account-balance"}]},{"group":"Relay","pages":[{"openapi":"post /relay","title":"Execute cross-chain relay payment","href":"/api/relay/execute-cross-chain-relay-payment"},{"openapi":"post /relay/sim","title":"Simulate relay payment","href":"/api/relay/simulate-relay-payment"},{"openapi":"get /relay/limits/{address}","title":"Check wallet relay spending limits","href":"/api/relay/check-wallet-relay-spending-limits"}]},{"group":"Webhooks","pages":[{"openapi":"get /webhooks/{id}","title":"Get async operation status","href":"/api/webhooks/get-async-operation-status"}]},{"group":"LLM","pages":[{"openapi":"get /llm/health","title":"LLM service health check","href":"/api/llm/llm-service-health-check"},{"openapi":"post /llm/translate","title":"Translate text to Spanish","href":"/api/llm/translate-text-to-spanish"},{"openapi":"post /llm/chat","title":"General chat endpoint","href":"/api/llm/general-chat-endpoint"}]},{"group":"Health","pages":[{"openapi":"get /health","title":"Health check","href":"/api/health/health-check"}]},{"group":"Limits","pages":[{"openapi":"get /limits","title":"Get global volume limits","href":"/api/limits/get-global-volume-limits"}]},{"group":"Configuration","pages":[{"openapi":"get /config","title":"Get server configuration","href":"/api/configuration/get-server-configuration"}]},{"group":"Metrics","pages":[{"openapi":"get /metrics/rate-limits","title":"Get rate limiting metrics","href":"/api/metrics/get-rate-limiting-metrics"}]}]},{"tab":"SDKs","pages":[{"title":"SDKs","href":"/sdks/python/overview"}]}]},"basePath":"","title":"Execute x402 payment-gated API call - HTTPayer API","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-5FCzAcfS.js","utils-SLtAG4EZ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-2DZi8ZMu.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D7J3nkzE.js","snippetPresets-D0Alv0AH.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BI4qNJ2c.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BD3uyr8j.js","shallow-D8iEBr5z.js","getApiPlaygroundDisplay-CgNP4lzR.js","CodeSnippet-CX-QHuMs.js","CodeSnippets-VlXE-ZUf.js","Page-D9ithiIZ.js","getPastedJson-DYNQkZ1M.js","icon-CzacdwOi.js","MethodPill-2JVqoYKi.js","DuplicateIcon-_xVXs-U8.js","createIcon-BRHrweLo.js","DynamicMarkdown-mQG_iQiE.js","SectionHeading-DMpJzv8f.js","axios-vUo_bRtp.js","Markdown-5FGIym-8.js","clsx-D-TRO5q5.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CdrJecqK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CHlcWBLM.js"]}