Maximum allowed size (in bytes) for the encoded attestation.
Required range: x >= 1
enableForwarder
boolean
default:false
Whether to enable the forwarding service for estimating the fees.
Body
application/json
Minimum array length: 1
Option 1
Option 2
A burn intent for estimation purposes without signatures. Optional maxBlockHeight and maxFee for cost estimation.
spec
object
required
Show child attributes
maxBlockHeight
string
The maximum block height at which this burn is valid (optional for estimation).
Example:
"1000000000000000000"
maxFee
string
The maximum fee the user is willing to pay (optional for estimation).
Example:
"1000000000000000000"
recipientSetupOptions
object
Options for automatic Associated Token Account (ATA) creation on Solana. When the destination chain is Solana, the destinationRecipient must be an initialized USDC token account. If the recipient does not already have one, the Forwarding Service can create the ATA as part of the mint transaction. Omit this field if the recipient already has a USDC token account.
Show child attributes
Response
Successfully calculated the estimated fees and expiration block heights
Response containing estimated burn intents with calculated fees and expiration block heights.
body
object[]
required
Array of burn intents or burn intent sets with calculated fees and expiration block heights.
Option 1
Option 2
Show child attributes
fees
object
required
Information on the estimated fees to be charged.
Show child attributes
Was this page helpful?
{"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":"6af74545dff23078fffcf31d","clientVersion":"0.0.4142","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":"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},{"name":"llms-txt-v2","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/gateway/all/estimate-transfer","slug":"/api-reference/gateway/all/estimate-transfer","pageMetadata":{"openapi":"openapi/gateway.yaml post /v1/estimate","title":"Estimate fees and expiration block heights for a transfer","description":"Calculates the required fees and expiration block heights for a transfer without requiring signatures or executing the transaction.","href":"/api-reference/gateway/all/estimate-transfer"},"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: \"Calculates the required fees and expiration block heights for a transfer without requiring signatures or executing the transaction.\"\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/gateway.yaml post /v1/estimate","title":"Estimate fees and expiration block heights for a transfer","description":"Calculates the required fees and expiration block heights for a transfer without requiring signatures or executing the transaction.","href":"/api-reference/gateway/all/estimate-transfer"}}},"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":{"summary":"Estimate fees and expiration block heights for a transfer","description":"Calculates the required fees and expiration block heights for a transfer without requiring signatures or executing the transaction.","operationId":"EstimateTransfer","tags":["Gateway"],"parameters":["7cd99114-e2dd-4d0f-8342-8d8acf5e787e","835e2dbc-9c4f-42f0-b1bd-e6b458a25df5"],"requestBody":"44192e87-d0d7-4e7b-a8a2-bd82f9c7a46e","responses":{"200":"cd7dc93d-d37f-4cb5-b5ef-8dc280ba4548","400":"ccde40bb-ce7b-42e0-9765-64422cc09d23","500":"9b05b32c-cd31-4807-87c9-c7e7d8d158f2"},"method":"post","type":"path","servers":["e8e13604-651d-4ad7-849d-02ac868a8217","9515f994-c7cd-4f4e-8833-77df49c90c04"],"security":[],"path":"/v1/estimate","baseUrlOptions":["https://gateway-api-testnet.circle.com","https://gateway-api.circle.com"],"title":"Estimate fees and expiration block heights for a transfer","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"7cd99114-e2dd-4d0f-8342-8d8acf5e787e":{"in":"query","name":"maxAttestationSize","required":false,"schema":{"type":"integer","minimum":1,"isRequired":false,"description":"Maximum allowed size (in bytes) for the encoded attestation.","uniqueKey":"","typeLabel":"integer"},"description":"Maximum allowed size (in bytes) for the encoded attestation."},"835e2dbc-9c4f-42f0-b1bd-e6b458a25df5":{"in":"query","name":"enableForwarder","required":false,"schema":{"type":"boolean","default":false,"isRequired":false,"description":"Whether to enable the forwarding service for estimating the fees.","uniqueKey":"","typeLabel":"boolean"},"description":"Whether to enable the forwarding service for estimating the fees."}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","description":"Batch of partial burn intents or partial burn intent sets (without signatures). Burn intent sets are only supported for EVM source domains.","minItems":1,"items":{"oneOf":[{"type":"object","description":"A burn intent for estimation purposes without signatures. Optional maxBlockHeight and maxFee for cost estimation.","required":["spec"],"properties":{"spec":{"type":"object","properties":{"version":{"type":"integer","minimum":0,"maximum":4294967295,"description":"Version of the transfer spec (uint32).","example":1,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.spec.version","typeLabel":"integer"},"sourceDomain":{"type":"integer","minimum":0,"maximum":4294967295,"description":"The domain of the wallet contract this transfer came from (uint32).","example":0,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.spec.sourceDomain","typeLabel":"integer"},"destinationDomain":{"type":"integer","minimum":0,"maximum":4294967295,"description":"The domain of the minter contract this transfer is valid for (uint32).","example":4,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.spec.destinationDomain","typeLabel":"integer"},"sourceContract":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","example":"0x1234567890123456789012345678901234567890123456789012345678901234","description":"The address of the wallet contract on the source domain (32-byte padded).","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.spec.sourceContract","typeLabel":"string"},"destinationContract":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","example":"0x1234567890123456789012345678901234567890123456789012345678901234","description":"The address of the minter contract on the destination domain (32-byte padded).","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.spec.destinationContract","typeLabel":"string"},"sourceToken":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","example":"0x1234567890123456789012345678901234567890123456789012345678901234","description":"The token address on the source domain (32-byte padded).","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.spec.sourceToken","typeLabel":"string"},"destinationToken":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","example":"0x1234567890123456789012345678901234567890123456789012345678901234","description":"The token address on the destination domain (32-byte padded).","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.spec.destinationToken","typeLabel":"string"},"sourceDepositor":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","example":"0x1234567890123456789012345678901234567890123456789012345678901234","description":"The address to debit within the wallet contract on the source domain (32-byte padded).","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.spec.sourceDepositor","typeLabel":"string"},"destinationRecipient":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","example":"0x1234567890123456789012345678901234567890123456789012345678901234","description":"The address that should receive the funds on the destination domain (32-byte padded).","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.spec.destinationRecipient","typeLabel":"string"},"sourceSigner":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","example":"0x1234567890123456789012345678901234567890123456789012345678901234","description":"The signer who signed for the transfer (32-byte padded).","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.spec.sourceSigner","typeLabel":"string"},"destinationCaller":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","example":"0x1234567890123456789012345678901234567890123456789012345678901234","description":"The address of the caller who may use the attestation, 0 address if any caller (32-byte padded).","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.spec.destinationCaller","typeLabel":"string"},"value":{"type":"string","description":"The amount to be transferred.","example":"1000000000000000000","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.spec.value","typeLabel":"string"},"salt":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","example":"0x1234567890123456789012345678901234567890123456789012345678901234","description":"An arbitrary value chosen by the user to be unique.","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.spec.salt","typeLabel":"string"},"hookData":{"type":"string","pattern":"^0x[a-fA-F0-9]*$","example":"0x1a2b3c4d","description":"Arbitrary bytes that may be used for onchain composition (optional).","uniqueKey":"items.[INDEX].oneOf.0.spec.hookData","typeLabel":"string"}},"required":["version","sourceDomain","destinationDomain","sourceContract","destinationContract","sourceToken","destinationToken","sourceDepositor","destinationRecipient","sourceSigner","destinationCaller","value","salt"],"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.spec","typeLabel":"object"},"maxBlockHeight":{"type":"string","description":"The maximum block height at which this burn is valid (optional for estimation).","example":"1000000000000000000","uniqueKey":"items.[INDEX].oneOf.0.maxBlockHeight","typeLabel":"string"},"maxFee":{"type":"string","description":"The maximum fee the user is willing to pay (optional for estimation).","example":"1000000000000000000","uniqueKey":"items.[INDEX].oneOf.0.maxFee","typeLabel":"string"},"recipientSetupOptions":{"type":"object","description":"Options for automatic Associated Token Account (ATA) creation on Solana. When the destination chain is Solana, the destinationRecipient must be an initialized USDC token account. If the recipient does not already have one, the Forwarding Service can create the ATA as part of the mint transaction. Omit this field if the recipient already has a USDC token account.","properties":{"includeRecipientSetup":{"type":"boolean","description":"Set to true to request automatic ATA creation. The Solana rent cost for token account creation will be included in the forwarding fee.","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.recipientSetupOptions.includeRecipientSetup","typeLabel":"boolean"},"recipientOwnerAddress":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","example":"0x1234567890123456789012345678901234567890123456789012345678901234","description":"The recipient's Solana wallet address in bytes32 hex format (32 bytes, hex-encoded).","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.0.recipientSetupOptions.recipientOwnerAddress","typeLabel":"string"}},"required":["includeRecipientSetup","recipientOwnerAddress"],"uniqueKey":"items.[INDEX].oneOf.0.recipientSetupOptions","typeLabel":"object"}},"uniqueKey":"items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"A set of partial burn intents for estimation purposes.","required":["intents"],"properties":{"intents":{"type":"array","minItems":1,"description":"Array of partial burn intents to estimate fees and expiration block heights for.","items":{"type":"object","description":"A burn intent for estimation purposes without signatures. Optional maxBlockHeight and maxFee for cost estimation.","properties":{"spec":{"type":"object","properties":{"version":{"type":"integer","minimum":0,"maximum":4294967295,"description":"Version of the transfer spec (uint32).","example":1,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.intents.items.[INDEX].spec.version","typeLabel":"integer"},"sourceDomain":{"type":"integer","minimum":0,"maximum":4294967295,"description":"The domain of the wallet contract this transfer came from (uint32).","example":0,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.intents.items.[INDEX].spec.sourceDomain","typeLabel":"integer"},"destinationDomain":{"type":"integer","minimum":0,"maximum":4294967295,"description":"The domain of the minter contract this transfer is valid for (uint32).","example":4,"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.intents.items.[INDEX].spec.destinationDomain","typeLabel":"integer"},"sourceContract":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","example":"0x1234567890123456789012345678901234567890123456789012345678901234","description":"The address of the wallet contract on the source domain (32-byte padded).","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.intents.items.[INDEX].spec.sourceContract","typeLabel":"string"},"destinationContract":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","example":"0x1234567890123456789012345678901234567890123456789012345678901234","description":"The address of the minter contract on the destination domain (32-byte padded).","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.intents.items.[INDEX].spec.destinationContract","typeLabel":"string"},"sourceToken":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","example":"0x1234567890123456789012345678901234567890123456789012345678901234","description":"The token address on the source domain (32-byte padded).","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.intents.items.[INDEX].spec.sourceToken","typeLabel":"string"},"destinationToken":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","example":"0x1234567890123456789012345678901234567890123456789012345678901234","description":"The token address on the destination domain (32-byte padded).","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.intents.items.[INDEX].spec.destinationToken","typeLabel":"string"},"sourceDepositor":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","example":"0x1234567890123456789012345678901234567890123456789012345678901234","description":"The address to debit within the wallet contract on the source domain (32-byte padded).","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.intents.items.[INDEX].spec.sourceDepositor","typeLabel":"string"},"destinationRecipient":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","example":"0x1234567890123456789012345678901234567890123456789012345678901234","description":"The address that should receive the funds on the destination domain (32-byte padded).","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.intents.items.[INDEX].spec.destinationRecipient","typeLabel":"string"},"sourceSigner":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","example":"0x1234567890123456789012345678901234567890123456789012345678901234","description":"The signer who signed for the transfer (32-byte padded).","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.intents.items.[INDEX].spec.sourceSigner","typeLabel":"string"},"destinationCaller":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","example":"0x1234567890123456789012345678901234567890123456789012345678901234","description":"The address of the caller who may use the attestation, 0 address if any caller (32-byte padded).","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.intents.items.[INDEX].spec.destinationCaller","typeLabel":"string"},"value":{"type":"string","description":"The amount to be transferred.","example":"1000000000000000000","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.intents.items.[INDEX].spec.value","typeLabel":"string"},"salt":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","example":"0x1234567890123456789012345678901234567890123456789012345678901234","description":"An arbitrary value chosen by the user to be unique.","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.intents.items.[INDEX].spec.salt","typeLabel":"string"},"hookData":{"type":"string","pattern":"^0x[a-fA-F0-9]*$","example":"0x1a2b3c4d","description":"Arbitrary bytes that may be used for onchain composition (optional).","uniqueKey":"items.[INDEX].oneOf.1.intents.items.[INDEX].spec.hookData","typeLabel":"string"}},"required":["version","sourceDomain","destinationDomain","sourceContract","destinationContract","sourceToken","destinationToken","sourceDepositor","destinationRecipient","sourceSigner","destinationCaller","value","salt"],"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.intents.items.[INDEX].spec","typeLabel":"object"},"maxBlockHeight":{"type":"string","description":"The maximum block height at which this burn is valid (optional for estimation).","example":"1000000000000000000","uniqueKey":"items.[INDEX].oneOf.1.intents.items.[INDEX].maxBlockHeight","typeLabel":"string"},"maxFee":{"type":"string","description":"The maximum fee the user is willing to pay (optional for estimation).","example":"1000000000000000000","uniqueKey":"items.[INDEX].oneOf.1.intents.items.[INDEX].maxFee","typeLabel":"string"},"recipientSetupOptions":{"type":"object","description":"Options for automatic Associated Token Account (ATA) creation on Solana. When the destination chain is Solana, the destinationRecipient must be an initialized USDC token account. If the recipient does not already have one, the Forwarding Service can create the ATA as part of the mint transaction. Omit this field if the recipient already has a USDC token account.","properties":{"includeRecipientSetup":{"type":"boolean","description":"Set to true to request automatic ATA creation. The Solana rent cost for token account creation will be included in the forwarding fee.","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.intents.items.[INDEX].recipientSetupOptions.includeRecipientSetup","typeLabel":"boolean"},"recipientOwnerAddress":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","example":"0x1234567890123456789012345678901234567890123456789012345678901234","description":"The recipient's Solana wallet address in bytes32 hex format (32 bytes, hex-encoded).","isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.intents.items.[INDEX].recipientSetupOptions.recipientOwnerAddress","typeLabel":"string"}},"required":["includeRecipientSetup","recipientOwnerAddress"],"uniqueKey":"items.[INDEX].oneOf.1.intents.items.[INDEX].recipientSetupOptions","typeLabel":"object"}},"required":["spec"],"uniqueKey":"items.[INDEX].oneOf.1.intents.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"items.[INDEX].oneOf.1.intents","typeLabel":"object[]"}},"uniqueKey":"items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"items.[INDEX]","typeLabel":"object"},"uniqueKey":"","typeLabel":"object[]"},"examples":{"Example":{"title":"Example","value":[{"spec":{"version":1,"sourceDomain":0,"destinationDomain":4,"sourceContract":"0x1234567890123456789012345678901234567890123456789012345678901234","destinationContract":"0x1234567890123456789012345678901234567890123456789012345678901234","sourceToken":"0x1234567890123456789012345678901234567890123456789012345678901234","destinationToken":"0x1234567890123456789012345678901234567890123456789012345678901234","sourceDepositor":"0x1234567890123456789012345678901234567890123456789012345678901234","destinationRecipient":"0x1234567890123456789012345678901234567890123456789012345678901234","sourceSigner":"0x1234567890123456789012345678901234567890123456789012345678901234","destinationCaller":"0x1234567890123456789012345678901234567890123456789012345678901234","value":"1000000000000000000","salt":"0x1234567890123456789012345678901234567890123456789012345678901234","hookData":"0x1a2b3c4d"},"maxBlockHeight":"1000000000000000000","maxFee":"1000000000000000000"}]}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"cd7dc93d-d37f-4cb5-b5ef-8dc280ba4548":{"description":"Successfully calculated the estimated fees and expiration block heights","content":{"application/json":{"schema":{"type":"object","description":"Response containing estimated burn intents with calculated fees and expiration block heights.","properties":{"body":{"type":"array","description":"Array of burn intents or burn intent sets with calculated fees and expiration block heights.","items":{"oneOf":[{"type":"object","required":["burnIntent"],"properties":{"burnIntent":{"type":"object","description":"A burn intent returned from the estimate endpoint with addresses in canonical format.","properties":{"maxBlockHeight":{"type":"string","description":"The maximum block height at which this burn is valid.","example":"1000000000000000000","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.maxBlockHeight","typeLabel":"string"},"maxFee":{"type":"string","description":"The maximum fee the user is willing to pay.","example":"1000000000000000000","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.maxFee","typeLabel":"string"},"spec":{"type":"object","description":"Transfer specification with addresses in their canonical format (not padded to 32 bytes).\nNote: This schema parallels TransferSpec but documents addresses as returned (canonical format)\nrather than as submitted (Bytes32 padded format). Keep in sync with TransferSpec for non-address fields.","properties":{"version":{"type":"integer","minimum":0,"maximum":4294967295,"description":"Version of the transfer spec (uint32).","example":1,"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.version","typeLabel":"integer"},"sourceDomain":{"type":"integer","minimum":0,"maximum":4294967295,"description":"The domain of the wallet contract this transfer came from (uint32).","example":0,"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.sourceDomain","typeLabel":"integer"},"destinationDomain":{"type":"integer","minimum":0,"maximum":4294967295,"description":"The domain of the minter contract this transfer is valid for (uint32).","example":4,"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.destinationDomain","typeLabel":"integer"},"sourceContract":{"oneOf":[{"type":"string","description":"The address of the wallet contract on the source domain.","pattern":"^0x[a-f0-9]{40}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.sourceContract.oneOf.0","typeLabel":"string"},{"type":"string","description":"The address of the wallet contract on the source domain.","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.sourceContract.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.sourceContract","typeLabel":"string"},"destinationContract":{"oneOf":[{"type":"string","description":"The address of the minter contract on the destination domain.","pattern":"^0x[a-f0-9]{40}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.destinationContract.oneOf.0","typeLabel":"string"},{"type":"string","description":"The address of the minter contract on the destination domain.","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.destinationContract.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.destinationContract","typeLabel":"string"},"sourceToken":{"oneOf":[{"type":"string","description":"The token address on the source domain.","pattern":"^0x[a-f0-9]{40}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.sourceToken.oneOf.0","typeLabel":"string"},{"type":"string","description":"The token address on the source domain.","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.sourceToken.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.sourceToken","typeLabel":"string"},"destinationToken":{"oneOf":[{"type":"string","description":"The token address on the destination domain.","pattern":"^0x[a-f0-9]{40}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.destinationToken.oneOf.0","typeLabel":"string"},{"type":"string","description":"The token address on the destination domain.","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.destinationToken.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.destinationToken","typeLabel":"string"},"sourceDepositor":{"oneOf":[{"type":"string","description":"The address to debit within the wallet contract on the source domain.","pattern":"^0x[a-f0-9]{40}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.sourceDepositor.oneOf.0","typeLabel":"string"},{"type":"string","description":"The address to debit within the wallet contract on the source domain.","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.sourceDepositor.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.sourceDepositor","typeLabel":"string"},"destinationRecipient":{"oneOf":[{"type":"string","description":"The address that should receive the funds on the destination domain.","pattern":"^0x[a-f0-9]{40}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.destinationRecipient.oneOf.0","typeLabel":"string"},{"type":"string","description":"The address that should receive the funds on the destination domain.","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.destinationRecipient.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.destinationRecipient","typeLabel":"string"},"sourceSigner":{"oneOf":[{"type":"string","description":"The signer who signed for the transfer.","pattern":"^0x[a-f0-9]{40}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.sourceSigner.oneOf.0","typeLabel":"string"},{"type":"string","description":"The signer who signed for the transfer.","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.sourceSigner.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.sourceSigner","typeLabel":"string"},"destinationCaller":{"oneOf":[{"type":"string","description":"The address of the caller who may use the attestation, 0 address if any caller.","pattern":"^0x[a-f0-9]{40}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.destinationCaller.oneOf.0","typeLabel":"string"},{"type":"string","description":"The address of the caller who may use the attestation, 0 address if any caller.","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.destinationCaller.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.destinationCaller","typeLabel":"string"},"value":{"type":"string","description":"The amount to be transferred.","example":"1000000000000000000","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.value","typeLabel":"string"},"salt":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","example":"0x1234567890123456789012345678901234567890123456789012345678901234","description":"An arbitrary value chosen by the user to be unique.","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.salt","typeLabel":"string"},"hookData":{"type":"string","pattern":"^0x[a-fA-F0-9]*$","example":"0x1a2b3c4d","description":"Arbitrary bytes that may be used for onchain composition (optional).","uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec.hookData","typeLabel":"string"}},"required":["version","sourceDomain","destinationDomain","sourceContract","destinationContract","sourceToken","destinationToken","sourceDepositor","destinationRecipient","sourceSigner","destinationCaller","value","salt"],"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.spec","typeLabel":"object"},"recipientSetupOptions":{"type":"object","description":"Options for automatic Associated Token Account (ATA) creation on Solana, as returned from the estimate endpoint. The recipientOwnerAddress is in canonical format (not Bytes32 padded).","properties":{"includeRecipientSetup":{"type":"boolean","description":"Set to true to request automatic ATA creation. The Solana rent cost for token account creation will be included in the forwarding fee.","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.recipientSetupOptions.includeRecipientSetup","typeLabel":"boolean"},"recipientOwnerAddress":{"oneOf":[{"type":"string","description":"The recipient's Solana wallet address in canonical format (base58-encoded public key).","pattern":"^0x[a-f0-9]{40}$","example":"9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.recipientSetupOptions.recipientOwnerAddress.oneOf.0","typeLabel":"string"},{"type":"string","description":"The recipient's Solana wallet address in canonical format (base58-encoded public key).","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","example":"9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.recipientSetupOptions.recipientOwnerAddress.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.recipientSetupOptions.recipientOwnerAddress","typeLabel":"string"}},"required":["includeRecipientSetup","recipientOwnerAddress"],"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent.recipientSetupOptions","typeLabel":"object"}},"required":["maxBlockHeight","maxFee","spec"],"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.0.burnIntent","typeLabel":"object"}},"uniqueKey":"body.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["burnIntentSet"],"properties":{"burnIntentSet":{"type":"object","description":"A set of burn intents returned from the estimate endpoint with addresses in canonical format.","properties":{"intents":{"type":"array","minItems":1,"description":"Array of burn intents with calculated fees and expiration block heights.","items":{"type":"object","description":"A burn intent returned from the estimate endpoint with addresses in canonical format.","properties":{"maxBlockHeight":{"type":"string","description":"The maximum block height at which this burn is valid.","example":"1000000000000000000","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].maxBlockHeight","typeLabel":"string"},"maxFee":{"type":"string","description":"The maximum fee the user is willing to pay.","example":"1000000000000000000","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].maxFee","typeLabel":"string"},"spec":{"type":"object","description":"Transfer specification with addresses in their canonical format (not padded to 32 bytes).\nNote: This schema parallels TransferSpec but documents addresses as returned (canonical format)\nrather than as submitted (Bytes32 padded format). Keep in sync with TransferSpec for non-address fields.","properties":{"version":{"type":"integer","minimum":0,"maximum":4294967295,"description":"Version of the transfer spec (uint32).","example":1,"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.version","typeLabel":"integer"},"sourceDomain":{"type":"integer","minimum":0,"maximum":4294967295,"description":"The domain of the wallet contract this transfer came from (uint32).","example":0,"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.sourceDomain","typeLabel":"integer"},"destinationDomain":{"type":"integer","minimum":0,"maximum":4294967295,"description":"The domain of the minter contract this transfer is valid for (uint32).","example":4,"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.destinationDomain","typeLabel":"integer"},"sourceContract":{"oneOf":[{"type":"string","description":"The address of the wallet contract on the source domain.","pattern":"^0x[a-f0-9]{40}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.sourceContract.oneOf.0","typeLabel":"string"},{"type":"string","description":"The address of the wallet contract on the source domain.","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.sourceContract.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.sourceContract","typeLabel":"string"},"destinationContract":{"oneOf":[{"type":"string","description":"The address of the minter contract on the destination domain.","pattern":"^0x[a-f0-9]{40}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.destinationContract.oneOf.0","typeLabel":"string"},{"type":"string","description":"The address of the minter contract on the destination domain.","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.destinationContract.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.destinationContract","typeLabel":"string"},"sourceToken":{"oneOf":[{"type":"string","description":"The token address on the source domain.","pattern":"^0x[a-f0-9]{40}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.sourceToken.oneOf.0","typeLabel":"string"},{"type":"string","description":"The token address on the source domain.","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.sourceToken.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.sourceToken","typeLabel":"string"},"destinationToken":{"oneOf":[{"type":"string","description":"The token address on the destination domain.","pattern":"^0x[a-f0-9]{40}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.destinationToken.oneOf.0","typeLabel":"string"},{"type":"string","description":"The token address on the destination domain.","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.destinationToken.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.destinationToken","typeLabel":"string"},"sourceDepositor":{"oneOf":[{"type":"string","description":"The address to debit within the wallet contract on the source domain.","pattern":"^0x[a-f0-9]{40}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.sourceDepositor.oneOf.0","typeLabel":"string"},{"type":"string","description":"The address to debit within the wallet contract on the source domain.","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.sourceDepositor.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.sourceDepositor","typeLabel":"string"},"destinationRecipient":{"oneOf":[{"type":"string","description":"The address that should receive the funds on the destination domain.","pattern":"^0x[a-f0-9]{40}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.destinationRecipient.oneOf.0","typeLabel":"string"},{"type":"string","description":"The address that should receive the funds on the destination domain.","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.destinationRecipient.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.destinationRecipient","typeLabel":"string"},"sourceSigner":{"oneOf":[{"type":"string","description":"The signer who signed for the transfer.","pattern":"^0x[a-f0-9]{40}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.sourceSigner.oneOf.0","typeLabel":"string"},{"type":"string","description":"The signer who signed for the transfer.","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.sourceSigner.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.sourceSigner","typeLabel":"string"},"destinationCaller":{"oneOf":[{"type":"string","description":"The address of the caller who may use the attestation, 0 address if any caller.","pattern":"^0x[a-f0-9]{40}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.destinationCaller.oneOf.0","typeLabel":"string"},{"type":"string","description":"The address of the caller who may use the attestation, 0 address if any caller.","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","example":"0x1234567890123456789012345678901234567890","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.destinationCaller.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.destinationCaller","typeLabel":"string"},"value":{"type":"string","description":"The amount to be transferred.","example":"1000000000000000000","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.value","typeLabel":"string"},"salt":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","example":"0x1234567890123456789012345678901234567890123456789012345678901234","description":"An arbitrary value chosen by the user to be unique.","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.salt","typeLabel":"string"},"hookData":{"type":"string","pattern":"^0x[a-fA-F0-9]*$","example":"0x1a2b3c4d","description":"Arbitrary bytes that may be used for onchain composition (optional).","uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec.hookData","typeLabel":"string"}},"required":["version","sourceDomain","destinationDomain","sourceContract","destinationContract","sourceToken","destinationToken","sourceDepositor","destinationRecipient","sourceSigner","destinationCaller","value","salt"],"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].spec","typeLabel":"object"},"recipientSetupOptions":{"type":"object","description":"Options for automatic Associated Token Account (ATA) creation on Solana, as returned from the estimate endpoint. The recipientOwnerAddress is in canonical format (not Bytes32 padded).","properties":{"includeRecipientSetup":{"type":"boolean","description":"Set to true to request automatic ATA creation. The Solana rent cost for token account creation will be included in the forwarding fee.","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].recipientSetupOptions.includeRecipientSetup","typeLabel":"boolean"},"recipientOwnerAddress":{"oneOf":[{"type":"string","description":"The recipient's Solana wallet address in canonical format (base58-encoded public key).","pattern":"^0x[a-f0-9]{40}$","example":"9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].recipientSetupOptions.recipientOwnerAddress.oneOf.0","typeLabel":"string"},{"type":"string","description":"The recipient's Solana wallet address in canonical format (base58-encoded public key).","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","example":"9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM","isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].recipientSetupOptions.recipientOwnerAddress.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].recipientSetupOptions.recipientOwnerAddress","typeLabel":"string"}},"required":["includeRecipientSetup","recipientOwnerAddress"],"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX].recipientSetupOptions","typeLabel":"object"}},"required":["maxBlockHeight","maxFee","spec"],"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet.intents","typeLabel":"object[]"}},"required":["intents"],"isRequired":true,"uniqueKey":"body.items.[INDEX].oneOf.1.burnIntentSet","typeLabel":"object"}},"uniqueKey":"body.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"body.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"body","typeLabel":"object[]"},"fees":{"type":"object","description":"Information on the estimated fees to be charged.","properties":{"total":{"type":"string","description":"Total fees from all burn intents across chains.","example":"1.178","isRequired":true,"uniqueKey":"fees.total","typeLabel":"string"},"token":{"type":"string","description":"Token symbol.","enum":["USDC","EURC","cirBTC"],"example":"USDC","isRequired":true,"uniqueKey":"fees.token","typeLabel":"enum\u003cstring>"},"perIntent":{"type":"array","items":{"type":"object","description":"Fee breakdown for a single burn intent.","properties":{"transferSpecHash":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","example":"0x1234567890123456789012345678901234567890123456789012345678901234","description":"Keccak256 hash of the encoded transfer specification.","isRequired":true,"uniqueKey":"fees.perIntent.items.[INDEX].transferSpecHash","typeLabel":"string"},"domain":{"type":"integer","enum":[0,1,2,3,5,6,7,10,13,14,16,19,26],"description":"The domain ID of the chain where the burn intent originated (uint32).","isRequired":true,"uniqueKey":"fees.perIntent.items.[INDEX].domain","typeLabel":"enum\u003cinteger>"},"baseFee":{"type":"string","description":"Fixed gas fee charged for the burn transaction.","example":"2","isRequired":true,"uniqueKey":"fees.perIntent.items.[INDEX].baseFee","typeLabel":"string"},"transferFee":{"type":"string","description":"Variable fee based on transfer amount. Omitted for same-chain burns.","example":"0.125","uniqueKey":"fees.perIntent.items.[INDEX].transferFee","typeLabel":"string"}},"required":["transferSpecHash","domain","baseFee"],"uniqueKey":"fees.perIntent.items.[INDEX]","typeLabel":"object"},"description":"List of fee breakdowns for each burn intent.","isRequired":true,"uniqueKey":"fees.perIntent","typeLabel":"object[]"},"forwardingFee":{"type":"string","description":"Forwarding fee charged for the transfer.","example":"0.210000","uniqueKey":"fees.forwardingFee","typeLabel":"string"}},"required":["total","token","perIntent"],"isRequired":true,"uniqueKey":"fees","typeLabel":"object"}},"required":["body","fees"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"body":[{"burnIntent":{"maxBlockHeight":"1000000000000000000","maxFee":"1000000000000000000","spec":{"version":1,"sourceDomain":0,"destinationDomain":4,"sourceContract":"0x1234567890123456789012345678901234567890","destinationContract":"0x1234567890123456789012345678901234567890","sourceToken":"0x1234567890123456789012345678901234567890","destinationToken":"0x1234567890123456789012345678901234567890","sourceDepositor":"0x1234567890123456789012345678901234567890","destinationRecipient":"0x1234567890123456789012345678901234567890","sourceSigner":"0x1234567890123456789012345678901234567890","destinationCaller":"0x1234567890123456789012345678901234567890","value":"1000000000000000000","salt":"0x1234567890123456789012345678901234567890123456789012345678901234","hookData":"0x1a2b3c4d"},"recipientSetupOptions":{"includeRecipientSetup":true,"recipientOwnerAddress":"9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM"}}}],"fees":{"total":"1.178","token":"USDC","perIntent":[{"transferSpecHash":"0x1234567890123456789012345678901234567890123456789012345678901234","domain":0,"baseFee":"2","transferFee":"0.125"}],"forwardingFee":"0.210000"}}}},"exampleType":"generated"}},"exampleType":"generated"},"ccde40bb-ce7b-42e0-9765-64422cc09d23":{"description":"Invalid request parameters or invalid partial burn intents or burn intent sets.","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"9b05b32c-cd31-4807-87c9-c7e7d8d158f2":{"description":"Internal server error","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{},"servers":{"e8e13604-651d-4ad7-849d-02ac868a8217":{"url":"https://gateway-api-testnet.circle.com"},"9515f994-c7cd-4f4e-8833-77df49c90c04":{"url":"https://gateway-api.circle.com"}}},"originalFileLocation":"openapi/gateway.yaml"},"subdomain":"circle-167b8d39","siteName":"Circle Docs","title":"Estimate fees and expiration block heights for a transfer - Circle Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-03-23T21:10:49.093Z","originalFileLocation":"api-reference/gateway/all/estimate-transfer.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=\"Calculates the required fees and expiration block heights for a transfer without requiring signatures or executing the transaction.\">\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=\"Estimate fees and expiration block heights for a transfer - Circle Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Calculates the required fees and expiration block heights for a transfer without requiring signatures or executing the transaction.\">\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/gateway/all/estimate-transfer\">\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=Gateway\u0026amp;title=Estimate+fees+and+expiration+block+heights+for+a+transfer\u0026amp;description=Calculates+the+required+fees+and+expiration+block+heights+for+a+transfer+without+requiring+signatures+or+executing+the+transaction.\u0026amp;theme=b86ce57c82f364033d1c00f9\u0026amp;signature=f60c2b7f9c6c798b2180e15e7868251ba5bfb1ee341224283b6866196251794a\">\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=\"Estimate fees and expiration block heights for a transfer - Circle Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Calculates the required fees and expiration block heights for a transfer without requiring signatures or executing the transaction.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://circle-167b8d39.mintlify.site/_mintlify/api/og/v2?division=Gateway\u0026amp;title=Estimate+fees+and+expiration+block+heights+for+a+transfer\u0026amp;description=Calculates+the+required+fees+and+expiration+block+heights+for+a+transfer+without+requiring+signatures+or+executing+the+transaction.\u0026amp;theme=b86ce57c82f364033d1c00f9\u0026amp;signature=f60c2b7f9c6c798b2180e15e7868251ba5bfb1ee341224283b6866196251794a\">\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/gateway/all/estimate-transfer\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/gateway/all/estimate-transfer.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/gateway/all/estimate-transfer#webpage\",\"url\":\"https://developers.circle.com/api-reference/gateway/all/estimate-transfer\",\"name\":\"Estimate fees and expiration block heights for a transfer\",\"description\":\"Calculates the required fees and expiration block heights for a transfer without requiring signatures or executing the transaction.\",\"dateModified\":\"2026-03-23T21:10:49.093Z\",\"isPartOf\":{\"@id\":\"https://developers.circle.com#website\"},\"breadcrumb\":{\"@id\":\"https://developers.circle.com/api-reference/gateway/all/estimate-transfer#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.circle.com/api-reference/gateway/all/estimate-transfer#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Gateway\",\"item\":\"https://developers.circle.com/api-reference/gateway/all/get-token-balances\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Gateway\",\"item\":\"https://developers.circle.com/api-reference/gateway/all/get-token-balances\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Estimate fees and expiration block heights for a transfer\",\"item\":\"https://developers.circle.com/api-reference/gateway/all/estimate-transfer\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developers.circle.com/api-reference/gateway/all/estimate-transfer#apireference\",\"headline\":\"Estimate fees and expiration block heights for a transfer\",\"name\":\"Estimate fees and expiration block heights for a transfer\",\"description\":\"Calculates the required fees and expiration block heights for a transfer without requiring signatures or executing the transaction.\",\"url\":\"https://developers.circle.com/api-reference/gateway/all/estimate-transfer\",\"mainEntityOfPage\":{\"@id\":\"https://developers.circle.com/api-reference/gateway/all/estimate-transfer#webpage\"},\"dateModified\":\"2026-03-23T21:10:49.093Z\",\"publisher\":{\"@id\":\"https://developers.circle.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developers.circle.com#website\"}}]}\u003c/script>","agentPointerHref":"/api-reference/gateway/all/estimate-transfer.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 API","sidebarTitle":"Overview","href":"/api-reference/gateway"},{"group":"Gateway","pages":[{"group":"Gateway","pages":[{"openapi":"openapi/gateway.yaml post /v1/balances","title":"Get token balances for specified addresses","description":"Returns the current available balance of each specified address across different domains where that address is valid","href":"/api-reference/gateway/all/get-token-balances"},{"openapi":"openapi/gateway.yaml post /v1/estimate","title":"Estimate fees and expiration block heights for a transfer","href":"/api-reference/gateway/all/estimate-transfer"},{"openapi":"openapi/gateway.yaml get /v1/info","title":"Get Gateway info for supported domains and tokens","description":"Provides information about the API and details of the supported domains and tokens.","href":"/api-reference/gateway/all/get-gateway-info"},{"openapi":"openapi/gateway.yaml post /v1/transfer","title":"Create a transfer attestation for transferring tokens","href":"/api-reference/gateway/all/create-transfer-attestation"},{"openapi":"openapi/gateway.yaml get /v1/transfer/{id}","title":"Get a transfer by ID","href":"/api-reference/gateway/all/get-transfer-by-id"},{"openapi":"openapi/gateway.yaml get /v1/transferSpec/{transferSpecHash}","title":"Get full TransferSpec by transferSpecHash","href":"/api-reference/gateway/all/get-transfer-spec"},{"openapi":"openapi/gateway.yaml post /v1/deposits","title":"Get pending deposits for specified addresses","href":"/api-reference/gateway/all/get-deposits"}]},{"group":"Gateway Batch","pages":[{"openapi":"openapi/gateway.yaml post /v1/batch/submit","title":"Submit an EIP-3009 authorization to be batched","href":"/api-reference/gateway/all/submit-batch-authorization"}]},{"group":"Webhook Subscriptions","pages":[{"openapi":"openapi/gateway.yaml get /v2/notifications/subscriptions/permissionless","title":"Get all webhook subscriptions","href":"/api-reference/gateway/all/get-permissionless-subscriptions"},{"openapi":"openapi/gateway.yaml post /v2/notifications/subscriptions/permissionless","title":"Create a webhook subscription","href":"/api-reference/gateway/all/create-permissionless-subscription"},{"openapi":"openapi/gateway.yaml get /v2/notifications/subscriptions/permissionless/{id}","title":"Retrieve a webhook subscription","href":"/api-reference/gateway/all/get-permissionless-subscription"},{"openapi":"openapi/gateway.yaml patch /v2/notifications/subscriptions/permissionless/{id}","title":"Update a webhook subscription","href":"/api-reference/gateway/all/update-permissionless-subscription"},{"openapi":"openapi/gateway.yaml delete /v2/notifications/subscriptions/permissionless/{id}","title":"Delete a webhook subscription","href":"/api-reference/gateway/all/delete-permissionless-subscription"},{"openapi":"openapi/gateway.yaml post /v2/notifications/subscriptions/permissionless/{id}/testConnection","title":"Test subscription connection","href":"/api-reference/gateway/all/test-permissionless-subscription-connection"},{"openapi":"openapi/gateway.yaml post /v2/notifications/subscriptions/permissionless/{id}/test","title":"Send a test notification","href":"/api-reference/gateway/all/send-permissionless-subscription-test-notification"},{"openapi":"openapi/gateway.yaml get /v2/notifications/publicKey/{id}","title":"Get a notification signature public key","href":"/api-reference/gateway/all/get-permissionless-notification-signature"}]},{"group":"Webhooks","pages":[{"openapi":"openapi/gateway.yaml webhook depositFinalized","title":"Deposit finalized","href":"/api-reference/gateway/all/deposit-finalized"},{"openapi":"openapi/gateway.yaml webhook mintFinalized","title":"Mint finalized","href":"/api-reference/gateway/all/mint-finalized"},{"openapi":"openapi/gateway.yaml webhook mintForwarded","title":"Mint forwarded","href":"/api-reference/gateway/all/mint-forwarded"}]}]}]},{"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","href":"/api-reference/stablefx"}]},{"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":"Estimate fees and expiration block heights for a transfer - Circle Docs","buildId":"dpl_G2Qd45vZZ7MkBiGF9yYx8ZsbbKXX","deploymentId":"dpl_G2Qd45vZZ7MkBiGF9yYx8ZsbbKXX","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-NXj-Rqjv.js","utils-m0thOP-_.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-D13EKcfm.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema--XTdfsEb.js","snippetPresets-D3s4lmAH.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-ChURybxL.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-DL8CiXq2.js","shallow-DI2-YB2E.js","getApiPlaygroundDisplay-DxbW7b_y.js","CodeSnippet-CiNYS0pP.js","CodeSnippets-BT87bThu.js","Page-DSpdRuhM.js","getPastedJson-F_g_IrFQ.js","icon-CCIG5BAs.js","MethodPill-DY3E0jwx.js","DuplicateIcon-BN88xnEg.js","createIcon-VCCc5HO5.js","DynamicMarkdown-CaSwclgK.js","SectionHeading-DXV8nWhc.js","axios-vUo_bRtp.js","Markdown-CV32Re6G.js","clsx-5ydLOnhV.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-pFDdfjRe.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BUGO5bPJ.js"]}