{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Circle Docs","description":"Developer documentation for Circle's developer tools","colors":{"primary":"#0073C3","light":"#90D2FF","dark":"#0073C3"},"logo":{"light":"https://mintcdn.com/circle-167b8d39/K2XWSLhaeRomzNa1/logo/light.svg?fit=max\u0026auto=format\u0026n=K2XWSLhaeRomzNa1\u0026q=85\u0026s=decfb42837e0eb7c32dd425866902e78","dark":"https://mintcdn.com/circle-167b8d39/K2XWSLhaeRomzNa1/logo/dark.svg?fit=max\u0026auto=format\u0026n=K2XWSLhaeRomzNa1\u0026q=85\u0026s=8b863d97bf31467e8adedf4cb3263012"},"favicon":"https://mintcdn.com/circle-167b8d39/w3bpYw2hUr9sWZTM/favicon.ico?fit=max\u0026auto=format\u0026n=w3bpYw2hUr9sWZTM\u0026q=85\u0026s=bb633116ed9cf1247d65b0c1fa0e5725","background":{"color":{"light":"#FFFFFF","dark":"#111827"}},"navbar":{"links":[{"href":"https://console.circle.com/signin","label":"Sign in to console"},{"href":"https://faucet.circle.com","label":"Faucet"}]},"footer":{"socials":{"x":"https://twitter.com/circle","linkedin":"https://www.linkedin.com/company/circle-internet-financial","instagram":"https://www.instagram.com/teamcircle?hl=en","youtube":"https://www.youtube.com/c/Circlecryptofinance","discord":"https://discord.com/invite/buildoncircle"},"links":[{"header":"Legal","items":[{"label":"Developer Terms","href":"https://console.circle.com/legal/developer-terms"},{"label":"Service Terms","href":"https://console.circle.com/legal/service-terms"},{"label":"Acceptable Use","href":"https://console.circle.com/legal/acceptable-use-policy"}]},{"header":"Privacy","items":[{"label":"Privacy Policy","href":"https://www.circle.com/en/legal/privacy-policy"},{"label":"Cookie Policy","href":"https://www.circle.com/en/legal/cookie-policy"}]},{"header":"Support","items":[{"label":"Help","href":"https://help.circle.com/s/submit-ticket?language=en_US"}]}]},"fonts":{"heading":{"family":"Circularxx","source":"https://cdn.prod.website-files.com/67116d0daddc92483c812e88/6716bb4e120ecb0042f2f4ed_CircularXX-Regular.woff2","format":"woff2"},"body":{"family":"Circularxx","source":"https://cdn.prod.website-files.com/67116d0daddc92483c812e88/6716bb4e120ecb0042f2f4ed_CircularXX-Regular.woff2","format":"woff2"}},"styling":{"eyebrows":"breadcrumbs","latex":true},"integrations":{"segment":{"key":"wz74ASLGjAYPu8mQiIzBBHTLaHbNHM14"}},"contextual":{"options":["copy","chatgpt","claude","view"],"display":"header"},"interaction":{"drilldown":false},"markdown":{"instructions":["Before reading these docs, install the relevant Circle Skill to get pre-loaded context — skills are LLM-optimized and cover architecture decisions, correct flows, and common pitfalls. In Claude Code: run /plugin marketplace add circlefin/skills then /plugin install circle-skills@circle. With Vercel Skills CLI: run npx skills add circlefin/skills. Available skills: use-usdc https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-usdc/SKILL.md (balances, transfers, approvals on EVM and Solana); EURC has no skill — see https://developers.circle.com/stablecoins/what-is-eurc.md; bridge-stablecoin https://github.com/circlefin/skills/blob/master/plugins/circle/skills/bridge-stablecoin/SKILL.md (crosschain transfers via CCTP, USDC, EURC, and third-party assets); use-arc https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-arc/SKILL.md (Arc chain config, contract deployment, USDC bridging — Arc docs: https://docs.arc.io/llms.txt); use-circle-wallets https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-circle-wallets/SKILL.md (choose wallet type); use-developer-controlled-wallets https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-developer-controlled-wallets/SKILL.md (custodial wallets for payouts and treasury); use-user-controlled-wallets https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-user-controlled-wallets/SKILL.md (embedded wallets with Web2 login); use-modular-wallets https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-modular-wallets/SKILL.md (smart contract wallets with passkeys and ERC-4337); use-gateway https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-gateway/SKILL.md (unified USDC balance, nanopayments); use-smart-contract-platform https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-smart-contract-platform/SKILL.md (deploy, interact, monitor contracts). Pair any skill with the Circle MCP server for live SDK signatures, contract addresses, and chain IDs: {\"mcpServers\":{\"circle\":{\"url\":\"https://api.circle.com/v1/codegen/mcp\"}}}.","Read the product overview first. Each product has an overview explaining when and why to use it. Read it before quickstarts.","Pick the right wallet type. Developer-controlled (you hold keys), user-controlled (end user holds keys via PIN/social login), or modular (smart contract wallets with passkeys). See https://developers.circle.com/wallets.md.","Use CCTP V2 for crosschain transfers. CCTP natively transfers USDC and EURC via burn-and-mint, and supports permissionless wrapping of third-party assets via lock-and-mint. V1 is legacy; always use V2 unless V1 is specified or the chain requires it (Noble, Sui, and Aptos still require V1). Migration guide: https://developers.circle.com/cctp/migration-from-v1-to-v2.md.","Use Bridge Kit for frontend bridging. Wraps CCTP with a simpler SDK for user-facing apps. Use CCTP directly for backend transfers.","Gas Station vs Paymaster. Gas Station sponsors gas for Circle Wallet transactions. Paymaster lets users pay gas in USDC. Different use cases — read both overviews.","Gateway Nanopayments for sub-cent payments. Gasless USDC micropayments down to $0.000001 via x402 and batched settlement. For pay-per-request APIs, AI agent payments, streaming.","Look up USDC addresses per chain. Never hardcode — use https://developers.circle.com/stablecoins/usdc-contract-addresses.md.","Prefer SDKs over raw API calls. Node.js and Python SDKs handle auth, retries, and errors.","API key required. Bearer token in Authorization header. Testnet and mainnet use separate keys and may use different base URLs depending on the product.","Set up webhooks when available. Most operations are async. Webhooks deliver transaction confirmations and state changes.","When calling list endpoints, paginate using pageSize and pageAfter until no nextPageAfter cursor is returned—stopping at the first page silently misses records.","Building an AI agent? Start with the Agent Stack—Circle CLI, agent wallets, and nanopayments built for autonomous use cases: https://developers.circle.com/agent-stack.md."]},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"circle-167b8d39","hasAudioNarration":false,"actualSubdomain":"circle-167b8d39","customDomains":["developers.circle.com"],"gitSource":{"type":"github","owner":"crcl-main","repo":"circle-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af4fc8d4cb09384c14fb2c5","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"API reference","count":610},{"language":"default","tag":"Circle Payments Network","count":166},{"language":"default","tag":"Wallets","count":159},{"language":"default","tag":"Mint and Custody","count":131},{"language":"default","tag":"Digital Asset Accounts","count":118},{"language":"default","tag":"StableFX","count":108},{"language":"default","tag":"Liquidity services","count":107},{"language":"default","tag":"Crosschain transfers","count":102},{"language":"default","tag":"Payments","count":94},{"language":"default","tag":"Managed Payments","count":86}]},"assistantConfig":{"enableAskAiButton":false,"enableAskAiSearchBar":false},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","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":"instinct-self-updating-docs","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}],"googleFontsInlined":false},"customCss":[{"filePath":"snippets/SDKCard.css","content":".cb-card{border:1px solid #e5e7eb;border-radius:12px;background:white;box-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1)}.cb-icon-circle{display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.accent-orange{background-color:#fff7ed;color:#ea580c}.accent-blue{background-color:#eff6ff;color:#2563eb}.accent-green{background-color:#f0fdf4;color:#16a34a}.accent-purple{background-color:#faf5ff;color:#9333ea}.accent-violet{background-color:#f5f3ff;color:#7c3aed}.type-header-xs{font-size:18px;font-weight:600;line-height:1.4;color:#111827}.type-body-base{font-size:14px;line-height:1.5;color:#6b7280}.type-body-xs-bold{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:#6b7280}.type-body-sm{font-size:14px;line-height:1.5;color:#374151}.type-body-sm-bold{font-size:14px;font-weight:600;line-height:1.5}.text-neutral-subtle{color:#6b7280}.text-icon-neutral{color:#6b7280}.cb-button{display:inline-flex;align-items:center;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;text-decoration:none;transition:all 0.2s;border:1px solid #e5e7eb;background:white;color:#374151}.cb-button:hover{background:#f9fafb;border-color:#d1d5db}"},{"filePath":"style.css","content":":root{--background-dark: 17 24 39 !important}html.dark .card{background-color:#111827!important}html.dark .accordion{background-color:#111827!important}#navbar [data-component-name=\"theme-toggle\"],#navbar a[href*=\"console.circle.com\"],#navbar a[href*=\"faucet.circle.com\"],#navbar .navbar-link a{background-color:rgba(17, 24, 39, 0.03)!important}#navbar [data-component-name=\"theme-toggle\"]:hover,#navbar a[href*=\"console.circle.com\"]:hover,#navbar a[href*=\"faucet.circle.com\"]:hover,#navbar .navbar-link a:hover{background-color:rgba(17, 24, 39, 0.07)!important}@media (prefers-color-scheme: dark){#navbar [data-component-name=\"theme-toggle\"],#navbar a[href*=\"console.circle.com\"],#navbar a[href*=\"faucet.circle.com\"],#navbar .navbar-link a{background-color:rgba(255, 255, 255, 0.05)!important}#navbar [data-component-name=\"theme-toggle\"]:hover,#navbar a[href*=\"console.circle.com\"]:hover,#navbar a[href*=\"faucet.circle.com\"]:hover,#navbar .navbar-link a:hover{background-color:rgba(255, 255, 255, 0.10)!important}}html.dark #navbar [data-component-name=\"theme-toggle\"],html.dark #navbar a[href*=\"console.circle.com\"],html.dark #navbar a[href*=\"faucet.circle.com\"],html.dark #navbar .navbar-link a{background-color:rgba(255, 255, 255, 0.05)!important}html.dark #navbar [data-component-name=\"theme-toggle\"]:hover,html.dark #navbar a[href*=\"console.circle.com\"]:hover,html.dark #navbar a[href*=\"faucet.circle.com\"]:hover,html.dark #navbar .navbar-link a:hover{background-color:rgba(255, 255, 255, 0.10)!important}html.dark #topbar-cta-button,html.dark #topbar-cta-button a{color:#000000!important}html.dark #feedback-form-submit{color:#000000!important}html.dark tryit-button{color:#000000!important}html.dark chat-assistant-send-button{color:#000000!important}html.dark contextual-feedback-form-submit-button{color:#000000!important}html.dark code-snippet-feedback-form-submit-button{color:#000000!important}html.dark a[class*=\"bg-[#5FBFFF]\"],html.dark a[class*=\"bg-[#90D2FF]\"],html.dark a[class*=\"bg-[#1AA3FF]\"],html.dark a[class*=\"bg-[#0073C3]\"]{color:#000000!important}html.dark a[class*=\"bg-[#5FBFFF]\"] svg,html.dark a[class*=\"bg-[#90D2FF]\"] svg,html.dark a[class*=\"bg-[#1AA3FF]\"] svg,html.dark a[class*=\"bg-[#0073C3]\"] svg{color:#000000!important}.mcp-setup-container{display:flex;flex-wrap:wrap;gap:24px;margin:20px 0 28px}.mcp-setup-section{display:flex;flex-direction:column;gap:8px}.mcp-setup-label{font-size:0.75rem;font-weight:500;text-transform:uppercase;letter-spacing:0.05em;color:#64748b}.dark .mcp-setup-label{color:#94a3b8}.mcp-cta-group{display:flex;flex-wrap:wrap;gap:10px}.mcp-cta{height:40px;border-radius:12px;font-weight:600;font-size:0.875rem;padding:0 16px;text-decoration:none!important;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(15, 23, 42, 0.15);background-color:#f8fafc;color:#0b0f19;transition:background-color 0.15s ease, border-color 0.15s ease;cursor:pointer}.mcp-cta:hover{background-color:#f1f5f9;border-color:rgba(15, 23, 42, 0.25)}.mcp-cta img{width:20px;height:20px;object-fit:contain;border-radius:6px;flex-shrink:0}.mcp-cta span{white-space:nowrap}.dark .mcp-cta{border-color:rgba(255, 255, 255, 0.2);background-color:rgba(255, 255, 255, 0.08);color:#f8fafc}.dark .mcp-cta:hover{background-color:rgba(255, 255, 255, 0.12);border-color:rgba(255, 255, 255, 0.3)}.mcp-cta-cli{background-color:#f1f5f9;border-color:#e2e8f0}.mcp-cta-cli:hover{background-color:#e2e8f0;border-color:#cbd5e1}.dark .mcp-cta-cli{background-color:rgba(255, 255, 255, 0.06);border-color:rgba(255, 255, 255, 0.15)}.dark .mcp-cta-cli:hover{background-color:rgba(255, 255, 255, 0.1);border-color:rgba(255, 255, 255, 0.25)}.mcp-cli-label{font-weight:600;color:#0f172a}.dark .mcp-cli-label{color:#f1f5f9}.mcp-cli-cmd{font-size:0.75rem;font-family:ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, monospace;color:#64748b;background:transparent!important;padding:0;white-space:nowrap;border:none}.dark .mcp-cli-cmd{color:#94a3b8;background:transparent!important}.mcp-cli-icon-wrap{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:14px;height:14px;position:relative}.mcp-cli-icon-wrap svg{color:#94a3b8;transition:opacity 0.15s ease}.mcp-cta-cli:hover .mcp-cli-icon-wrap svg{color:#64748b}.dark .mcp-cli-icon-wrap svg{color:#64748b}.dark .mcp-cta-cli:hover .mcp-cli-icon-wrap svg{color:#94a3b8}.mcp-icon-check{position:absolute;opacity:0;color:#22c55e!important}.mcp-cta-cli.copied .mcp-icon-copy{opacity:0}.mcp-cta-cli.copied .mcp-icon-check{opacity:1}.dark .mcp-cli-openai-logo{filter:invert(1)}table thead{text-align:left;background-color:#f5f5f8}.dark table thead{text-align:left;background-color:#29233b}table thead th,table td{padding:8px!important}.accordion:has([data-component-part=\"accordion-icon\"] svg[style*=\"circle-info.svg\"]){background-color:#e1f2ff!important;border-color:#c9e1f5!important}.accordion:has([data-component-part=\"accordion-icon\"] svg[style*=\"circle-info.svg\"]) summary{transition:background-color 0.3s ease!important}.accordion:has([data-component-part=\"accordion-icon\"] svg[style*=\"circle-info.svg\"]) summary:hover{background-color:#c9e1f5!important}.dark .accordion:has([data-component-part=\"accordion-icon\"] svg[style*=\"circle-info.svg\"]){background-color:#1f1a30!important;border-color:#29233b!important}.dark .accordion:has([data-component-part=\"accordion-icon\"] svg[style*=\"circle-info.svg\"]) summary{transition:background-color 0.3s ease!important}.dark .accordion:has([data-component-part=\"accordion-icon\"] svg[style*=\"circle-info.svg\"]) summary:hover{background-color:#29233b!important}.dark .accordion:has([data-component-part=\"accordion-icon\"] svg[style*=\"circle-info.svg\"]) [data-component-part=\"accordion-title\"]{color:#ffffff!important}.dark .accordion:has([data-component-part=\"accordion-icon\"] svg[style*=\"circle-info.svg\"]) [data-component-part=\"accordion-content\"]{color:#e5e7eb!important}.dark .accordion:has([data-component-part=\"accordion-icon\"] svg[style*=\"circle-info.svg\"]) [data-component-part=\"accordion-content\"] a{color:#1aa3ff!important}.dark .accordion:has([data-component-part=\"accordion-icon\"] svg[style*=\"circle-info.svg\"]) [data-component-part=\"accordion-content\"] a:hover{color:#1894e8!important}.dark .accordion:has([data-component-part=\"accordion-icon\"] svg[style*=\"circle-info.svg\"]) [data-component-part=\"accordion-content\"] code{color:#fbbf24!important;background-color:#374151!important}.TryItOutComponent pre,.TryItOutComponent code{background-color:transparent!important}.TryItOutComponent .code-container{background-color:white!important}.dark .TryItOutComponent .code-container{background-color:#29233b!important}.home_code_container .code-block{margin:0!important;height:100%}.home_code_container .code-block .code-block-background{height:100%!important}.home_mint_cards a.card>div{padding:20px!important}.home_mint_cards h2{color:#29233b!important}.home_mint_cards div.prose span{color:#6b6580!important}.dark .home_mint_cards h2{color:#fff!important}.dark .home_mint_cards div.prose span{color:#9ca3af!important}.home_mint_cards a.card svg{background-color:#6b6580!important}.home_mint_cards a.card:hover svg{background:linear-gradient(135deg, #5fbfff 0%, #b090f5 100%)!important}.home_tryitout{background:linear-gradient(\n 89deg,\n var(\n --background-gradient-bg-accent-purple-gradient-bottom-left,\n rgba(241, 235, 255, 0.5)\n )\n 0%,\n var(\n --background-gradient-bg-accent-purple-gradient-top-right,\n rgba(225, 242, 255, 0.5)\n )\n 94.58%\n )}.dark .home_tryitout{background:linear-gradient(\n 89deg,\n var(\n --background-gradient-bg-accent-purple-gradient-bottom-left,\n rgba(44, 44, 44, 0.5)\n )\n 0%,\n var(\n --background-gradient-bg-accent-purple-gradient-top-right,\n rgba(75, 82, 86, 0.5)\n )\n 94.58%\n )}.quickstart-cards-aligned [data-component-part=\"card-group\"]{gap:16px!important}.asset-card-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:1.5rem;margin:1.5rem 0;align-items:stretch}.asset-card{border:1px solid #e5e7eb;border-radius:1rem;background:transparent;padding:1rem 1.25rem 1.5rem;text-decoration:none;color:inherit;display:flex;flex-direction:column;justify-content:space-between;gap:0.45rem;transition:border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;height:100%}.asset-card:hover{border-color:#cfd3dc;box-shadow:0 12px 24px rgba(15, 23, 42, 0.08);transform:translateY(-2px)}.dark .asset-card{border-color:rgba(148, 163, 184, 0.14);background:transparent;box-shadow:none}.asset-card h3{font-size:1.125rem;font-weight:600;margin:0;color:#0f172a}.dark .asset-card h3{color:#f8fafc}.asset-card p{margin:0;font-weight:300;color:#475569}.dark .asset-card p{color:#b8b8b8}.asset-card-image-wrapper,.asset-card-inline-icon{width:56px;height:56px;border-radius:9999px;margin-bottom:0.6rem;flex-shrink:0}.asset-card-image-wrapper{overflow:hidden;display:flex;align-items:center;justify-content:center;background:rgba(15, 23, 42, 0.05)}.dark .asset-card-image-wrapper{background:rgba(248, 250, 252, 0.08)}.asset-card-image{width:100%;height:100%;object-fit:cover;display:block}.asset-card-inline-icon{padding:10px;display:flex;align-items:center;justify-content:center;background:linear-gradient(\n 135deg,\n rgba(0, 96, 255, 0.18),\n rgba(0, 164, 255, 0.05)\n );color:#0d5be1}.dark .asset-card-inline-icon{background:rgba(255, 255, 255, 0.08);color:#82b7ff}.asset-card-inline-icon svg{width:26px;height:26px}.asset-card.secondary{justify-content:flex-start}.quickstart-cards-aligned a.card,.quickstart-cards-aligned [data-component-part=\"card\"]{display:flex!important;flex-direction:column!important;height:100%!important}.quickstart-cards-aligned a.card>div,.quickstart-cards-aligned [data-component-part=\"card\"]>div{display:flex!important;flex-direction:column!important;height:100%!important}.quickstart-cards-aligned a.card>div>.prose,.quickstart-cards-aligned [data-component-part=\"card\"]>div>.prose{flex-grow:1!important;display:flex!important;flex-direction:column!important}.quickstart-cards-aligned a.card>div>div:last-child,.quickstart-cards-aligned [data-component-part=\"card\"]>div>div:last-child{margin-top:auto!important}@media (max-width: 1024px){div.quickstart-cards-aligned,.quickstart-cards-aligned{display:flex!important;flex-direction:column!important;gap:4px!important}div.quickstart-cards-aligned [data-component-part=\"card-group\"],div.quickstart-cards-aligned>div,.quickstart-cards-aligned [data-component-part=\"card-group\"],.quickstart-cards-aligned>div{display:flex!important;flex-direction:column!important;gap:4px!important;row-gap:4px!important;grid-row-gap:4px!important;width:100%!important}div.quickstart-cards-aligned a.card,.quickstart-cards-aligned a.card,.quickstart-cards-aligned [data-component-part=\"card\"]{margin-bottom:4px!important;width:100%!important}div.quickstart-cards-aligned a.card:last-child,.quickstart-cards-aligned a.card:last-child,.quickstart-cards-aligned [data-component-part=\"card\"]:last-child{margin-bottom:0!important}}footer,footer>div,footer [data-component-part=\"footer\"],footer [data-component-part=\"footer-section\"]{overflow-x:hidden!important;max-width:100%!important;padding-top:1.75rem!important}footer a,footer [data-component-part=\"footer-link\"],footer .footer-link,#your-privacy-choices-button{overflow-wrap:normal!important;word-wrap:normal!important;word-break:keep-all!important;hyphens:none!important;font-size:0.75rem!important;white-space:normal!important;max-width:100%!important;line-height:1.4!important;min-width:0!important}#footer a,#your-privacy-choices-button{color:#6B6580!important}html.dark #footer a,html.dark #your-privacy-choices-button{color:#8A849C!important}#footer a:hover,#your-privacy-choices-button:hover{color:#4E4763!important}html.dark #footer a:hover,html.dark #your-privacy-choices-button:hover{color:#A7A3B5!important}#your-privacy-choices-button{position:relative;align-self:start}footer .md\\:items-center>div:has(>#your-privacy-choices-button){align-self:flex-start!important}#your-privacy-choices-button::after{content:url(\"https://6778953.fs1.hubspotusercontent-na1.net/hubfs/6778953/legal/opt-out-30x14.svg\");right:-34px;position:absolute}#footer>div{gap:12px;padding-bottom:20px}#footer a[href*=\"mintlify\"],#footer a[href*=\"mintlify\"] span,#footer a[href*=\"mintlify\"] svg{color:#6B6580!important;fill:currentColor!important}html.dark #footer a[href*=\"mintlify\"],html.dark #footer a[href*=\"mintlify\"] span,html.dark #footer a[href*=\"mintlify\"] svg{color:#8A849C!important}#footer a[href*=\"mintlify\"]:hover,#footer a[href*=\"mintlify\"]:hover span,#footer a[href*=\"mintlify\"]:hover svg{color:#4E4763!important}html.dark #footer a[href*=\"mintlify\"]:hover,html.dark #footer a[href*=\"mintlify\"]:hover span,html.dark #footer a[href*=\"mintlify\"]:hover svg{color:#A7A3B5!important}#footer .gap-4.min-w-\\[140px\\].max-w-\\[492px\\].flex-wrap.hidden.md\\:flex:has([data-powered-by-relocated]){flex:0 0 auto!important;width:auto!important;max-width:200px!important}#footer [data-powered-by-relocated]{flex:0 0 100%!important;display:flex!important;justify-content:flex-end!important;margin-top:0.25rem!important}#footer [data-powered-by-relocated] a[href*=\"mintlify\"]{font-size:0.75rem!important}#footer [data-powered-by-relocated] a[href*=\"mintlify\"] svg{height:0.75rem!important;width:auto!important}#footer [data-powered-by-relocated]>*:not(:has(a[href*=\"mintlify\"])){display:none!important}@media (max-width: 767px){#footer .gap-4.min-w-\\[140px\\].max-w-\\[492px\\].flex-wrap.hidden.md\\:flex{display:flex!important;justify-content:flex-end!important}#footer .gap-4.min-w-\\[140px\\].max-w-\\[492px\\].flex-wrap.hidden.md\\:flex>a{display:none!important}}#footer svg[style*=\"mask-image\"]{background-color:#6B6580!important}html.dark #footer svg[style*=\"mask-image\"]{background-color:#8A849C!important}#footer a:hover svg[style*=\"mask-image\"]{background-color:#4E4763!important}html.dark #footer a:hover svg[style*=\"mask-image\"]{background-color:#A7A3B5!important}"}],"page":{"pagePath":"api-reference/stablefx/all/generate-trade-signature-data","slug":"/api-reference/stablefx/all/generate-trade-signature-data","pageMetadata":{"openapi":"openapi/stablefx.yaml get /v1/exchange/stablefx/signatures/presign/{tradeId}","title":"Generate trade presign data","description":"Returns the EIP-712 Permit2 payload that the maker must sign for a trade.","href":"/api-reference/stablefx/all/generate-trade-signature-data"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Returns the EIP-712 Permit2 payload that the maker must sign for a trade.\"\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":"openapi/stablefx.yaml get /v1/exchange/stablefx/signatures/presign/{tradeId}","title":"Generate trade presign data","description":"Returns the EIP-712 Permit2 payload that the maker must sign for a trade.","href":"/api-reference/stablefx/all/generate-trade-signature-data"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/circle-167b8d39/d67aae5e94f8afee/content/gtm.js","/_mintlify/custom/circle-167b8d39/df50992471c6ad37/content/footer-powered-by.js","/_mintlify/custom/circle-167b8d39/749fc460434d1999/circle-fees.js"],"openApiReferenceData":{"operation":{"security":["763a0686-44d2-4d0f-b829-c021704c4402"],"operationId":"generateTradeSignatureData","summary":"Generate trade presign data","description":"Returns the EIP-712 Permit2 payload that the maker must sign for a trade.","tags":["Signatures"],"parameters":["3f8ba477-ee44-48bf-aebf-aca67fb1beb0","404c1152-5c74-4efe-b4ef-8e8b2cb2f308"],"responses":{"200":"4a879c61-4c1c-455e-a7dc-4e21c620d357"},"method":"get","type":"path","servers":["674b62d3-9d12-4dcb-a51c-29ef0f26c6e6"],"path":"/v1/exchange/stablefx/signatures/presign/{tradeId}","baseUrlOptions":["https://api.circle.com"],"title":"Generate trade presign data","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"3f8ba477-ee44-48bf-aebf-aca67fb1beb0":{"in":"path","name":"tradeId","required":true,"description":"The ID of the trade.","schema":{"type":"string","format":"uuid","description":"The ID of the trade.\nSystem-generated unique identifier of the resource.","example":"c4d1da72-111e-4d52-bdbf-2e74a2d803d5","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"}},"404c1152-5c74-4efe-b4ef-8e8b2cb2f308":{"in":"query","name":"recipientAddress","required":true,"description":"The address of the recipient of the settlement tokens.","schema":{"type":"string","description":"The address of the recipient of the settlement tokens.\nA blockchain address","example":"0x1234567890abcdef1234567890abcdef12345678","isRequired":true,"uniqueKey":"","typeLabel":"string"}}},"responses":{"4a879c61-4c1c-455e-a7dc-4e21c620d357":{"description":"Signature data generated successfully","content":{"application/json":{"schema":{"type":"object","description":"Permit2 EIP-712 Typed Data for Trade Registration","required":["typedData"],"properties":{"typedData":{"type":"object","description":"EIP-712 typed data for trade registration","required":["domain","types","primaryType","message"],"properties":{"domain":{"type":"object","description":"Permit2 EIP-712 domain separator","required":["name","chainId","verifyingContract"],"properties":{"name":{"type":"string","description":"The name of the signing domain","example":"Permit2","isRequired":true,"uniqueKey":"typedData.domain.name","typeLabel":"string"},"chainId":{"type":"integer","description":"The chain ID of the network","example":11155111,"isRequired":true,"uniqueKey":"typedData.domain.chainId","typeLabel":"integer"},"verifyingContract":{"type":"string","description":"The address of the verifying contract","example":"0xffd21ca8F0876DaFAD7de09404E0c1f868bbf1AE","isRequired":true,"uniqueKey":"typedData.domain.verifyingContract","typeLabel":"string"}},"isRequired":true,"uniqueKey":"typedData.domain","typeLabel":"object"},"types":{"type":"object","description":"EIP-712 types definition","required":["EIP712Domain","Consideration"],"properties":{"EIP712Domain":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","uniqueKey":"typedData.types.EIP712Domain.items.[INDEX].name","typeLabel":"string"},"type":{"type":"string","uniqueKey":"typedData.types.EIP712Domain.items.[INDEX].type","typeLabel":"string"}},"uniqueKey":"typedData.types.EIP712Domain.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"typedData.types.EIP712Domain","typeLabel":"object[]"},"Consideration":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","uniqueKey":"typedData.types.Consideration.items.[INDEX].name","typeLabel":"string"},"type":{"type":"string","uniqueKey":"typedData.types.Consideration.items.[INDEX].type","typeLabel":"string"}},"uniqueKey":"typedData.types.Consideration.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"typedData.types.Consideration","typeLabel":"object[]"},"TraderDetails":{"type":"array","description":"Type definition for trader (maker or taker) trades. Replaces the legacy TakerDetails and MakerDetails type definitions and adds the `authorizer` field.","items":{"type":"object","properties":{"name":{"type":"string","uniqueKey":"typedData.types.TraderDetails.items.[INDEX].name","typeLabel":"string"},"type":{"type":"string","uniqueKey":"typedData.types.TraderDetails.items.[INDEX].type","typeLabel":"string"}},"uniqueKey":"typedData.types.TraderDetails.items.[INDEX]","typeLabel":"object"},"example":[{"name":"consideration","type":"Consideration"},{"name":"recipient","type":"address"},{"name":"fee","type":"uint256"},{"name":"authorizer","type":"address"}],"uniqueKey":"typedData.types.TraderDetails","typeLabel":"object[]"},"TokenPermissions":{"type":"array","description":"Type definition for token permissions","items":{"type":"object","properties":{"name":{"type":"string","uniqueKey":"typedData.types.TokenPermissions.items.[INDEX].name","typeLabel":"string"},"type":{"type":"string","uniqueKey":"typedData.types.TokenPermissions.items.[INDEX].type","typeLabel":"string"}},"uniqueKey":"typedData.types.TokenPermissions.items.[INDEX]","typeLabel":"object"},"uniqueKey":"typedData.types.TokenPermissions","typeLabel":"object[]"},"PermitWitnessTransferFrom":{"type":"array","description":"Type definition for permit witness transfer","items":{"type":"object","properties":{"name":{"type":"string","uniqueKey":"typedData.types.PermitWitnessTransferFrom.items.[INDEX].name","typeLabel":"string"},"type":{"type":"string","uniqueKey":"typedData.types.PermitWitnessTransferFrom.items.[INDEX].type","typeLabel":"string"}},"uniqueKey":"typedData.types.PermitWitnessTransferFrom.items.[INDEX]","typeLabel":"object"},"uniqueKey":"typedData.types.PermitWitnessTransferFrom","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"typedData.types","typeLabel":"object"},"primaryType":{"type":"string","description":"The primary type for the EIP-712 data to be signed","enum":["PermitWitnessTransferFrom"],"example":"PermitWitnessTransferFrom","isRequired":true,"uniqueKey":"typedData.primaryType","typeLabel":"enum\u003cstring>"},"message":{"type":"object","description":"The Permit2 message for trade registration","required":["permitted","spender","nonce","deadline","witness"],"properties":{"permitted":{"type":"object","description":"Token permission details","required":["token","amount"],"properties":{"token":{"type":"string","description":"The address of the token to be funded","example":"0x3600000000000000000000000000000000000000","isRequired":true,"uniqueKey":"typedData.message.permitted.token","typeLabel":"string"},"amount":{"type":"string","description":"The prefunded risk buffer amount of tokens to be funded, as a string representation of a uint256","example":"429000000","isRequired":true,"uniqueKey":"typedData.message.permitted.amount","typeLabel":"string"}},"isRequired":true,"uniqueKey":"typedData.message.permitted","typeLabel":"object"},"spender":{"type":"string","description":"The address of the StableFX contract","example":"0xa8f94168b4981840ba27d423f4ad6332bedee006","isRequired":true,"uniqueKey":"typedData.message.spender","typeLabel":"string"},"nonce":{"type":"string","description":"A unique nonce for the signature to prevent replay attacks, as a string representation of a uint256","example":"309585810","isRequired":true,"uniqueKey":"typedData.message.nonce","typeLabel":"string"},"deadline":{"type":"string","format":"epoch","description":"The validity period for the signature in epoch seconds, as a string representation of a uint256","example":"1770302983","isRequired":true,"uniqueKey":"typedData.message.deadline","typeLabel":"string\u003cepoch>"},"witness":{"type":"object","description":"Witness data containing trade details","required":["consideration","fee","authorizer"],"properties":{"consideration":{"type":"object","description":"EIP-712 typed data for a StableFX trade created from a quote.","properties":{"quoteId":{"type":"string","uniqueKey":"typedData.message.witness.consideration.quoteId","typeLabel":"string"},"base":{"type":"string","uniqueKey":"typedData.message.witness.consideration.base","typeLabel":"string"},"quote":{"type":"string","uniqueKey":"typedData.message.witness.consideration.quote","typeLabel":"string"},"baseAmount":{"type":"string","uniqueKey":"typedData.message.witness.consideration.baseAmount","typeLabel":"string"},"quoteAmount":{"type":"string","uniqueKey":"typedData.message.witness.consideration.quoteAmount","typeLabel":"string"},"maturity":{"type":"string","format":"epoch","description":"The settlement maturity timestamp for the trade, as a string representation of a uint256","example":"1716153600","uniqueKey":"typedData.message.witness.consideration.maturity","typeLabel":"string\u003cepoch>"}},"isRequired":true,"uniqueKey":"typedData.message.witness.consideration","typeLabel":"object"},"fee":{"type":"string","description":"The fee for the trade, as a string representation of a uint256","example":"80000","isRequired":true,"uniqueKey":"typedData.message.witness.fee","typeLabel":"string"},"authorizer":{"type":"string","description":"The authorizer is the address of the entity that authorizes the trade. For StableFX this does not need to be set and defaults to the zero-address sentinel.","example":"0x0000000000000000000000000000000000000000","isRequired":true,"uniqueKey":"typedData.message.witness.authorizer","typeLabel":"string"},"recipient":{"oneOf":[{"type":"string","description":"The address of the recipient of the trade. Only included in taker trades, null for maker trades.","example":"0x1f531ce3c418bbd830d06138a9e5b5eacfdfb3d6","uniqueKey":"typedData.message.witness.recipient.oneOf.0","typeLabel":"string"},{"type":"null","description":"The address of the recipient of the trade. Only included in taker trades, null for maker trades.","example":"0x1f531ce3c418bbd830d06138a9e5b5eacfdfb3d6","uniqueKey":"typedData.message.witness.recipient.oneOf.1","typeLabel":"null"}],"uniqueKey":"typedData.message.witness.recipient","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"typedData.message.witness","typeLabel":"object"}},"isRequired":true,"uniqueKey":"typedData.message","typeLabel":"object"}},"isRequired":true,"uniqueKey":"typedData","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"typedData":{"domain":{"name":"Permit2","chainId":11155111,"verifyingContract":"0xffd21ca8F0876DaFAD7de09404E0c1f868bbf1AE"},"types":{"EIP712Domain":[{"name":"\u003cstring>","type":"\u003cstring>"}],"Consideration":[{"name":"\u003cstring>","type":"\u003cstring>"}],"TraderDetails":[{"name":"consideration","type":"Consideration"},{"name":"recipient","type":"address"},{"name":"fee","type":"uint256"},{"name":"authorizer","type":"address"}],"TokenPermissions":[{"name":"\u003cstring>","type":"\u003cstring>"}],"PermitWitnessTransferFrom":[{"name":"\u003cstring>","type":"\u003cstring>"}]},"primaryType":"PermitWitnessTransferFrom","message":{"permitted":{"token":"0x3600000000000000000000000000000000000000","amount":"429000000"},"spender":"0xa8f94168b4981840ba27d423f4ad6332bedee006","nonce":"309585810","deadline":"1770302983","witness":{"consideration":{"quoteId":"\u003cstring>","base":"\u003cstring>","quote":"\u003cstring>","baseAmount":"\u003cstring>","quoteAmount":"\u003cstring>","maturity":"1716153600"},"fee":"80000","authorizer":"0x0000000000000000000000000000000000000000","recipient":"0x1f531ce3c418bbd830d06138a9e5b5eacfdfb3d6"}}}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"763a0686-44d2-4d0f-b829-c021704c4402":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"PREFIX:ID:SECRET","description":"Circle's API Keys are formatted in the following structure \"PREFIX:ID:SECRET\". All three parts are requred to make a successful request.","scopes":[],"schemeName":"BearerAuth"}}},"servers":{"674b62d3-9d12-4dcb-a51c-29ef0f26c6e6":{"url":"https://api.circle.com","description":"StableFX API server"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"PREFIX:ID:SECRET","description":"Circle's API Keys are formatted in the following structure \"PREFIX:ID:SECRET\". All three parts are requred to make a successful request.","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Circle's API Keys are formatted in the following structure \"PREFIX:ID:SECRET\". All three parts are requred to make a successful request.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"openapi/stablefx.yaml"},"subdomain":"circle-167b8d39","siteName":"Circle Docs","title":"Generate trade presign data - Circle Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-06-08T17:39:29.000Z","originalFileLocation":"api-reference/stablefx/all/generate-trade-signature-data.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=\"Returns the EIP-712 Permit2 payload that the maker must sign for a trade.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Circle Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/circle-167b8d39/NmgH-UQQhRa2ts0q/_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/circle-167b8d39/NmgH-UQQhRa2ts0q/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/circle-167b8d39/NmgH-UQQhRa2ts0q/_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/circle-167b8d39/NmgH-UQQhRa2ts0q/_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/circle-167b8d39/NmgH-UQQhRa2ts0q/_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/circle-167b8d39/NmgH-UQQhRa2ts0q/_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/circle-167b8d39/NmgH-UQQhRa2ts0q/_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/circle-167b8d39/NmgH-UQQhRa2ts0q/_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/circle-167b8d39/NmgH-UQQhRa2ts0q/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Generate trade presign data - Circle Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Returns the EIP-712 Permit2 payload that the maker must sign for a trade.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Circle Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.circle.com/api-reference/stablefx/all/generate-trade-signature-data\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://circle-167b8d39.mintlify.site/_mintlify/api/og/v2?division=Signatures\u0026amp;title=Generate+trade+presign+data\u0026amp;description=Returns+the+EIP-712+Permit2+payload+that+the+maker+must+sign+for+a+trade.\u0026amp;theme=b86ce57c82f364033d1c00f9\u0026amp;signature=813255840457d8e1403481c19b4c6df67224cf6dc1abb087ae299432a4646401\">\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=\"Generate trade presign data - Circle Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Returns the EIP-712 Permit2 payload that the maker must sign for a trade.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://circle-167b8d39.mintlify.site/_mintlify/api/og/v2?division=Signatures\u0026amp;title=Generate+trade+presign+data\u0026amp;description=Returns+the+EIP-712+Permit2+payload+that+the+maker+must+sign+for+a+trade.\u0026amp;theme=b86ce57c82f364033d1c00f9\u0026amp;signature=813255840457d8e1403481c19b4c6df67224cf6dc1abb087ae299432a4646401\">\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/circle-167b8d39/NmgH-UQQhRa2ts0q/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Circle Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0073C3\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developers.circle.com/api-reference/stablefx/all/generate-trade-signature-data\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/stablefx/all/generate-trade-signature-data.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developers.circle.com/#organization\",\"name\":\"Circle Docs\",\"url\":\"https://developers.circle.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/circle-167b8d39/K2XWSLhaeRomzNa1/logo/light.svg?fit=max\u0026auto=format\u0026n=K2XWSLhaeRomzNa1\u0026q=85\u0026s=decfb42837e0eb7c32dd425866902e78\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developers.circle.com#website\",\"name\":\"Circle Docs\",\"url\":\"https://developers.circle.com\",\"publisher\":{\"@id\":\"https://developers.circle.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developers.circle.com/api-reference/stablefx/all/generate-trade-signature-data#webpage\",\"url\":\"https://developers.circle.com/api-reference/stablefx/all/generate-trade-signature-data\",\"name\":\"Generate trade presign data\",\"description\":\"Returns the EIP-712 Permit2 payload that the maker must sign for a trade.\",\"dateModified\":\"2026-06-08T17:39:29.000Z\",\"isPartOf\":{\"@id\":\"https://developers.circle.com#website\"},\"breadcrumb\":{\"@id\":\"https://developers.circle.com/api-reference/stablefx/all/generate-trade-signature-data#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.circle.com/api-reference/stablefx/all/generate-trade-signature-data#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"StableFX\",\"item\":\"https://developers.circle.com/api-reference/stablefx/all/create-quote\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Signatures\",\"item\":\"https://developers.circle.com/api-reference/stablefx/all/register-trade-signature\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Generate trade presign data\",\"item\":\"https://developers.circle.com/api-reference/stablefx/all/generate-trade-signature-data\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developers.circle.com/api-reference/stablefx/all/generate-trade-signature-data#apireference\",\"headline\":\"Generate trade presign data\",\"name\":\"Generate trade presign data\",\"description\":\"Returns the EIP-712 Permit2 payload that the maker must sign for a trade.\",\"url\":\"https://developers.circle.com/api-reference/stablefx/all/generate-trade-signature-data\",\"mainEntityOfPage\":{\"@id\":\"https://developers.circle.com/api-reference/stablefx/all/generate-trade-signature-data#webpage\"},\"dateModified\":\"2026-06-08T17:39:29.000Z\",\"publisher\":{\"@id\":\"https://developers.circle.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developers.circle.com#website\"}}]}\u003c/script>","agentPointerHref":"/api-reference/stablefx/all/generate-trade-signature-data.md","siteName":"Circle Docs","nav":{"global":null,"tabs":[{"tab":"Get started","pages":[{"title":"Get started","href":""}]},{"tab":"Assets","pages":[{"title":"Assets","href":"/assets"}]},{"tab":"Build onchain","pages":[{"title":"Build onchain","href":"/build-onchain"}]},{"tab":"Crosschain transfers","pages":[{"title":"Crosschain transfers","href":"/crosschain-transfers"}]},{"tab":"Agent stack","pages":[{"title":"Agent stack","href":"/agent-stack"}]},{"tab":"Payments","pages":[{"title":"Payments","href":"/cpn"}]},{"tab":"Liquidity services","pages":[{"title":"Liquidity services","href":"/liquidity-services"}]},{"tab":"API reference","anchors":[{"anchor":"Home","icon":"home","pages":[{"title":"Home","href":"/api-reference"}]},{"anchor":"Wallets","icon":"wallet","pages":[{"title":"Wallets","href":"/api-reference/wallets"}]},{"anchor":"Contracts","icon":"file-contract","pages":[{"title":"Contracts","href":"/api-reference/contracts"}]},{"anchor":"CCTP","icon":"bridge","pages":[{"title":"CCTP","href":"/api-reference/cctp"}]},{"anchor":"Gateway","icon":"dungeon","pages":[{"title":"Gateway","href":"/api-reference/gateway"}]},{"anchor":"x402 facilitators","icon":"handshake","pages":[{"title":"x402 facilitators","href":"/api-reference/x402-facilitators"}]},{"anchor":"Digital Asset Accounts","icon":"money-bill-1-wave","pages":[{"title":"Digital Asset Accounts","href":"/api-reference/digital-asset-accounts"}]},{"anchor":"End User Onboarding","icon":"user-plus","pages":[{"title":"End User Onboarding","href":"/api-reference/end-user-onboarding"}]},{"anchor":"Mint and Custody","icon":"building-columns","pages":[{"title":"Mint and Custody","href":"/api-reference/circle-mint"}]},{"anchor":"Circle Payments Network","icon":"chart-network","pages":[{"title":"Circle Payments Network","href":"/api-reference/cpn"}]},{"anchor":"StableFX","icon":"swap","pages":[{"title":"StableFX API","sidebarTitle":"Overview","href":"/api-reference/stablefx"},{"title":"Postman collection","href":"/api-reference/stablefx/postman"},{"title":"StableFX API rate limits","sidebarTitle":"Rate limits","href":"/api-reference/stablefx/rate-limits"},{"group":"StableFX","pages":[{"group":"Quotes","pages":[{"openapi":"openapi/stablefx.yaml post /v1/exchange/stablefx/quotes","title":"Create a quote","href":"/api-reference/stablefx/all/create-quote"}]},{"group":"Trades","pages":[{"openapi":"openapi/stablefx.yaml get /v1/exchange/stablefx/trades","title":"Get all trades","href":"/api-reference/stablefx/all/list-trades"},{"openapi":"openapi/stablefx.yaml post /v1/exchange/stablefx/trades","title":"Create a trade","href":"/api-reference/stablefx/all/create-trade"},{"openapi":"openapi/stablefx.yaml get /v1/exchange/stablefx/trades/{tradeId}","title":"Get a trade","href":"/api-reference/stablefx/all/get-trade-by-id"}]},{"group":"Signatures","pages":[{"openapi":"openapi/stablefx.yaml post /v1/exchange/stablefx/signatures","title":"Register a trade signature","description":"Registers a signed EIP-712 payload from the trader that confirms trade intent.","href":"/api-reference/stablefx/all/register-trade-signature"},{"openapi":"openapi/stablefx.yaml get /v1/exchange/stablefx/signatures/presign/{tradeId}","title":"Generate trade presign data","href":"/api-reference/stablefx/all/generate-trade-signature-data"},{"openapi":"openapi/stablefx.yaml post /v1/exchange/stablefx/signatures/funding/presign","title":"Generate funding presign data","description":"Returns the Permit2 EIP-712 payload that the trader must sign for funding operations. `fundingMode` net and net_delegate options are supported for maker funding requests only.\n\nWhen `fundingMode` is `delegate` or `net_delegate`, the response instead contains two typed-data payloads: one for the trader to sign (a zero-amount authorization) and one for the funder to sign (carrying the actual delivery amount). Both require `funderAddress` and `recipientAddress`. `delegate` supports both maker and taker, and returns single-trade typed data for one contract trade ID or batch typed data for more than one. `net_delegate` is maker-only, requires every given trade to already be `taker_funded`, nets deliverables minus receivables across the given contract trade IDs into a single payment obligation, and always returns batch typed data — even for a single contract trade ID.\n","href":"/api-reference/stablefx/all/generate-funding-presign-data"},{"openapi":"openapi/stablefx.yaml post /v1/exchange/stablefx/signatures/settlementAdvances/presign","title":"Get settlement advance Permit2 typed data for signing","href":"/api-reference/stablefx/all/presign-settlement-advance"}]},{"group":"Fees","pages":[{"openapi":"openapi/stablefx.yaml get /v1/exchange/stablefx/fees/{tradeId}","title":"Get fee for a trade","href":"/api-reference/stablefx/all/get-trade-fee"}]},{"group":"Funding","pages":[{"openapi":"openapi/stablefx.yaml post /v1/exchange/stablefx/fund","title":"Fund trades","href":"/api-reference/stablefx/all/fund-trade"}]},{"group":"Webhooks","pages":[{"openapi":"openapi/stablefx.yaml webhook tradeConfirmed","title":"Trade confirmed","href":"/api-reference/stablefx/all/trade-confirmed"},{"openapi":"openapi/stablefx.yaml webhook tradePendingSettlement","title":"Trade pending settlement","href":"/api-reference/stablefx/all/trade-pending-settlement"},{"openapi":"openapi/stablefx.yaml webhook tradeMakerFunded","title":"Trade maker funded","href":"/api-reference/stablefx/all/trade-maker-funded"},{"openapi":"openapi/stablefx.yaml webhook tradeTakerFunded","title":"Trade taker funded","href":"/api-reference/stablefx/all/trade-taker-funded"},{"openapi":"openapi/stablefx.yaml webhook tradeCompleted","title":"Trade completed","href":"/api-reference/stablefx/all/trade-completed"},{"openapi":"openapi/stablefx.yaml webhook tradeRefunded","title":"Trade refunded","href":"/api-reference/stablefx/all/trade-refunded"},{"openapi":"openapi/stablefx.yaml webhook tradeFailed","title":"Trade failed","href":"/api-reference/stablefx/all/trade-failed"},{"openapi":"openapi/stablefx.yaml webhook tradeBreached","title":"Trade breached","href":"/api-reference/stablefx/all/trade-breached"},{"openapi":"openapi/stablefx.yaml webhook contractRecordTradeFailed","title":"Record trade operation failed","href":"/api-reference/stablefx/all/contract-record-trade-failed"},{"openapi":"openapi/stablefx.yaml webhook contractMakerDeliverFailed","title":"Maker deliver operation failed","href":"/api-reference/stablefx/all/contract-maker-deliver-failed"},{"openapi":"openapi/stablefx.yaml webhook contractTakerDeliverFailed","title":"Taker deliver operation failed","href":"/api-reference/stablefx/all/contract-taker-deliver-failed"},{"openapi":"openapi/stablefx.yaml webhook tradeMakerDelegateFunded","title":"Trade maker delegate funded","href":"/api-reference/stablefx/all/trade-maker-delegate-funded"},{"openapi":"openapi/stablefx.yaml webhook tradeTakerDelegateFunded","title":"Trade taker delegate funded","href":"/api-reference/stablefx/all/trade-taker-delegate-funded"},{"openapi":"openapi/stablefx.yaml webhook contractMakerDelegateDeliverFailed","title":"Contract maker delegate deliver failed","href":"/api-reference/stablefx/all/contract-maker-delegate-deliver-failed"},{"openapi":"openapi/stablefx.yaml webhook contractTakerDelegateDeliverFailed","title":"Contract taker delegate deliver failed","href":"/api-reference/stablefx/all/contract-taker-delegate-deliver-failed"}]},{"group":"Webhook Subscriptions","pages":[{"openapi":"openapi/stablefx.yaml get /v2/stablefx/notifications/subscriptions","title":"Get all webhook subscriptions","href":"/api-reference/stablefx/all/get-subscriptions"},{"openapi":"openapi/stablefx.yaml post /v2/stablefx/notifications/subscriptions","title":"Create a webhook subscription","href":"/api-reference/stablefx/all/create-subscription"},{"openapi":"openapi/stablefx.yaml get /v2/stablefx/notifications/subscriptions/{id}","title":"Get a notification subscription","href":"/api-reference/stablefx/all/get-subscription"},{"openapi":"openapi/stablefx.yaml patch /v2/stablefx/notifications/subscriptions/{id}","title":"Update a notification subscription","href":"/api-reference/stablefx/all/update-subscription"},{"openapi":"openapi/stablefx.yaml delete /v2/stablefx/notifications/subscriptions/{id}","title":"Delete a notification subscription","href":"/api-reference/stablefx/all/delete-subscription"},{"openapi":"openapi/stablefx.yaml get /v2/stablefx/notifications/publicKey/{id}","title":"Get a notification signature public key","href":"/api-reference/stablefx/all/get-notification-signature"}]},{"group":"Settlement Advance","pages":[{"openapi":"openapi/stablefx.yaml get /v1/exchange/stablefx/settlementAdvances/credit","title":"Get settlement advance credit line","href":"/api-reference/stablefx/all/get-settlement-advance-credit"},{"openapi":"openapi/stablefx.yaml post /v1/exchange/stablefx/settlementAdvances/reserve","title":"Reserve settlement advance credit","href":"/api-reference/stablefx/all/reserve-settlement-advance"},{"openapi":"openapi/stablefx.yaml get /v1/exchange/stablefx/settlementAdvances/reservations","title":"List settlement advance reservations","href":"/api-reference/stablefx/all/list-settlement-advance-reservations"},{"openapi":"openapi/stablefx.yaml get /v1/exchange/stablefx/settlementAdvances/reservations/{reservationId}","title":"Get a settlement advance reservation","href":"/api-reference/stablefx/all/get-settlement-advance-reservation"},{"openapi":"openapi/stablefx.yaml post /v1/exchange/stablefx/settlementAdvances/reservations/{reservationId}/cancel","title":"Cancel a settlement advance reservation","href":"/api-reference/stablefx/all/cancel-settlement-advance-reservation"},{"openapi":"openapi/stablefx.yaml get /v1/exchange/stablefx/settlementAdvances","title":"List settlement advances","href":"/api-reference/stablefx/all/list-settlement-advances"},{"openapi":"openapi/stablefx.yaml post /v1/exchange/stablefx/settlementAdvances","title":"Request a settlement advance","href":"/api-reference/stablefx/all/request-settlement-advance"},{"openapi":"openapi/stablefx.yaml get /v1/exchange/stablefx/settlementAdvances/{advanceId}","title":"Get settlement advance detail","href":"/api-reference/stablefx/all/get-settlement-advance-detail"},{"openapi":"openapi/stablefx.yaml post /v1/exchange/stablefx/settlementAdvances/repayments","title":"Repay a settlement advance","href":"/api-reference/stablefx/all/repay-settlement-advance"},{"openapi":"openapi/stablefx.yaml get /v1/exchange/stablefx/settlementAdvances/repayments/{repaymentId}","title":"Get a settlement advance repayment","href":"/api-reference/stablefx/all/get-settlement-advance-repayment"}]}]}]},{"anchor":"xReserve","icon":"vault","pages":[{"title":"xReserve","href":"/api-reference/xreserve"}]},{"anchor":"Match","pages":[{"title":"Match","href":"/api-reference/circle-match/all/get-account"}]}]},{"tab":"Developer tools","menu":[{"item":"Sample projects","pages":[{"title":"Sample projects","href":"/sample-projects"}]},{"item":"SDKs","pages":[{"title":"SDKs","href":"/sdks"}]},{"item":"Release notes","pages":[{"title":"Release notes","href":"/release-notes"}]}],"pages":[{"title":"Developer tools","href":"/sample-projects"}]}]},"basePath":"","title":"Generate trade presign data - Circle Docs","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CybtLBIt.js","utils-BMLj2fvV.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-B6In562Y.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dr8Mfhp9.js","snippetPresets-2rmQvMVl.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-WMqJYdZj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CJ-MlPHu.js","shallow-dY3TMRCk.js","getApiPlaygroundDisplay-v-1B2bKm.js","CodeSnippet-BDhiTB7U.js","CodeSnippets-D9hnzQcS.js","Page-C4GwDT3_.js","getPastedJson-Th2V45jI.js","icon-BQXch1W9.js","MethodPill-BCqUneP3.js","DuplicateIcon-Q_-bhurZ.js","createIcon-DUjLHRqp.js","DynamicMarkdown-B-f2cqXQ.js","SectionHeading-Da5NsV4v.js","axios-vUo_bRtp.js","Markdown-D13FWkIM.js","clsx-D3Isdib3.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-C-XZBk9h.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink--qIqmmVG.js"]}