Learn about Decibel’s technical architecture and how builders can leverage the platform
Builder codes allow you to earn fees when users execute transactions through your application. When placing orders or executing other transactions, you can specify a builder address and fee to receive a portion of the transaction fees.
User Approval Required: Users must approve the maximum builder fee before your application can collect fees. This is a security measure to prevent unauthorized fee collection.
Seven projects are already building on Decibel with Builder Codes. Some bring new ways to trade: Copin lets you discover and copy top perp traders, Samosa puts perps in Telegram, and PulseTrader delivers backtested quant signals you can execute in one click. Others extend what’s possible: Panora aggregates liquidity across Aptos, RNDM deploys AI agents that run autonomous DeFi strategies, Moar provides up to 15x composable leverage, and Tapp adds programmable hooks to the trading stack. See the full ecosystem spotlight for details.
Before users can pay builder fees, they need to approve a maximum builder fee amount. This is a one-time approval that allows your application to collect fees up to the approved limit:
await dex.approveMaxBuilderFee({ builderAddr: builderAddress, // Builder's address (64 characters, padded with zeros) maxFee: maxBuilderFeeBps, // Maximum fee in basis points (e.g., 10 = 0.1%)});
Parameters:
builderAddr: The address of the builder that should receive the fee. Must be a 64-character hex string (pad with leading zeros after 0x).
maxFee: The maximum fee in basis points (1 basis point = 0.01%). For example:
1 = 0.01%
5 = 0.05%
10 = 0.1%
10 bps (0.1%) is the protocol-wide maximum builder fee. Approvals above the global cap are rejected on-chain, so maxFee: 100 aborts rather than approving 1%.
Approval is required first: Users must approve the maximum builder fee (Step 1) before you can use builder codes in transactions (Step 2)
Fee limits: The builderFee in Step 2 cannot exceed the maxFee approved in Step 1, and no approval can exceed the protocol-wide cap of 10 bps (0.1%)
Users can revoke: A user can revoke your approval at any time with revokeMaxBuilderFee. Orders already queued are re-validated rather than aborted, and the effective fee is always the lesser of the approved maximum and the fee on the order
Spot has its own registry: Spot builder codes are approved separately with approveMaxSpotBuilderFee (and revoked with revokeMaxSpotBuilderFee). Unlike perps, the spot builder address may be a subaccount or a primary wallet. Spot builder fees are deducted from the settlement asset alongside the protocol fee
Address format: Builder addresses must be 64 characters (pad with leading zeros after 0x)
Fee calculation: Builder fees are added to the user’s transaction fees
Payment: Builder fees are paid in the same token as the transaction fees
Optional: If no builder address is specified, no builder fee is collected
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Decibel","colors":{"primary":"#FFBE0B","light":"#FFBE0B","dark":"#bf8e06"},"logo":{"light":"https://mintcdn.com/aptoslabs/v1mrvWAEF-j2Vo20/logo/fullmark_black.png?fit=max\u0026auto=format\u0026n=v1mrvWAEF-j2Vo20\u0026q=85\u0026s=8606664ecd7f84268c69aaeee50e6b4d","dark":"https://mintcdn.com/aptoslabs/v1mrvWAEF-j2Vo20/logo/fullmark_white.png?fit=max\u0026auto=format\u0026n=v1mrvWAEF-j2Vo20\u0026q=85\u0026s=d075df97c850a126ba8a120405120167"},"favicon":"https://mintcdn.com/aptoslabs/v1mrvWAEF-j2Vo20/favicon.ico?fit=max\u0026auto=format\u0026n=v1mrvWAEF-j2Vo20\u0026q=85\u0026s=b2f8f37db1b7d8632d17ad0ca8065eda","navbar":{"links":[{"href":"https://docs.decibel.trade/llms.txt","label":"LLMs.txt"},{"href":"https://discord.gg/decibel","label":"Support"}]},"footer":{"socials":{"x":"https://x.com/DecibelTrade"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"aptoslabs","hasAudioNarration":false,"actualSubdomain":"aptoslabs","customDomains":["docs.decibel.trade"],"gitSource":{"type":"github","owner":"aptos-labs","repo":"etna","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aeb7d10e86c6660dbb63bef","collectionId":"bccaa31a-4e02-4ccf-a419-3d3b81ee13d4","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aeb7d10e86c6660dbb63bef"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aeb7d10e86c6660dbb63bef","clientVersion":"0.0.4064","searchFilterCounts":[{"language":"default","tag":"API: REST","count":84},{"language":"default","tag":"Developer Hub","count":53},{"language":"default","tag":"API: WebSocket","count":20},{"language":"default","tag":"For Traders","count":18},{"language":"default","tag":"Websockets","count":18},{"language":"default","tag":"Referrals","count":15},{"language":"default","tag":"Market Data","count":13},{"language":"default","tag":"On-Chain: Order Management","count":11},{"language":"default","tag":"Account","count":9},{"language":"default","tag":"Rewards Programs","count":8}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"quickstart/builder-codes","slug":"/quickstart/builder-codes","pageMetadata":{"title":"Builder Codes","description":"Learn about Decibel's technical architecture and how builders can leverage the platform","href":"/quickstart/builder-codes"},"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: \"Learn about Decibel’s technical architecture and how builders can leverage the platform\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Tip,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Builder codes allow you to earn fees when users execute transactions through your application. When placing orders or executing other transactions, you can specify a builder address and fee to receive a portion of the transaction fees.`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`User Approval Required:`}),` Users must approve the maximum builder fee before your application can collect fees. This is a security measure to prevent unauthorized fee collection.`]})}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Seven projects are already building on Decibel with Builder Codes. Some bring new ways to trade: Copin lets you discover and copy top perp traders, Samosa puts perps in Telegram, and PulseTrader delivers backtested quant signals you can execute in one click. Others extend what’s possible: Panora aggregates liquidity across Aptos, RNDM deploys AI agents that run autonomous DeFi strategies, Moar provides up to 15x composable leverage, and Tapp adds programmable hooks to the trading stack. See the `,_jsx(_components.a,{href:`https://aptosnetwork.com/currents/decibel-builder-codes-opening-up-the-onchain-trading-engine`,children:`full ecosystem spotlight`}),` for details.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`step-1-approve-maximum-builder-fee`,children:`Step 1: Approve Maximum Builder Fee`}),`\n`,_jsx(_components.p,{children:`Before users can pay builder fees, they need to approve a maximum builder fee amount. This is a one-time approval that allows your application to collect fees up to the approved limit:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` dex`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`approveMaxBuilderFee`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` builderAddr:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` builderAddress`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Builder's address (64 characters, padded with zeros)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` maxFee:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` maxBuilderFeeBps`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Maximum fee in basis points (e.g., 10 = 0.1%)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Parameters:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`builderAddr`})}),`: The address of the builder that should receive the fee. Must be a 64-character hex string (pad with leading zeros after `,_jsx(_components.code,{children:`0x`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`maxFee`})}),`: The maximum fee in basis points (1 basis point = 0.01%). For example:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`1`}),` = 0.01%`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`5`}),` = 0.05%`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`10`}),` = 0.1%`]}),`\n`]}),`\n`]}),`\n`]}),`\n`,_jsxs(Warning,{children:[_jsx(_components.strong,{children:`10 bps (0.1%) is the protocol-wide maximum builder fee.`}),` Approvals above the global cap are rejected on-chain, so `,_jsx(_components.code,{children:`maxFee: 100`}),` aborts rather than approving 1%.`]}),`\n`,_jsx(Heading,{level:`3`,id:`step-2-place-order-with-builder-codes`,children:`Step 2: Place Order with Builder Codes`}),`\n`,_jsx(_components.p,{children:`Once the builder fee is approved, you can place orders with builder codes:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`11`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` orderResult`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` dex`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`placeOrder`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` marketName:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"APT/USD\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` price:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 300000000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` size:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1000000000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` isBuy:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` timeInForce:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` TimeInForce`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`ImmediateOrCancel`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` isReduceOnly:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Builder code parameters`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` builderAddr:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` builderAddress`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Same address from Step 1`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` builderFee:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` maxBuilderFeeBps`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Must be \u003c= maxFee from Step 1`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Builder Code Parameters:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`builderAddr`})}),` (optional): The address of the builder that should receive the fee. Must match the address approved in Step 1.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`builderFee`})}),` (optional): The fee amount in basis points. Must be less than or equal to the `,_jsx(_components.code,{children:`maxFee`}),` approved in Step 1.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`important-notes`,children:`Important Notes`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Approval is required first`}),`: Users must approve the maximum builder fee (Step 1) before you can use builder codes in transactions (Step 2)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Fee limits`}),`: The `,_jsx(_components.code,{children:`builderFee`}),` in Step 2 cannot exceed the `,_jsx(_components.code,{children:`maxFee`}),` approved in Step 1, and no approval can exceed the protocol-wide cap of 10 bps (0.1%)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Users can revoke`}),`: A user can revoke your approval at any time with `,_jsx(_components.code,{children:`revokeMaxBuilderFee`}),`. Orders already queued are re-validated rather than aborted, and the effective fee is always the lesser of the approved maximum and the fee on the order`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Spot has its own registry`}),`: Spot builder codes are approved separately with `,_jsx(_components.code,{children:`approveMaxSpotBuilderFee`}),` (and revoked with `,_jsx(_components.code,{children:`revokeMaxSpotBuilderFee`}),`). Unlike perps, the spot builder address may be a subaccount or a primary wallet. Spot builder fees are deducted from the settlement asset alongside the protocol fee`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Address format`}),`: Builder addresses must be 64 characters (pad with leading zeros after `,_jsx(_components.code,{children:`0x`}),`)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Fee calculation`}),`: Builder fees are added to the user’s transaction fees`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Payment`}),`: Builder fees are paid in the same token as the transaction fees`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Optional`}),`: If no builder address is specified, no builder fee is collected`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`example-placing-an-order-with-builder-codes`,children:`Example: Placing an Order with Builder Codes`}),`\n`,_jsx(_components.p,{children:`Here’s the complete flow for using builder codes when placing an order using the TypeScript SDK:`}),`\n`,_jsxs(`video`,{width:`100%`,height:`auto`,controls:true,children:[_jsx(`source`,{src:`https://res.cloudinary.com/drdkyf1hg/video/upload/v1764935197/builder_codes_feat_kent_white_bvrlfp.mp4`,type:`video/mp4`}),_jsx(_components.p,{children:`Your browser does not support the video tag.`})]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`48`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`48`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` DecibelWriteDex`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` DecibelReadDex`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` TESTNET_CONFIG`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` TimeInForce`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`} `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"@decibeltrade/sdk\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Ed25519Account`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Ed25519PrivateKey`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"@aptos-labs/ts-sdk\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Setup account from private key`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` privateKeyHex`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` process`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`env`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`PRIVATE_KEY`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` user`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` Ed25519Account`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` privateKey:`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` Ed25519PrivateKey`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`privateKeyHex`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`!`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Initialize DEX clients`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` dex`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` DecibelWriteDex`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`TESTNET_CONFIG`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`user`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` skipSimulate:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` readDex`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` DecibelReadDex`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`TESTNET_CONFIG`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Aptos addresses must be 64 characters (pad with leading zeros after 0x)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` builderAddress`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"0x0000000000000000000000008c967e73e7b15087c42a10d344cff4c96d877f1d\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` maxBuilderFeeBps`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 10`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`; `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// 10 basis points = 0.1%`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Step 1: Approve builder fee`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` dex`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`approveMaxBuilderFee`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` builderAddr:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` builderAddress`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` maxFee:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` maxBuilderFeeBps`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`console`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`log`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\n`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`Builder fee approved...\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Step 2: Place a market order with builder fee`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`console`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`log`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\n`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`Placing order with builder fee...\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` orderResult`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` dex`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`placeOrder`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` marketName:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"APT/USD\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` price:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 300000000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// 3 USD`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` size:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1000000000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// 1000 APT`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` isBuy:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` timeInForce:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` TimeInForce`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`ImmediateOrCancel`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Market order`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` isReduceOnly:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` builderAddr:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` builderAddress`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` builderFee:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` maxBuilderFeeBps`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`orderResult`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`success`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` console`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`log`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\"`Order placed! Transaction: \"}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#569CD6`},children:\"${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`orderResult`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`transactionHash`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\"`\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`For more details on builder fees, see the `,_jsx(_components.a,{href:`/developer-hub/on-chain/builder-fee/approve-max-builder-fee`,children:`Builder Fee Transaction Guides`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`resources`,children:`Resources`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/typescript-sdk/overview`,children:`TypeScript SDK Documentation`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/api-reference/rest/overview`,children:`REST API Reference`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/api-reference/websocket/overview`,children:`WebSocket API Reference`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/developer-hub/on-chain/overview/index`,children:`Transaction Guides`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/developer-hub/on-chain/builder-fee/approve-max-builder-fee`,children:`Builder Fee Guides`})}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Builder Codes","description":"Learn about Decibel's technical architecture and how builders can leverage the platform","href":"/quickstart/builder-codes"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Step 1: Approve Maximum Builder Fee","slug":"step-1-approve-maximum-builder-fee","depth":3,"children":[]},{"title":"Step 2: Place Order with Builder Codes","slug":"step-2-place-order-with-builder-codes","depth":3,"children":[]},{"title":"Important Notes","slug":"important-notes","depth":3,"children":[]},{"title":"Example: Placing an Order with Builder Codes","slug":"example-placing-an-order-with-builder-codes","depth":3,"children":[]},{"title":"Resources","slug":"resources","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"aptoslabs","siteName":"Decibel","title":"Builder Codes - Decibel","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-04T19:31:46.440Z","originalFileLocation":"quickstart/builder-codes.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=\"Learn about Decibel\u0026#x27;s technical architecture and how builders can leverage the platform\">\u003cmeta data-mint-head name=\"application-name\" content=\"Decibel\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/aptoslabs/1QPxIzCJI3K0dNyA/_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/aptoslabs/1QPxIzCJI3K0dNyA/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/aptoslabs/1QPxIzCJI3K0dNyA/_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/aptoslabs/1QPxIzCJI3K0dNyA/_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/aptoslabs/1QPxIzCJI3K0dNyA/_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/aptoslabs/1QPxIzCJI3K0dNyA/_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/aptoslabs/1QPxIzCJI3K0dNyA/_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/aptoslabs/1QPxIzCJI3K0dNyA/_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/aptoslabs/1QPxIzCJI3K0dNyA/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Builder Codes - Decibel\">\u003cmeta data-mint-head property=\"og:description\" content=\"Learn about Decibel\u0026#x27;s technical architecture and how builders can leverage the platform\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Decibel\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.decibel.trade/quickstart/builder-codes\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://aptoslabs.mintlify.app/_mintlify/api/og/v2?division=Guides\u0026amp;title=Builder+Codes\u0026amp;description=Learn+about+Decibel%27s+technical+architecture+and+how+builders+can+leverage+the+platform\u0026amp;theme=2487a7442155a5ba82df3db5\u0026amp;signature=93b934c14d9d46865ec3ba5f512c6347e9a333f2566670a477616b49f8baa654\">\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=\"Builder Codes - Decibel\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Learn about Decibel\u0026#x27;s technical architecture and how builders can leverage the platform\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://aptoslabs.mintlify.app/_mintlify/api/og/v2?division=Guides\u0026amp;title=Builder+Codes\u0026amp;description=Learn+about+Decibel%27s+technical+architecture+and+how+builders+can+leverage+the+platform\u0026amp;theme=2487a7442155a5ba82df3db5\u0026amp;signature=93b934c14d9d46865ec3ba5f512c6347e9a333f2566670a477616b49f8baa654\">\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/aptoslabs/1QPxIzCJI3K0dNyA/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Decibel\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FFBE0B\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.decibel.trade/quickstart/builder-codes\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/quickstart/builder-codes.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.decibel.trade/#organization\",\"name\":\"Decibel\",\"url\":\"https://docs.decibel.trade\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/aptoslabs/v1mrvWAEF-j2Vo20/logo/fullmark_black.png?fit=max\u0026auto=format\u0026n=v1mrvWAEF-j2Vo20\u0026q=85\u0026s=8606664ecd7f84268c69aaeee50e6b4d\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.decibel.trade#website\",\"name\":\"Decibel\",\"url\":\"https://docs.decibel.trade\",\"publisher\":{\"@id\":\"https://docs.decibel.trade/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.decibel.trade/quickstart/builder-codes#webpage\",\"url\":\"https://docs.decibel.trade/quickstart/builder-codes\",\"name\":\"Builder Codes\",\"description\":\"Learn about Decibel's technical architecture and how builders can leverage the platform\",\"dateModified\":\"2026-09-04T19:31:46.440Z\",\"isPartOf\":{\"@id\":\"https://docs.decibel.trade#website\"},\"breadcrumb\":{\"@id\":\"https://docs.decibel.trade/quickstart/builder-codes#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.decibel.trade/quickstart/builder-codes#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Guides\",\"item\":\"https://docs.decibel.trade/quickstart/market-data\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Builder Codes\",\"item\":\"https://docs.decibel.trade/quickstart/builder-codes\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.decibel.trade/quickstart/builder-codes#article\",\"headline\":\"Builder Codes\",\"name\":\"Builder Codes\",\"description\":\"Learn about Decibel's technical architecture and how builders can leverage the platform\",\"url\":\"https://docs.decibel.trade/quickstart/builder-codes\",\"mainEntityOfPage\":{\"@id\":\"https://docs.decibel.trade/quickstart/builder-codes#webpage\"},\"dateModified\":\"2026-09-04T19:31:46.440Z\",\"publisher\":{\"@id\":\"https://docs.decibel.trade/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.decibel.trade#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Decibel\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Decibel","nav":{"global":null,"tabs":[{"tab":"Home","pages":[{"title":"Home","href":""}]},{"tab":"For Traders","pages":[{"title":"For Traders","href":"/for-traders/overview"}]},{"tab":"Developer Hub","groups":[{"group":"Quick Start","pages":[{"title":"Developer Hub","href":"/developer-hub/overview"},{"title":"Core Concepts","href":"/quickstart/concepts"},{"title":"TypeScript Starter Kit","href":"/quickstart/typescript-starter-kit"},{"title":"Client API Key Setup","href":"/quickstart/node-api-key"},{"title":"Placing Your First Order","href":"/quickstart/placing-your-first-order"}]},{"group":"Guides","pages":[{"title":"Market Data","href":"/quickstart/market-data"},{"title":"Authenticated Requests","href":"/quickstart/authenticated-requests"},{"title":"Vault Integration Guide","href":"/developer-hub/guides/vaults"},{"title":"Bulk Orders","description":"Efficient order management for market makers","href":"/developer-hub/guides/bulk-orders"},{"title":"Builder Codes","href":"/quickstart/builder-codes"}]},{"group":"TypeScript SDK","pages":[{"title":"TypeScript SDK Overview","description":"Decibel TypeScript SDK for reading market data and submitting transactions on Aptos","href":"/typescript-sdk/overview"},{"title":"Installation","href":"/typescript-sdk/installation"},{"title":"Configuration","href":"/typescript-sdk/configuration"},{"title":"Read SDK","href":"/typescript-sdk/read-sdk"},{"title":"Write SDK","href":"/typescript-sdk/write-sdk"},{"title":"Error responses","href":"/typescript-sdk/error-responses"},{"title":"Advanced","href":"/typescript-sdk/advanced"}]},{"group":"CLI","pages":[{"title":"CLI Overview","href":"/cli/overview"},{"title":"Installation","href":"/cli/installation"},{"title":"Configuration","href":"/cli/configuration"},{"title":"Command Reference","href":"/cli/reference"}]},{"group":"On-Chain: Reference","pages":[{"title":"On-Chain Reference","href":"/developer-hub/on-chain/overview/index"},{"title":"Contract Addresses \u0026 Helpers","href":"/developer-hub/on-chain/overview/contract-reference"},{"title":"Optimized Transaction Building","mode":"wide","href":"/developer-hub/on-chain/overview/optimized-building"},{"title":"Formatting Prices and Sizes for Orders","mode":"wide","href":"/developer-hub/on-chain/overview/formatting-prices-sizes"},{"title":"Market Parameters","href":"/developer-hub/on-chain/overview/market-parameters"}]},{"group":"On-Chain: Account Management","pages":[{"title":"Create Trading Account","mode":"wide","href":"/developer-hub/on-chain/account-management/create-subaccount"},{"title":"Delegate Trading To","mode":"wide","href":"/developer-hub/on-chain/account-management/delegate-trading"},{"title":"Revoke Delegation","mode":"wide","href":"/developer-hub/on-chain/account-management/revoke-delegation"},{"title":"Deposit to Trading Account","mode":"wide","href":"/developer-hub/on-chain/account-management/deposit"},{"title":"Withdraw from Trading Account","mode":"wide","href":"/developer-hub/on-chain/account-management/withdraw"}]},{"group":"On-Chain: Order Management","pages":[{"title":"Place Order","mode":"wide","href":"/developer-hub/on-chain/order-management/place-order"},{"title":"Cancel Order","mode":"wide","href":"/developer-hub/on-chain/order-management/cancel-order"},{"title":"Cancel Client Order","mode":"wide","href":"/developer-hub/on-chain/order-management/cancel-client-order"},{"title":"Place TWAP Order","mode":"wide","href":"/developer-hub/on-chain/order-management/place-twap-order"},{"title":"Cancel TWAP Order","mode":"wide","href":"/developer-hub/on-chain/order-management/cancel-twap-order"},{"title":"Place Bulk Order","mode":"wide","href":"/developer-hub/on-chain/order-management/place-bulk-order"},{"title":"Cancel Bulk Order","mode":"wide","href":"/developer-hub/on-chain/order-management/cancel-bulk-order"},{"title":"Place Spot Order","mode":"wide","href":"/developer-hub/on-chain/order-management/place-spot-order"},{"title":"Cancel Spot Order","mode":"wide","href":"/developer-hub/on-chain/order-management/cancel-spot-order"},{"title":"Place Spot Bulk Order","mode":"wide","href":"/developer-hub/on-chain/order-management/place-spot-bulk-order"},{"title":"Cancel Spot Bulk Order","mode":"wide","href":"/developer-hub/on-chain/order-management/cancel-spot-bulk-order"}]},{"group":"On-Chain: Position Management","pages":[{"title":"Place TP/SL Order for Position","mode":"wide","href":"/developer-hub/on-chain/position-management/place-tp-sl-order"},{"title":"Update TP Order for Position","mode":"wide","href":"/developer-hub/on-chain/position-management/update-tp-order"},{"title":"Update SL Order for Position","mode":"wide","href":"/developer-hub/on-chain/position-management/update-sl-order"},{"title":"Cancel TP/SL Order for Position","mode":"wide","href":"/developer-hub/on-chain/position-management/cancel-tp-sl-order"}]},{"group":"On-Chain: Builder Fee","pages":[{"title":"Approve Max Builder Fee","mode":"wide","href":"/developer-hub/on-chain/builder-fee/approve-max-builder-fee"},{"title":"Revoke Max Builder Fee","mode":"wide","href":"/developer-hub/on-chain/builder-fee/revoke-max-builder-fee"}]},{"group":"On-Chain: Vault Transactions","pages":[{"title":"Create and Fund Vault","mode":"wide","href":"/developer-hub/on-chain/vault/create-and-fund"},{"title":"Activate Vault","mode":"wide","href":"/developer-hub/on-chain/vault/activate"},{"title":"Contribute to Vault","mode":"wide","href":"/developer-hub/on-chain/vault/contribute"},{"title":"Redeem from Vault","mode":"wide","href":"/developer-hub/on-chain/vault/redeem"},{"title":"Delegate DEX Actions To","mode":"wide","href":"/developer-hub/on-chain/vault/delegate-dex-actions"}]}]},{"tab":"API: REST","pages":[{"title":"API: REST","href":"/api-reference/rest/overview"}]},{"tab":"API: WebSocket","pages":[{"title":"API: WebSocket","href":"/api-reference/websocket/overview"}]},{"tab":"Agents","pages":[{"title":"Agents","href":"/agents/llms-txt"}]},{"tab":"Security","pages":[{"title":"Security","href":"/security/audits"}]}]},"basePath":"","title":"Builder Codes - Decibel","buildId":"dpl_2gSLkbMoF5kkLsBqYzq9KWtDyJRo","deploymentId":"dpl_2gSLkbMoF5kkLsBqYzq9KWtDyJRo","dynamics":[],"chunks":[]}