Turns a fast fill quote into what the user signs. steps ends with one vm: "sign" step whose payload holds an EIP-712 message: sign domain, types, primaryType and message with eth_signTypedData_v4 from the wallet in owner. For a token that is not USDC, steps can start with one approve to Permit2, which the wallet sends once; later fast fills of that token need only the signature. A quote from POST /bridge/quote is refused with not_fast_fill. Building the same decisionId again returns the same transfer.
Optional partner key for server integrators. With it, each wallet is rate limited under the partner rather than on the IP of the calling server (a call naming no wallet, per the userIp in the body), bounded by a partner-wide ceiling. Unknown or disabled keys are refused with 401. See rate limits.
Optional, false when omitted. Send true only when the wallet will submit every returned step together as ONE atomic EIP-5792 bundle (wallet_sendCalls with atomicRequired). Then a route that can carry the fee that way returns a fee step beside the bridge step, listed in feeBatch. Otherwise the build returns no fee step, and the fee rides the venue's own transaction or is not charged. A transfer from Tron never carries a fee step.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"BRDG","description":"BRDG prices a cross-chain transfer across every bridge that serves it, ranks the results by what lands, and returns the transaction you sign.","colors":{"primary":"#7fb800","light":"#c8f542","dark":"#7fb800"},"logo":{"light":"https://mintcdn.com/bridg/D4IxQxj4CF9RGuCC/logo/light.svg?fit=max\u0026auto=format\u0026n=D4IxQxj4CF9RGuCC\u0026q=85\u0026s=eee3cdbc329ac425b008a25952d620d9","dark":"https://mintcdn.com/bridg/D4IxQxj4CF9RGuCC/logo/dark.svg?fit=max\u0026auto=format\u0026n=D4IxQxj4CF9RGuCC\u0026q=85\u0026s=c312ba63e9e2f54e831074a1c1fc48bd","href":"https://brdg.now"},"favicon":"https://mintcdn.com/bridg/D4IxQxj4CF9RGuCC/favicon.svg?fit=max\u0026auto=format\u0026n=D4IxQxj4CF9RGuCC\u0026q=85\u0026s=ef7264e31b9d6284b6e08166ab2c677f","api":{"playground":{"display":"interactive"},"examples":{"defaults":"required","languages":["curl","javascript","python"]}},"appearance":{"default":"dark"},"background":{"color":{"light":"#fafafa","dark":"#0a0a0b"}},"navbar":{"links":[{"href":"https://brdg.now","label":"Open BRDG"}],"primary":{"type":"button","label":"Get a quote","href":"/api-reference/quote/quote"}},"footer":{"socials":{"website":"https://brdg.now"}},"fonts":{"heading":{"family":"Space Grotesk"},"body":{"family":"Inter"}},"styling":{"latex":false},"contextual":{"options":["copy","view","assistant","chatgpt","claude","perplexity","grok","aistudio","devin","windsurf","mcp","add-mcp","cursor","vscode","devin-mcp","download-spec"],"display":"header"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"bridg","hasAudioNarration":false,"actualSubdomain":"bridg","customDomains":["docs.brdg.now"],"gitSource":{"type":"github","owner":"kernlog","repo":"brdg-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6aea23e13f5028ce95ef837e","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"Documentation","count":22},{"language":"default","tag":"API Reference","count":14},{"language":"default","tag":"Guides","count":9},{"language":"default","tag":"Concepts","count":5},{"language":"default","tag":"Transfers","count":4},{"language":"default","tag":"Get started","count":4},{"language":"default","tag":"Reference","count":4},{"language":"default","tag":"Fast fill","count":3},{"language":"default","tag":"Markets","count":3},{"language":"default","tag":"Overview","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"api-reference/fastfill/build","slug":"/api-reference/fastfill/build","pageMetadata":{"title":"Build fast fill","openapi":"openapi/openapi.json POST /fastfill/build","description":"Turns a fast fill quote into what the user signs. `steps` ends with one `vm: \"sign\"` step whose `payload` holds an EIP-712 message: sign `domain`, `types`, `primaryType` and `message` with `eth_signTypedData_v4` from the wallet in `owner`. For a token that is not USDC, `steps` can start with one `approve` to Permit2, which the wallet sends once; later fast fills of that token need only the signature. A quote from `POST /bridge/quote` is refused with `not_fast_fill`. Building the same `decisionId` again returns the same transfer.","href":"/api-reference/fastfill/build"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Turns a fast fill quote into what the user signs. \", _jsx(_components.code, {\n children: \"steps\"\n }), \" ends with one \", _jsx(_components.code, {\n children: \"vm: \\\"sign\\\"\"\n }), \" step whose \", _jsx(_components.code, {\n children: \"payload\"\n }), \" holds an EIP-712 message: sign \", _jsx(_components.code, {\n children: \"domain\"\n }), \", \", _jsx(_components.code, {\n children: \"types\"\n }), \", \", _jsx(_components.code, {\n children: \"primaryType\"\n }), \" and \", _jsx(_components.code, {\n children: \"message\"\n }), \" with \", _jsx(_components.code, {\n children: \"eth_signTypedData_v4\"\n }), \" from the wallet in \", _jsx(_components.code, {\n children: \"owner\"\n }), \". For a token that is not USDC, \", _jsx(_components.code, {\n children: \"steps\"\n }), \" can start with one \", _jsx(_components.code, {\n children: \"approve\"\n }), \" to Permit2, which the wallet sends once; later fast fills of that token need only the signature. A quote from \", _jsx(_components.code, {\n children: \"POST /bridge/quote\"\n }), \" is refused with \", _jsx(_components.code, {\n children: \"not_fast_fill\"\n }), \". Building the same \", _jsx(_components.code, {\n children: \"decisionId\"\n }), \" again returns the same transfer.\"]\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":{"title":"Build fast fill","openapi":"openapi/openapi.json POST /fastfill/build","description":"Turns a fast fill quote into what the user signs. `steps` ends with one `vm: \"sign\"` step whose `payload` holds an EIP-712 message: sign `domain`, `types`, `primaryType` and `message` with `eth_signTypedData_v4` from the wallet in `owner`. For a token that is not USDC, `steps` can start with one `approve` to Permit2, which the wallet sends once; later fast fills of that token need only the signature. A quote from `POST /bridge/quote` is refused with `not_fast_fill`. Building the same `decisionId` again returns the same transfer.","href":"/api-reference/fastfill/build"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Build fast fill","description":"Turns a fast fill quote into what the user signs. `steps` ends with one `vm: \"sign\"` step whose `payload` holds an EIP-712 message: sign `domain`, `types`, `primaryType` and `message` with `eth_signTypedData_v4` from the wallet in `owner`. For a token that is not USDC, `steps` can start with one `approve` to Permit2, which the wallet sends once; later fast fills of that token need only the signature. A quote from `POST /bridge/quote` is refused with `not_fast_fill`. Building the same `decisionId` again returns the same transfer.","tags":["fastfill"],"requestBody":"e60c92c5-52ed-420f-a752-56495be7a881","responses":{"200":"2a4fea97-5cf6-479f-ad2c-ed85f4f1a23a","400":"0d179a61-7541-4bf7-aa05-e7be22e28736","401":"910e0a0f-f1d1-47a2-9b0e-6e01719a68f3","404":"b8705ba7-80bd-4f58-ae03-f02157a32d94","409":"2f234524-6de2-4630-b283-50d5ba688050","429":"d9d8fc9a-855b-4e9a-827c-9c1188df7485","502":"f45ceb86-5738-4b83-a42a-02f6d605dec0"},"parameters":["55aa40cb-57c4-49a1-9d6a-4c7a8c61c580"],"method":"post","type":"path","servers":["a12d40e2-7993-404e-98a7-96a99cb14fb8"],"security":[],"path":"/fastfill/build","baseUrlOptions":["https://api.brdg.now/v1"],"title":"Build fast fill","codeSamples":[],"requestExampleLanguages":["bash","javascript","python"],"requiredOnlyExamples":true,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"55aa40cb-57c4-49a1-9d6a-4c7a8c61c580":{"name":"X-BRDG-Api-Key","in":"header","required":false,"description":"Optional partner key for server integrators. With it, each wallet is rate limited under the partner rather than on the IP of the calling server (a call naming no wallet, per the `userIp` in the body), bounded by a partner-wide ceiling. Unknown or disabled keys are refused with 401. See [rate limits](/api-reference/rate-limits).","schema":{"type":"string","isRequired":false,"description":"Optional partner key for server integrators. With it, each wallet is rate limited under the partner rather than on the IP of the calling server (a call naming no wallet, per the `userIp` in the body), bounded by a partner-wide ceiling. Unknown or disabled keys are refused with 401. See [rate limits](/api-reference/rate-limits).","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"decisionId":{"type":"string","pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$","description":"The `decisionId` from the fast fill quote response.","isRequired":true,"uniqueKey":"decisionId","typeLabel":"string"},"venue":{"type":"string","minLength":1,"maxLength":40,"uniqueKey":"venue","typeLabel":"string"},"quoteId":{"type":"string","minLength":1,"maxLength":200,"description":"Build this quote instead of `best`.","uniqueKey":"quoteId","typeLabel":"string"},"userIp":{"oneOf":[{"type":"string","format":"ip","uniqueKey":"userIp.oneOf.0","typeLabel":"string\u003cip>"},{"type":"string","format":"ip","uniqueKey":"userIp.oneOf.1","typeLabel":"string\u003cip>"}],"uniqueKey":"userIp","typeLabel":"string\u003cip>"},"atomicBatch":{"type":"boolean","description":"Optional, `false` when omitted. Send `true` only when the wallet will submit every returned step together as ONE atomic EIP-5792 bundle (`wallet_sendCalls` with `atomicRequired`). Then a route that can carry the fee that way returns a `fee` step beside the bridge step, listed in `feeBatch`. Otherwise the build returns no `fee` step, and the fee rides the venue's own transaction or is not charged. A transfer from Tron never carries a `fee` step.","uniqueKey":"atomicBatch","typeLabel":"boolean"}},"required":["decisionId"],"uniqueKey":"","typeLabel":"object"},"example":{"decisionId":"5c7e4e05-1d2a-4f0b-9c3e-7a1b2c3d4e5f"},"examples":{"Example":{"title":"Example","value":{"decisionId":"5c7e4e05-1d2a-4f0b-9c3e-7a1b2c3d4e5f"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"2a4fea97-5cf6-479f-ad2c-ed85f4f1a23a":{"description":"The transfer id and its signature step","content":{"application/json":{"schema":{"type":"object","properties":{"transferId":{"type":"string","isRequired":true,"uniqueKey":"transferId","typeLabel":"string"},"venue":{"type":"string","isRequired":true,"uniqueKey":"venue","typeLabel":"string"},"steps":{"type":"array","items":{"oneOf":[{"type":"object","required":["vm","step","chainId","to","data","value"],"properties":{"vm":{"type":"string","enum":["evm"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.0.vm","typeLabel":"enum\u003cstring>"},"step":{"type":"string","enum":["approve","fee","main","redeem"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.0.step","typeLabel":"enum\u003cstring>"},"chainId":{"type":"integer","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.0.chainId","typeLabel":"integer"},"to":{"type":"string","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.0.to","typeLabel":"string"},"data":{"type":"string","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.0.data","typeLabel":"string"},"value":{"type":"string","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.0.value","typeLabel":"string"},"gasLimit":{"type":"string","uniqueKey":"steps.items.[INDEX].oneOf.0.gasLimit","typeLabel":"string"}},"uniqueKey":"steps.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["vm","step","serializedTx","encoding","version","setPriorityFee","refreshBlockhash"],"properties":{"vm":{"type":"string","enum":["svm"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.1.vm","typeLabel":"enum\u003cstring>"},"step":{"type":"string","enum":["approve","fee","main","redeem"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.1.step","typeLabel":"enum\u003cstring>"},"serializedTx":{"type":"string","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.1.serializedTx","typeLabel":"string"},"encoding":{"type":"string","enum":["base64","hex"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.1.encoding","typeLabel":"enum\u003cstring>"},"version":{"type":"string","enum":["v0","legacy"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.1.version","typeLabel":"enum\u003cstring>"},"setPriorityFee":{"type":"boolean","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.1.setPriorityFee","typeLabel":"boolean"},"refreshBlockhash":{"type":"boolean","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.1.refreshBlockhash","typeLabel":"boolean"}},"uniqueKey":"steps.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["vm","step","venueChainId","address","tokenAddress","exactAmountAtomic","expiresAt"],"properties":{"vm":{"type":"string","enum":["deposit-address"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.2.vm","typeLabel":"enum\u003cstring>"},"step":{"type":"string","enum":["approve","fee","main","redeem"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.2.step","typeLabel":"enum\u003cstring>"},"venueChainId":{"type":"string","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.2.venueChainId","typeLabel":"string"},"address":{"type":"string","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.2.address","typeLabel":"string"},"tokenAddress":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.2.tokenAddress.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.2.tokenAddress.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.2.tokenAddress","typeLabel":"string | null"},"exactAmountAtomic":{"type":"string","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.2.exactAmountAtomic","typeLabel":"string"},"expiresAt":{"type":"integer","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.2.expiresAt","typeLabel":"integer"},"memo":{"type":"string","uniqueKey":"steps.items.[INDEX].oneOf.2.memo","typeLabel":"string"}},"uniqueKey":"steps.items.[INDEX].oneOf.2","typeLabel":"object"},{"type":"object","required":["vm","step","scheme"],"properties":{"vm":{"type":"string","enum":["sign"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.3.vm","typeLabel":"enum\u003cstring>"},"step":{"type":"string","enum":["approve","fee","main","redeem"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.3.step","typeLabel":"enum\u003cstring>"},"scheme":{"type":"string","enum":["eip712","eip191","ed25519","nep413"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.3.scheme","typeLabel":"enum\u003cstring>"},"payload":{"oneOf":[{},{"type":"null","uniqueKey":"steps.items.[INDEX].oneOf.3.payload.oneOf.1","typeLabel":"null"}],"uniqueKey":"steps.items.[INDEX].oneOf.3.payload","typeLabel":"null"}},"uniqueKey":"steps.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"object","required":["vm","step","outputs"],"properties":{"vm":{"type":"string","enum":["utxo"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.4.vm","typeLabel":"enum\u003cstring>"},"step":{"type":"string","enum":["approve","fee","main","redeem"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.4.step","typeLabel":"enum\u003cstring>"},"outputs":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.4.outputs.items.[INDEX].address","typeLabel":"string"},"valueSats":{"type":"string","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.4.outputs.items.[INDEX].valueSats","typeLabel":"string"}},"required":["address","valueSats"],"uniqueKey":"steps.items.[INDEX].oneOf.4.outputs.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.4.outputs","typeLabel":"object[]"},"memo":{"type":"string","uniqueKey":"steps.items.[INDEX].oneOf.4.memo","typeLabel":"string"},"feeRateSatsPerVbyte":{"type":"number","uniqueKey":"steps.items.[INDEX].oneOf.4.feeRateSatsPerVbyte","typeLabel":"number"}},"uniqueKey":"steps.items.[INDEX].oneOf.4","typeLabel":"object"},{"type":"object","required":["vm","step","kind","contract","data","callValueSun","feeLimitSun"],"properties":{"vm":{"type":"string","enum":["tron"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.5.vm","typeLabel":"enum\u003cstring>"},"step":{"type":"string","enum":["approve","fee","main","redeem"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.5.step","typeLabel":"enum\u003cstring>"},"kind":{"type":"string","enum":["call"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.5.kind","typeLabel":"enum\u003cstring>"},"contract":{"type":"string","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.5.contract","typeLabel":"string"},"data":{"type":"string","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.5.data","typeLabel":"string"},"callValueSun":{"type":"string","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.5.callValueSun","typeLabel":"string"},"feeLimitSun":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.5.feeLimitSun.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.5.feeLimitSun.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.5.feeLimitSun","typeLabel":"string | null"}},"uniqueKey":"steps.items.[INDEX].oneOf.5","typeLabel":"object"},{"type":"object","required":["vm","step","kind","toAddress","amountSun"],"properties":{"vm":{"type":"string","enum":["tron"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.6.vm","typeLabel":"enum\u003cstring>"},"step":{"type":"string","enum":["approve","fee","main","redeem"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.6.step","typeLabel":"enum\u003cstring>"},"kind":{"type":"string","enum":["transfer"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.6.kind","typeLabel":"enum\u003cstring>"},"toAddress":{"type":"string","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.6.toAddress","typeLabel":"string"},"amountSun":{"type":"string","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.6.amountSun","typeLabel":"string"}},"uniqueKey":"steps.items.[INDEX].oneOf.6","typeLabel":"object"},{"type":"object","required":["vm","step","kind"],"properties":{"vm":{"type":"string","enum":["tron"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.7.vm","typeLabel":"enum\u003cstring>"},"step":{"type":"string","enum":["approve","fee","main","redeem"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.7.step","typeLabel":"enum\u003cstring>"},"kind":{"type":"string","enum":["built"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.7.kind","typeLabel":"enum\u003cstring>"},"raw":{"oneOf":[{},{"type":"null","uniqueKey":"steps.items.[INDEX].oneOf.7.raw.oneOf.1","typeLabel":"null"}],"uniqueKey":"steps.items.[INDEX].oneOf.7.raw","typeLabel":"null"}},"uniqueKey":"steps.items.[INDEX].oneOf.7","typeLabel":"object"},{"type":"object","required":["vm","step","reason"],"properties":{"vm":{"type":"string","enum":["unsupported"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.8.vm","typeLabel":"enum\u003cstring>"},"step":{"type":"string","enum":["main"],"isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.8.step","typeLabel":"enum\u003cstring>"},"reason":{"type":"string","isRequired":true,"uniqueKey":"steps.items.[INDEX].oneOf.8.reason","typeLabel":"string"}},"uniqueKey":"steps.items.[INDEX].oneOf.8","typeLabel":"object"}],"uniqueKey":"steps.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"steps","typeLabel":"object[]"},"expiresAt":{"type":"integer","isRequired":true,"uniqueKey":"expiresAt","typeLabel":"integer"},"amountInAtomic":{"type":"string","isRequired":true,"uniqueKey":"amountInAtomic","typeLabel":"string"},"expectedOutAtomic":{"type":"string","isRequired":true,"uniqueKey":"expectedOutAtomic","typeLabel":"string"},"minOutAtomic":{"type":"string","isRequired":true,"uniqueKey":"minOutAtomic","typeLabel":"string"},"feeCapture":{"type":"string","enum":["venue-param","merged","separate-step","batch","none"],"isRequired":true,"uniqueKey":"feeCapture","typeLabel":"enum\u003cstring>"},"referralCapture":{"oneOf":[{"type":"string","enum":["merged","batch","none",null],"isRequired":true,"uniqueKey":"referralCapture.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["merged","batch","none",null],"isRequired":true,"uniqueKey":"referralCapture.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"referralCapture","typeLabel":"enum\u003cstring> | null"},"feeBasis":{"type":"string","enum":["carved","added"],"isRequired":true,"uniqueKey":"feeBasis","typeLabel":"enum\u003cstring>"},"requoted":{"type":"boolean","isRequired":true,"uniqueKey":"requoted","typeLabel":"boolean"},"deposit":{"type":"object","properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"deposit.address","typeLabel":"string"},"amountAtomic":{"type":"string","isRequired":true,"uniqueKey":"deposit.amountAtomic","typeLabel":"string"},"deadlineMs":{"type":"integer","isRequired":true,"uniqueKey":"deposit.deadlineMs","typeLabel":"integer"},"tokenAddress":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"deposit.tokenAddress.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"deposit.tokenAddress.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"deposit.tokenAddress","typeLabel":"string | null"},"chainKey":{"type":"string","isRequired":true,"uniqueKey":"deposit.chainKey","typeLabel":"string"},"memo":{"type":"string","uniqueKey":"deposit.memo","typeLabel":"string"}},"required":["address","amountAtomic","deadlineMs","tokenAddress","chainKey"],"uniqueKey":"deposit","typeLabel":"object"},"feeBatch":{"type":"object","properties":{"chainId":{"type":"integer","isRequired":true,"uniqueKey":"feeBatch.chainId","typeLabel":"integer"},"stepIndexes":{"type":"array","items":{"type":"integer","uniqueKey":"feeBatch.stepIndexes.items.[INDEX]","typeLabel":"integer"},"isRequired":true,"uniqueKey":"feeBatch.stepIndexes","typeLabel":"integer[]"}},"required":["chainId","stepIndexes"],"uniqueKey":"feeBatch","typeLabel":"object"},"permit":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["hypercore_deposit"],"isRequired":true,"uniqueKey":"permit.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"owner":{"type":"string","isRequired":true,"uniqueKey":"permit.oneOf.0.owner","typeLabel":"string"},"spender":{"type":"string","isRequired":true,"uniqueKey":"permit.oneOf.0.spender","typeLabel":"string"},"valueAtomic":{"type":"string","isRequired":true,"uniqueKey":"permit.oneOf.0.valueAtomic","typeLabel":"string"},"nonce":{"type":"string","isRequired":true,"uniqueKey":"permit.oneOf.0.nonce","typeLabel":"string"},"deadline":{"type":"string","isRequired":true,"uniqueKey":"permit.oneOf.0.deadline","typeLabel":"string"},"typedData":{"type":"object","properties":{"domain":{"type":"object","properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"permit.oneOf.0.typedData.domain.name","typeLabel":"string"},"version":{"type":"string","isRequired":true,"uniqueKey":"permit.oneOf.0.typedData.domain.version","typeLabel":"string"},"chainId":{"type":"integer","isRequired":true,"uniqueKey":"permit.oneOf.0.typedData.domain.chainId","typeLabel":"integer"},"verifyingContract":{"type":"string","isRequired":true,"uniqueKey":"permit.oneOf.0.typedData.domain.verifyingContract","typeLabel":"string"}},"required":["name","version","chainId","verifyingContract"],"isRequired":true,"uniqueKey":"permit.oneOf.0.typedData.domain","typeLabel":"object"},"types":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"permit.oneOf.0.typedData.types.additionalProperties.items.[INDEX].name","typeLabel":"string"},"type":{"type":"string","isRequired":true,"uniqueKey":"permit.oneOf.0.typedData.types.additionalProperties.items.[INDEX].type","typeLabel":"string"}},"required":["name","type"],"uniqueKey":"permit.oneOf.0.typedData.types.additionalProperties.items.[INDEX]","typeLabel":"object"},"uniqueKey":"permit.oneOf.0.typedData.types.additionalProperties","typeLabel":"object[]"},"isRequired":true,"uniqueKey":"permit.oneOf.0.typedData.types","typeLabel":"object"},"primaryType":{"type":"string","enum":["Permit"],"isRequired":true,"uniqueKey":"permit.oneOf.0.typedData.primaryType","typeLabel":"enum\u003cstring>"},"message":{"type":"object","properties":{"owner":{"type":"string","isRequired":true,"uniqueKey":"permit.oneOf.0.typedData.message.owner","typeLabel":"string"},"spender":{"type":"string","isRequired":true,"uniqueKey":"permit.oneOf.0.typedData.message.spender","typeLabel":"string"},"value":{"type":"string","isRequired":true,"uniqueKey":"permit.oneOf.0.typedData.message.value","typeLabel":"string"},"nonce":{"type":"string","isRequired":true,"uniqueKey":"permit.oneOf.0.typedData.message.nonce","typeLabel":"string"},"deadline":{"type":"string","isRequired":true,"uniqueKey":"permit.oneOf.0.typedData.message.deadline","typeLabel":"string"}},"required":["owner","spender","value","nonce","deadline"],"isRequired":true,"uniqueKey":"permit.oneOf.0.typedData.message","typeLabel":"object"}},"required":["domain","types","primaryType","message"],"isRequired":true,"uniqueKey":"permit.oneOf.0.typedData","typeLabel":"object"}},"default":null,"required":["kind","owner","spender","valueAtomic","nonce","deadline","typedData"],"uniqueKey":"permit.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"kind":{"type":"string","enum":["hypercore_deposit"]},"owner":{"type":"string"},"spender":{"type":"string"},"valueAtomic":{"type":"string"},"nonce":{"type":"string"},"deadline":{"type":"string"},"typedData":{"type":"object","properties":{"domain":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"},"chainId":{"type":"integer"},"verifyingContract":{"type":"string"}},"required":["name","version","chainId","verifyingContract"]},"types":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"}},"required":["name","type"]}}},"primaryType":{"type":"string","enum":["Permit"]},"message":{"type":"object","properties":{"owner":{"type":"string"},"spender":{"type":"string"},"value":{"type":"string"},"nonce":{"type":"string"},"deadline":{"type":"string"}},"required":["owner","spender","value","nonce","deadline"]}},"required":["domain","types","primaryType","message"]}},"default":null,"required":["kind","owner","spender","valueAtomic","nonce","deadline","typedData"],"uniqueKey":"permit.oneOf.1","typeLabel":"null"}],"uniqueKey":"permit","typeLabel":"object | null"},"relayFeePermit":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["hypercore_relay_fee"],"isRequired":true,"uniqueKey":"relayFeePermit.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"owner":{"type":"string","isRequired":true,"uniqueKey":"relayFeePermit.oneOf.0.owner","typeLabel":"string"},"spender":{"type":"string","isRequired":true,"uniqueKey":"relayFeePermit.oneOf.0.spender","typeLabel":"string"},"valueAtomic":{"type":"string","isRequired":true,"uniqueKey":"relayFeePermit.oneOf.0.valueAtomic","typeLabel":"string"},"nonce":{"type":"string","isRequired":true,"uniqueKey":"relayFeePermit.oneOf.0.nonce","typeLabel":"string"},"deadline":{"type":"string","isRequired":true,"uniqueKey":"relayFeePermit.oneOf.0.deadline","typeLabel":"string"},"typedData":{"type":"object","properties":{"domain":{"type":"object","properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"relayFeePermit.oneOf.0.typedData.domain.name","typeLabel":"string"},"version":{"type":"string","isRequired":true,"uniqueKey":"relayFeePermit.oneOf.0.typedData.domain.version","typeLabel":"string"},"chainId":{"type":"integer","isRequired":true,"uniqueKey":"relayFeePermit.oneOf.0.typedData.domain.chainId","typeLabel":"integer"},"verifyingContract":{"type":"string","isRequired":true,"uniqueKey":"relayFeePermit.oneOf.0.typedData.domain.verifyingContract","typeLabel":"string"}},"required":["name","version","chainId","verifyingContract"],"isRequired":true,"uniqueKey":"relayFeePermit.oneOf.0.typedData.domain","typeLabel":"object"},"types":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"relayFeePermit.oneOf.0.typedData.types.additionalProperties.items.[INDEX].name","typeLabel":"string"},"type":{"type":"string","isRequired":true,"uniqueKey":"relayFeePermit.oneOf.0.typedData.types.additionalProperties.items.[INDEX].type","typeLabel":"string"}},"required":["name","type"],"uniqueKey":"relayFeePermit.oneOf.0.typedData.types.additionalProperties.items.[INDEX]","typeLabel":"object"},"uniqueKey":"relayFeePermit.oneOf.0.typedData.types.additionalProperties","typeLabel":"object[]"},"isRequired":true,"uniqueKey":"relayFeePermit.oneOf.0.typedData.types","typeLabel":"object"},"primaryType":{"type":"string","enum":["Permit"],"isRequired":true,"uniqueKey":"relayFeePermit.oneOf.0.typedData.primaryType","typeLabel":"enum\u003cstring>"},"message":{"type":"object","properties":{"owner":{"type":"string","isRequired":true,"uniqueKey":"relayFeePermit.oneOf.0.typedData.message.owner","typeLabel":"string"},"spender":{"type":"string","isRequired":true,"uniqueKey":"relayFeePermit.oneOf.0.typedData.message.spender","typeLabel":"string"},"value":{"type":"string","isRequired":true,"uniqueKey":"relayFeePermit.oneOf.0.typedData.message.value","typeLabel":"string"},"nonce":{"type":"string","isRequired":true,"uniqueKey":"relayFeePermit.oneOf.0.typedData.message.nonce","typeLabel":"string"},"deadline":{"type":"string","isRequired":true,"uniqueKey":"relayFeePermit.oneOf.0.typedData.message.deadline","typeLabel":"string"}},"required":["owner","spender","value","nonce","deadline"],"isRequired":true,"uniqueKey":"relayFeePermit.oneOf.0.typedData.message","typeLabel":"object"}},"required":["domain","types","primaryType","message"],"isRequired":true,"uniqueKey":"relayFeePermit.oneOf.0.typedData","typeLabel":"object"}},"default":null,"required":["kind","owner","spender","valueAtomic","nonce","deadline","typedData"],"uniqueKey":"relayFeePermit.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"kind":{"type":"string","enum":["hypercore_relay_fee"]},"owner":{"type":"string"},"spender":{"type":"string"},"valueAtomic":{"type":"string"},"nonce":{"type":"string"},"deadline":{"type":"string"},"typedData":{"type":"object","properties":{"domain":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"},"chainId":{"type":"integer"},"verifyingContract":{"type":"string"}},"required":["name","version","chainId","verifyingContract"]},"types":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"}},"required":["name","type"]}}},"primaryType":{"type":"string","enum":["Permit"]},"message":{"type":"object","properties":{"owner":{"type":"string"},"spender":{"type":"string"},"value":{"type":"string"},"nonce":{"type":"string"},"deadline":{"type":"string"}},"required":["owner","spender","value","nonce","deadline"]}},"required":["domain","types","primaryType","message"]}},"default":null,"required":["kind","owner","spender","valueAtomic","nonce","deadline","typedData"],"uniqueKey":"relayFeePermit.oneOf.1","typeLabel":"null"}],"uniqueKey":"relayFeePermit","typeLabel":"object | null"},"spotTransfer":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["hypercore_spot_transfer"],"isRequired":true,"uniqueKey":"spotTransfer.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"account":{"type":"string","isRequired":true,"uniqueKey":"spotTransfer.oneOf.0.account","typeLabel":"string"},"amount":{"type":"string","isRequired":true,"uniqueKey":"spotTransfer.oneOf.0.amount","typeLabel":"string"},"nonce":{"type":"integer","isRequired":true,"uniqueKey":"spotTransfer.oneOf.0.nonce","typeLabel":"integer"},"signatureChainId":{"type":"string","isRequired":true,"uniqueKey":"spotTransfer.oneOf.0.signatureChainId","typeLabel":"string"},"typedData":{"type":"object","properties":{"domain":{"type":"object","properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"spotTransfer.oneOf.0.typedData.domain.name","typeLabel":"string"},"version":{"type":"string","isRequired":true,"uniqueKey":"spotTransfer.oneOf.0.typedData.domain.version","typeLabel":"string"},"chainId":{"type":"integer","isRequired":true,"uniqueKey":"spotTransfer.oneOf.0.typedData.domain.chainId","typeLabel":"integer"},"verifyingContract":{"type":"string","isRequired":true,"uniqueKey":"spotTransfer.oneOf.0.typedData.domain.verifyingContract","typeLabel":"string"}},"required":["name","version","chainId","verifyingContract"],"isRequired":true,"uniqueKey":"spotTransfer.oneOf.0.typedData.domain","typeLabel":"object"},"types":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"spotTransfer.oneOf.0.typedData.types.additionalProperties.items.[INDEX].name","typeLabel":"string"},"type":{"type":"string","isRequired":true,"uniqueKey":"spotTransfer.oneOf.0.typedData.types.additionalProperties.items.[INDEX].type","typeLabel":"string"}},"required":["name","type"],"uniqueKey":"spotTransfer.oneOf.0.typedData.types.additionalProperties.items.[INDEX]","typeLabel":"object"},"uniqueKey":"spotTransfer.oneOf.0.typedData.types.additionalProperties","typeLabel":"object[]"},"isRequired":true,"uniqueKey":"spotTransfer.oneOf.0.typedData.types","typeLabel":"object"},"primaryType":{"type":"string","enum":["HyperliquidTransaction:UsdClassTransfer"],"isRequired":true,"uniqueKey":"spotTransfer.oneOf.0.typedData.primaryType","typeLabel":"enum\u003cstring>"},"message":{"type":"object","properties":{"hyperliquidChain":{"type":"string","enum":["Mainnet"],"isRequired":true,"uniqueKey":"spotTransfer.oneOf.0.typedData.message.hyperliquidChain","typeLabel":"enum\u003cstring>"},"amount":{"type":"string","isRequired":true,"uniqueKey":"spotTransfer.oneOf.0.typedData.message.amount","typeLabel":"string"},"toPerp":{"type":"boolean","isRequired":true,"uniqueKey":"spotTransfer.oneOf.0.typedData.message.toPerp","typeLabel":"boolean"},"nonce":{"type":"integer","isRequired":true,"uniqueKey":"spotTransfer.oneOf.0.typedData.message.nonce","typeLabel":"integer"}},"required":["hyperliquidChain","amount","toPerp","nonce"],"isRequired":true,"uniqueKey":"spotTransfer.oneOf.0.typedData.message","typeLabel":"object"}},"required":["domain","types","primaryType","message"],"isRequired":true,"uniqueKey":"spotTransfer.oneOf.0.typedData","typeLabel":"object"}},"default":null,"required":["kind","account","amount","nonce","signatureChainId","typedData"],"uniqueKey":"spotTransfer.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"kind":{"type":"string","enum":["hypercore_spot_transfer"]},"account":{"type":"string"},"amount":{"type":"string"},"nonce":{"type":"integer"},"signatureChainId":{"type":"string"},"typedData":{"type":"object","properties":{"domain":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"},"chainId":{"type":"integer"},"verifyingContract":{"type":"string"}},"required":["name","version","chainId","verifyingContract"]},"types":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"}},"required":["name","type"]}}},"primaryType":{"type":"string","enum":["HyperliquidTransaction:UsdClassTransfer"]},"message":{"type":"object","properties":{"hyperliquidChain":{"type":"string","enum":["Mainnet"]},"amount":{"type":"string"},"toPerp":{"type":"boolean"},"nonce":{"type":"integer"}},"required":["hyperliquidChain","amount","toPerp","nonce"]}},"required":["domain","types","primaryType","message"]}},"default":null,"required":["kind","account","amount","nonce","signatureChainId","typedData"],"uniqueKey":"spotTransfer.oneOf.1","typeLabel":"null"}],"uniqueKey":"spotTransfer","typeLabel":"object | null"},"requote":{"type":"object","properties":{"basis":{"type":"string","enum":["netOutAtomic","amountOutAtomic","amountInAtomic"],"isRequired":true,"uniqueKey":"requote.basis","typeLabel":"enum\u003cstring>"},"originalAmount":{"type":"string","isRequired":true,"uniqueKey":"requote.originalAmount","typeLabel":"string"},"freshAmount":{"type":"string","isRequired":true,"uniqueKey":"requote.freshAmount","typeLabel":"string"},"driftBps":{"type":"integer","isRequired":true,"uniqueKey":"requote.driftBps","typeLabel":"integer"}},"required":["basis","originalAmount","freshAmount","driftBps"],"uniqueKey":"requote","typeLabel":"object"},"boardDrift":{"type":"object","properties":{"corridorKey":{"type":"string","isRequired":true,"uniqueKey":"boardDrift.corridorKey","typeLabel":"string"},"boardAmountOutAtomic":{"type":"string","isRequired":true,"uniqueKey":"boardDrift.boardAmountOutAtomic","typeLabel":"string"},"firmAmountOutAtomic":{"type":"string","isRequired":true,"uniqueKey":"boardDrift.firmAmountOutAtomic","typeLabel":"string"},"driftBps":{"type":"integer","isRequired":true,"uniqueKey":"boardDrift.driftBps","typeLabel":"integer"},"boardAgeMs":{"type":"integer","isRequired":true,"uniqueKey":"boardDrift.boardAgeMs","typeLabel":"integer"}},"required":["corridorKey","boardAmountOutAtomic","firmAmountOutAtomic","driftBps","boardAgeMs"],"uniqueKey":"boardDrift","typeLabel":"object"}},"required":["transferId","venue","steps","expiresAt","amountInAtomic","expectedOutAtomic","minOutAtomic","feeCapture","referralCapture","feeBasis","requoted"],"uniqueKey":"","typeLabel":"object"},"example":{"transferId":"6f1d2c0a-4b7e-4c55-9a1e-2f0e8c3b7d41","venue":"relay","steps":[{"vm":"sign","step":"main","scheme":"eip712","payload":{"owner":"0x58E602386DB134b1F9B1d6d390C11A2B7b486677","domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},"types":{"ReceiveWithAuthorization":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"},{"name":"validAfter","type":"uint256"},{"name":"validBefore","type":"uint256"},{"name":"nonce","type":"bytes32"}]},"primaryType":"ReceiveWithAuthorization","message":{"from":"0x58E602386DB134b1F9B1d6d390C11A2B7b486677","to":"0xccc88a9d1b4ed6b0eaba998850414b24f1c315be","value":"10000000","validAfter":0,"validBefore":1791484288,"nonce":"0x8ee9dabf3ef81e81899d9c395fa7d681a7435a88d0deb19916b7b9db027a8f53"},"venueSubmit":{"endpoint":"/execute/permits","body":{"kind":"eip3009","requestId":"0x17914836885153788c87ec28425d97ef85bd8916e6bb58e8a52d45c0fd169cd6","api":"swap"}}}}],"expiresAt":1791483388000,"amountInAtomic":"10000000","expectedOutAtomic":"9968392","minOutAtomic":"9769024","requoted":false,"feeCapture":"venue-param","referralCapture":null,"feeBasis":"carved"},"examples":{"Example":{"title":"Example","value":{"transferId":"6f1d2c0a-4b7e-4c55-9a1e-2f0e8c3b7d41","venue":"relay","steps":[{"vm":"sign","step":"main","scheme":"eip712","payload":{"owner":"0x58E602386DB134b1F9B1d6d390C11A2B7b486677","domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},"types":{"ReceiveWithAuthorization":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"},{"name":"validAfter","type":"uint256"},{"name":"validBefore","type":"uint256"},{"name":"nonce","type":"bytes32"}]},"primaryType":"ReceiveWithAuthorization","message":{"from":"0x58E602386DB134b1F9B1d6d390C11A2B7b486677","to":"0xccc88a9d1b4ed6b0eaba998850414b24f1c315be","value":"10000000","validAfter":0,"validBefore":1791484288,"nonce":"0x8ee9dabf3ef81e81899d9c395fa7d681a7435a88d0deb19916b7b9db027a8f53"},"venueSubmit":{"endpoint":"/execute/permits","body":{"kind":"eip3009","requestId":"0x17914836885153788c87ec28425d97ef85bd8916e6bb58e8a52d45c0fd169cd6","api":"swap"}}}}],"expiresAt":1791483388000,"amountInAtomic":"10000000","expectedOutAtomic":"9968392","minOutAtomic":"9769024","requoted":false,"feeCapture":"venue-param","referralCapture":null,"feeBasis":"carved"}}},"exampleType":"examples"}},"exampleType":"examples"},"0d179a61-7541-4bf7-aa05-e7be22e28736":{"description":"Malformed request, an unknown asset, or a signed transaction that is not what we built","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{},{"type":"null","uniqueKey":"error.details.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details.additionalProperties","typeLabel":"null"},"uniqueKey":"error.details","typeLabel":"object"},"retryAfterMs":{"type":"integer","uniqueKey":"error.retryAfterMs","typeLabel":"integer"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{},"retryAfterMs":123}}}},"exampleType":"generated"}},"exampleType":"generated"},"910e0a0f-f1d1-47a2-9b0e-6e01719a68f3":{"description":"An `X-BRDG-Api-Key` header was sent and the key is unknown (`invalid_api_key`) or disabled (`api_key_disabled`)","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{},{"type":"null","uniqueKey":"error.details.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details.additionalProperties","typeLabel":"null"},"uniqueKey":"error.details","typeLabel":"object"},"retryAfterMs":{"type":"integer","uniqueKey":"error.retryAfterMs","typeLabel":"integer"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{},"retryAfterMs":123}}}},"exampleType":"generated"}},"exampleType":"generated"},"b8705ba7-80bd-4f58-ae03-f02157a32d94":{"description":"No such decision or transfer, or the aggregator is switched off","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{},{"type":"null","uniqueKey":"error.details.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details.additionalProperties","typeLabel":"null"},"uniqueKey":"error.details","typeLabel":"object"},"retryAfterMs":{"type":"integer","uniqueKey":"error.retryAfterMs","typeLabel":"integer"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{},"retryAfterMs":123}}}},"exampleType":"generated"}},"exampleType":"generated"},"2f234524-6de2-4630-b283-50d5ba688050":{"description":"The decision is indicative, the quote expired or drifted, the venue is ineligible, or execution is switched off","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{},{"type":"null","uniqueKey":"error.details.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details.additionalProperties","typeLabel":"null"},"uniqueKey":"error.details","typeLabel":"object"},"retryAfterMs":{"type":"integer","uniqueKey":"error.retryAfterMs","typeLabel":"integer"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{},"retryAfterMs":123}}}},"exampleType":"generated"}},"exampleType":"generated"},"d9d8fc9a-855b-4e9a-827c-9c1188df7485":{"description":"Rate limited; retry after `retryAfterMs`","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{},{"type":"null","uniqueKey":"error.details.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details.additionalProperties","typeLabel":"null"},"uniqueKey":"error.details","typeLabel":"object"},"retryAfterMs":{"type":"integer","uniqueKey":"error.retryAfterMs","typeLabel":"integer"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{},"retryAfterMs":123}}}},"exampleType":"generated"}},"exampleType":"generated"},"f45ceb86-5738-4b83-a42a-02f6d605dec0":{"description":"The venue refused to build, or the broadcast was rejected","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{},{"type":"null","uniqueKey":"error.details.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details.additionalProperties","typeLabel":"null"},"uniqueKey":"error.details","typeLabel":"object"},"retryAfterMs":{"type":"integer","uniqueKey":"error.retryAfterMs","typeLabel":"integer"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{},"retryAfterMs":123}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{},"servers":{"a12d40e2-7993-404e-98a7-96a99cb14fb8":{"url":"https://api.brdg.now/v1"}}},"originalFileLocation":"openapi/openapi.json"},"subdomain":"bridg","siteName":"BRDG","title":"Build fast fill - BRDG","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-08T21:23:41.849Z","originalFileLocation":"api-reference/fastfill/build.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=\"dark\"}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=\"Turns a fast fill quote into what the user signs. steps ends with one vm: \u0026quot;sign\u0026quot; step whose payload holds an EIP-712 message: sign domain, types, primaryType and message with eth_signTypedData_v4 from the wallet in owner. For a token that is not USDC, steps can start with one approve to Permit2, which the wallet sends once; later fast fills of that token need only the signature. A quote from POST /bridge/quote is refused with not_fast_fill. Building the same decisionId again returns the same transfer.\">\u003cmeta data-mint-head name=\"application-name\" content=\"BRDG\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/bridg/cRsygfm65nxVPLBC/_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/bridg/cRsygfm65nxVPLBC/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/bridg/cRsygfm65nxVPLBC/_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/bridg/cRsygfm65nxVPLBC/_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/bridg/cRsygfm65nxVPLBC/_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/bridg/cRsygfm65nxVPLBC/_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/bridg/cRsygfm65nxVPLBC/_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/bridg/cRsygfm65nxVPLBC/_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/bridg/cRsygfm65nxVPLBC/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Build fast fill - BRDG\">\u003cmeta data-mint-head property=\"og:description\" content=\"Turns a fast fill quote into what the user signs. steps ends with one vm: \u0026quot;sign\u0026quot; step whose payload holds an EIP-712 message: sign domain, types, primaryType and message with eth_signTypedData_v4 from the wallet in owner. For a token that is not USDC, steps can start with one approve to Permit2, which the wallet sends once; later fast fills of that token need only the signature. A quote from POST /bridge/quote is refused with not_fast_fill. Building the same decisionId again returns the same transfer.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"BRDG\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.brdg.now/api-reference/fastfill/build\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://bridg.mintlify.site/_mintlify/api/og/v2?division=Fast+fill\u0026amp;title=Build+fast+fill\u0026amp;description=Turns+a+fast+fill+quote+into+what+the+user+signs.+%60steps%60+ends+with+one+%60vm%3A+%22sign%22%60+step+whose+%60payload%60+holds+an+EIP-712+message%3A+sign+%60domain%60%2C+%60types%60%2C+%60pri\u0026amp;theme=356591d66067727b939d6721\u0026amp;signature=453c7e68ef5a942b27cd66072aaef1014b3c2b64402d1bcddcfdad18be70c99a\">\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=\"Build fast fill - BRDG\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Turns a fast fill quote into what the user signs. steps ends with one vm: \u0026quot;sign\u0026quot; step whose payload holds an EIP-712 message: sign domain, types, primaryType and message with eth_signTypedData_v4 from the wallet in owner. For a token that is not USDC, steps can start with one approve to Permit2, which the wallet sends once; later fast fills of that token need only the signature. A quote from POST /bridge/quote is refused with not_fast_fill. Building the same decisionId again returns the same transfer.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://bridg.mintlify.site/_mintlify/api/og/v2?division=Fast+fill\u0026amp;title=Build+fast+fill\u0026amp;description=Turns+a+fast+fill+quote+into+what+the+user+signs.+%60steps%60+ends+with+one+%60vm%3A+%22sign%22%60+step+whose+%60payload%60+holds+an+EIP-712+message%3A+sign+%60domain%60%2C+%60types%60%2C+%60pri\u0026amp;theme=356591d66067727b939d6721\u0026amp;signature=453c7e68ef5a942b27cd66072aaef1014b3c2b64402d1bcddcfdad18be70c99a\">\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/bridg/cRsygfm65nxVPLBC/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"BRDG\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#7fb800\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.brdg.now/api-reference/fastfill/build\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/fastfill/build.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.brdg.now/#organization\",\"name\":\"BRDG\",\"url\":\"https://docs.brdg.now\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/bridg/D4IxQxj4CF9RGuCC/logo/light.svg?fit=max\u0026auto=format\u0026n=D4IxQxj4CF9RGuCC\u0026q=85\u0026s=eee3cdbc329ac425b008a25952d620d9\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.brdg.now#website\",\"name\":\"BRDG\",\"url\":\"https://docs.brdg.now\",\"publisher\":{\"@id\":\"https://docs.brdg.now/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.brdg.now/api-reference/fastfill/build#webpage\",\"url\":\"https://docs.brdg.now/api-reference/fastfill/build\",\"name\":\"Build fast fill\",\"description\":\"Turns a fast fill quote into what the user signs. steps ends with one vm: \\\"sign\\\" step whose payload holds an EIP-712 message: sign domain, types, primaryType and message with eth_signTypedData_v4 from the wallet in owner. For a token that is not USDC, steps can start with one approve to Permit2, which the wallet sends once; later fast fills of that token need only the signature. A quote from POST /bridge/quote is refused with not_fast_fill. Building the same decisionId again returns the same transfer.\",\"dateModified\":\"2026-10-08T21:23:41.849Z\",\"isPartOf\":{\"@id\":\"https://docs.brdg.now#website\"},\"breadcrumb\":{\"@id\":\"https://docs.brdg.now/api-reference/fastfill/build#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.brdg.now/api-reference/fastfill/build#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Fast fill\",\"item\":\"https://docs.brdg.now/api-reference/fastfill/quote\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Build fast fill\",\"item\":\"https://docs.brdg.now/api-reference/fastfill/build\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.brdg.now/api-reference/fastfill/build#apireference\",\"headline\":\"Build fast fill\",\"name\":\"Build fast fill\",\"description\":\"Turns a fast fill quote into what the user signs. steps ends with one vm: \\\"sign\\\" step whose payload holds an EIP-712 message: sign domain, types, primaryType and message with eth_signTypedData_v4 from the wallet in owner. For a token that is not USDC, steps can start with one approve to Permit2, which the wallet sends once; later fast fills of that token need only the signature. A quote from POST /bridge/quote is refused with not_fast_fill. Building the same decisionId again returns the same transfer.\",\"url\":\"https://docs.brdg.now/api-reference/fastfill/build\",\"mainEntityOfPage\":{\"@id\":\"https://docs.brdg.now/api-reference/fastfill/build#webpage\"},\"dateModified\":\"2026-10-08T21:23:41.849Z\",\"publisher\":{\"@id\":\"https://docs.brdg.now/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.brdg.now#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"BRDG\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"BRDG","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"API overview","href":"/api-reference/overview"},{"title":"Rate limits","href":"/api-reference/rate-limits"}]},{"group":"Markets","pages":[{"title":"Get source chains","openapi":"openapi/openapi.json GET /bridge/source-chains","href":"/api-reference/markets/source-chains"},{"title":"Get routes","openapi":"openapi/openapi.json GET /bridge/routes","href":"/api-reference/markets/routes"},{"title":"Get venues","openapi":"openapi/openapi.json GET /bridge/venues","href":"/api-reference/markets/venues"}]},{"group":"Transfers","pages":[{"title":"Get quote","openapi":"openapi/openapi.json POST /bridge/quote","href":"/api-reference/quote/quote"},{"title":"Build transaction","openapi":"openapi/openapi.json POST /bridge/build","href":"/api-reference/quote/build"},{"title":"Submit transaction","openapi":"openapi/openapi.json POST /bridge/transfers/{id}/submit","href":"/api-reference/quote/submit"},{"title":"Get transfer","openapi":"openapi/openapi.json GET /bridge/transfers/{id}","href":"/api-reference/quote/transfer"}]},{"group":"Fast fill","pages":[{"title":"Get fast fill quote","openapi":"openapi/openapi.json POST /fastfill/quote","description":"Prices a gasless transfer: the venue fills the destination from its own liquidity and its relayer pays the source gas, so the user signs one message and holds no gas. Only venues with a fast fill lane are asked, and the table is ranked by net output like `POST /bridge/quote`. Every `amountOutAtomic` already has the venue's gas charge and the platform fee taken off. Always a firm quote. `privacy: true` is refused with `fast_fill_not_private`. An empty table carries `emptyReason: \"no_fast_fill_route\"`.","href":"/api-reference/fastfill/quote"},{"title":"Build fast fill","openapi":"openapi/openapi.json POST /fastfill/build","href":"/api-reference/fastfill/build"},{"title":"Submit fast fill signature","openapi":"openapi/openapi.json POST /fastfill/transfers/{id}/submit","description":"Checks that the signature recovers to `owner` over exactly the built message, then hands it to the venue's relayer, which sends the source transaction and pays its gas. `txHash` is that transaction once the venue names it, usually within seconds. `txHash: null` with `status: \"PENDING\"` means the relayer holds the signature and has not broadcast yet; BRDG keeps tracking it, and submitting again is safe. Send the one time Permit2 `approve` through `POST /bridge/transfers/{id}/submit` with `step: \"approve\"` first.","href":"/api-reference/fastfill/submit"}]},{"group":"Referrals","pages":[{"title":"Resolve referral code","openapi":"openapi/openapi.json GET /referrals/{code}","href":"/api-reference/referrals/resolve"},{"title":"Get referral leaderboard","openapi":"openapi/openapi.json GET /referrals/leaderboard","href":"/api-reference/referrals/leaderboard"}]}]}]},"basePath":"","title":"Build fast fill - BRDG","buildId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","deploymentId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CBsVopKK.js","utils-DZAk68jJ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-D32AYZrP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D_A5_cny.js","snippetPresets-xNRfS9th.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BIB25-tq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CydJ4w4j.js","shallow-CYPBeQSG.js","getApiPlaygroundDisplay-A5xJVBOu.js","CodeSnippet-BVRTgi3m.js","CodeSnippets-DjD6BSlt.js","Page-Dr40SSJq.js","getPastedJson-D4V4JyrR.js","icon-uhcnG22T.js","MethodPill-CM-ZQdGH.js","DuplicateIcon-B_WnOiNf.js","createIcon-CJsb8utt.js","DynamicMarkdown-D-2HDKEp.js","SectionHeading-KP5xmMgQ.js","axios-vUo_bRtp.js","Markdown-D_k0dg6k.js","clsx-DK3K4Z1S.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DE3EVdvd.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-fN9H9n9g.js"]}