Preview direct curve trades and route post-bond quotes through the exact launch pool.
An execution quote answers “how many tokens or quote units will this call return?” USD valuation is a separate display layer and must not block a direct on-chain quote.
If refund is nonzero, execution consumes only cost and returns the rest. A buy can sell the final curve inventory and finalize in the same transaction.
The return amounts use the launch’s quote denomination. The buybackFee field name is historical; the current Ink deployment routes that share to holders.
Current hooks expose previewFill(launchId) for the exact external input needed to sell the remaining curve supply. It returns fee, user, buyback/holder-allocation, and refund fields in one struct.Use it only after resolving a compatible hookAbi. Older deployment families do not expose every current view selector.
The deprecated Ink hook has a separate legacy viewer path. Resolve the token’s deployment first and use an ABI/viewer compatible with that deployment. Do not call the current Ink viewer with old state merely because both contracts are on chain.
Once getLaunchState(launchId).finalized is true, curve previews no longer describe the executable market. Corrected native hooks and current xStocks hooks expose the exact pool key:
function getLaunchPoolKey(uint256 launchId) external view returns (PoolKey memory key);
Then quote through the canonicalV4.quoter from that deployment’s capabilities.The deprecated Ink deployment marked hookAbi: "ink-legacy" does not expose this getter. For those tokens, require all immutable indexed pool fields from GET /api/token, validate them, and derive the pool ID. See Post-Bond Pool. Never guess missing legacy values.
Do not assume the pool is token/WETH. Current native Ink launches use native ETH as the zero-address currency. xStocks pools use their wrapper.
ETH-to-wrapper, stablecoin-to-wrapper, and reverse paths need executable liquidity outside the launch curve. An indicative stock price or USD mark is not an executable route.Keep direct native or wrapper quotes available when an external provider fails. InkyPump’s market-route endpoint is currently a first-party service; third parties should not depend on it without an agreed origin and service policy.
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"InkySwap","colors":{"primary":"#0D9373","light":"#07C983","dark":"#0D9373"},"favicon":"https://mintcdn.com/inkyswap/iq7n24R4ym2vRD6R/favicon.svg?fit=max\u0026auto=format\u0026n=iq7n24R4ym2vRD6R\u0026q=85\u0026s=52d9c9b4a5c47b3b48938c611c49f6a0","logo":{"light":"https://mintcdn.com/inkyswap/iq7n24R4ym2vRD6R/logo/light.svg?fit=max\u0026auto=format\u0026n=iq7n24R4ym2vRD6R\u0026q=85\u0026s=95ea893cff123ff392b7bdc167657f4a","dark":"https://mintcdn.com/inkyswap/iq7n24R4ym2vRD6R/logo/dark.svg?fit=max\u0026auto=format\u0026n=iq7n24R4ym2vRD6R\u0026q=85\u0026s=a5004cb87612830a4cdb9621aa30e50d"},"api":{"playground":{"display":"simple"},"mdx":{"server":"https://inkypump.com"}},"navbar":{"links":[{"label":"Support","href":"https://t.me/inkyswap"}],"primary":{"type":"button","label":"Open InkyPump","href":"https://inkypump.com/ink"}},"footer":{"socials":{"website":"https://inkypump.com/ink","x":"https://x.com/InkySwap","telegram":"https://t.me/inkyswap"}},"integrations":{"plausible":{"domain":"inkyswap.com"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"InkyPump","href":"https://inkypump.com/ink","icon":"store"},{"anchor":"InkySwap","href":"https://inkyswap.com/#/swap","icon":"repeat"},{"anchor":"Telegram","href":"https://t.me/inkyswap","icon":"telegram"},{"anchor":"Twitter","href":"https://x.com/inkyswap","icon":"twitter"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"inkyswap","hasAudioNarration":false,"actualSubdomain":"inkyswap","customDomains":["docs.inkyswap.com"],"gitSource":{"type":"github","owner":"inkyswap","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6ab1647b70c73563d758348c","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"API Reference","count":26},{"language":"default","tag":"Token Creation","count":16},{"language":"default","tag":"Trading","count":14},{"language":"default","tag":"InkyPump API","count":11},{"language":"default","tag":"Launchpad Integrations","count":10},{"language":"default","tag":"Company","count":8},{"language":"default","tag":"Legacy (V1)","count":8},{"language":"default","tag":"InkyPump Contracts","count":6},{"language":"default","tag":"API Documentation","count":5},{"language":"default","tag":"Rewards \u0026 Referrals","count":4}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/contracts/quotes","slug":"/api-reference/contracts/quotes","pageMetadata":{"title":"Quotes","description":"Preview direct curve trades and route post-bond quotes through the exact launch pool.","href":"/api-reference/contracts/quotes"},"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: \"Preview direct curve trades and route post-bond quotes through the exact launch pool.\"\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`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,..._provideComponents(),...props.components},{CodeBlock,Heading,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`An execution quote answers “how many tokens or quote units will this call return?” USD valuation is a separate display layer and must not block a direct on-chain quote.`}),`\n`,_jsx(Heading,{level:`2`,id:`pre-bond-buy`,children:`Pre-bond buy`}),`\n`,_jsx(_components.p,{children:`On current deployments, call the launch’s own hook:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`solidity`,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:`solidity`,children:_jsxs(_components.code,{language:`solidity`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`function`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` previewBuy`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`uint256`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` launchId`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`uint256`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` quoteIn`}),_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:` external`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` view`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` returns`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` uint256`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` tokensOut`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` uint256`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` cost`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` uint256`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` refund`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` uint256`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` tokensRemaining`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` );`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`For a native launch, `,_jsx(_components.code,{children:`quoteIn`}),`, `,_jsx(_components.code,{children:`cost`}),`, and `,_jsx(_components.code,{children:`refund`}),` are native wei. For an xStocks launch, they are wrapper units.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`9`,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:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`tokensOut`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`cost`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`refund`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`tokensRemaining`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`] `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`})]}),`\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:` publicClient`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`readContract`}),_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:` address:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` token`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`hook_address`}),_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:` abi:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` HOOK_READ_ABI`}),_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:` functionName:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"previewBuy\"`}),_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:` args:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`BigInt`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`token`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`launch_id`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`), `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`quoteIn`}),_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\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` minTokensOut`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`tokensOut`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` *`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 9_900`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`n`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`/`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 10_000`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`n`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // 1% slippage`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`If `,_jsx(_components.code,{children:`refund`}),` is nonzero, execution consumes only `,_jsx(_components.code,{children:`cost`}),` and returns the rest. A buy can sell the final curve inventory and finalize in the same transaction.`]}),`\n`,_jsx(Heading,{level:`2`,id:`pre-bond-sell`,children:`Pre-bond sell`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`solidity`,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:`solidity`,children:_jsxs(_components.code,{language:`solidity`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`function`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` previewSell`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`uint256`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` launchId`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`uint128`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` tokenAmount`}),_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:` external`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` view`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` returns`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` uint256`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` netPayout`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` uint256`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` protocolFee`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` uint256`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` creatorFee`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` uint256`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` buybackFee`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` );`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`The return amounts use the launch’s quote denomination. The `,_jsx(_components.code,{children:`buybackFee`}),` field name is historical; the current Ink deployment routes that share to holders.`]}),`\n`,_jsx(Heading,{level:`2`,id:`full-fill-preview`,children:`Full-fill preview`}),`\n`,_jsxs(_components.p,{children:[`Current hooks expose `,_jsx(_components.code,{children:`previewFill(launchId)`}),` for the exact external input needed to sell the remaining curve supply. It returns fee, user, buyback/holder-allocation, and refund fields in one struct.`]}),`\n`,_jsxs(_components.p,{children:[`Use it only after resolving a compatible `,_jsx(_components.code,{children:`hookAbi`}),`. Older deployment families do not expose every current view selector.`]}),`\n`,_jsx(Heading,{level:`2`,id:`sale-split-before-launch`,children:`Sale split before launch`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`solidity`,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:`solidity`,children:_jsxs(_components.code,{language:`solidity`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`function`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` previewSaleSplit`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`uint96`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` targetRaise`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`uint32`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` gainBps`}),_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:` external`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` view`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` returns`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` uint128`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` saleSupply`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` uint128`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` liquiditySupply`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` uint16`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` salePortionBps`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` uint256`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` marginalPrice`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` uint256`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` poolPrice`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` );`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Call this on the active hook or its configured viewer path. For xStocks, both price outputs use wrapper units.`}),`\n`,_jsx(Heading,{level:`2`,id:`historical-ink-previews`,children:`Historical Ink previews`}),`\n`,_jsx(_components.p,{children:`The deprecated Ink hook has a separate legacy viewer path. Resolve the token’s deployment first and use an ABI/viewer compatible with that deployment. Do not call the current Ink viewer with old state merely because both contracts are on chain.`}),`\n`,_jsx(Heading,{level:`2`,id:`post-bond-quote`,children:`Post-bond quote`}),`\n`,_jsxs(_components.p,{children:[`Once `,_jsx(_components.code,{children:`getLaunchState(launchId).finalized`}),` is true, curve previews no longer describe the executable market. Corrected native hooks and current xStocks hooks expose the exact pool key:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`solidity`,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:`solidity`,children:_jsxs(_components.code,{language:`solidity`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`function`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` getLaunchPoolKey`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`uint256`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` launchId`}),_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:` external`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` view`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` returns`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`PoolKey`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` memory`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` key`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Then quote through the `,_jsx(_components.code,{children:`canonicalV4.quoter`}),` from that deployment’s capabilities.`]}),`\n`,_jsxs(_components.p,{children:[`The deprecated Ink deployment marked `,_jsx(_components.code,{children:`hookAbi: \"ink-legacy\"`}),` does not expose this getter. For those tokens, require all immutable indexed pool fields from `,_jsx(_components.code,{children:`GET /api/token`}),`, validate them, and derive the pool ID. See `,_jsx(_components.a,{href:`/trading/post-bond-pool`,children:`Post-Bond Pool`}),`. Never guess missing legacy values.`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Do not assume the pool is token/WETH. Current native Ink launches use native ETH as the zero-address currency. xStocks pools use their wrapper.`})}),`\n`,_jsx(Heading,{level:`2`,id:`quote-checks-before-signing`,children:`Quote checks before signing`}),`\n`,_jsx(_components.p,{children:`For every trade:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Confirm chain, hook, launch ID, and lifecycle.`}),`\n`,_jsx(_components.li,{children:`Confirm the input asset and its decimals.`}),`\n`,_jsx(_components.li,{children:`Read or build the quote at a recent block.`}),`\n`,_jsx(_components.li,{children:`Compute the minimum output with integer math.`}),`\n`,_jsx(_components.li,{children:`Simulate the exact call with the current account and allowance.`}),`\n`,_jsx(_components.li,{children:`Requote after an account, chain, block, amount, or route change.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`external-asset-conversions`,children:`External asset conversions`}),`\n`,_jsx(_components.p,{children:`ETH-to-wrapper, stablecoin-to-wrapper, and reverse paths need executable liquidity outside the launch curve. An indicative stock price or USD mark is not an executable route.`}),`\n`,_jsx(_components.p,{children:`Keep direct native or wrapper quotes available when an external provider fails. InkyPump’s market-route endpoint is currently a first-party service; third parties should not depend on it without an agreed origin and service policy.`})]})}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":"Quotes","description":"Preview direct curve trades and route post-bond quotes through the exact launch pool.","href":"/api-reference/contracts/quotes"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Pre-bond buy","slug":"pre-bond-buy","depth":2,"children":[]},{"title":"Pre-bond sell","slug":"pre-bond-sell","depth":2,"children":[]},{"title":"Full-fill preview","slug":"full-fill-preview","depth":2,"children":[]},{"title":"Sale split before launch","slug":"sale-split-before-launch","depth":2,"children":[]},{"title":"Historical Ink previews","slug":"historical-ink-previews","depth":2,"children":[]},{"title":"Post-bond quote","slug":"post-bond-quote","depth":2,"children":[]},{"title":"Quote checks before signing","slug":"quote-checks-before-signing","depth":2,"children":[]},{"title":"External asset conversions","slug":"external-asset-conversions","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"inkyswap","siteName":"InkySwap","title":"Quotes - InkySwap","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-21T16:59:08.726Z","originalFileLocation":"api-reference/contracts/quotes.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=\"Preview direct curve trades and route post-bond quotes through the exact launch pool.\">\u003cmeta data-mint-head name=\"application-name\" content=\"InkySwap\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/inkyswap/YiF6cSACnrjAZvCG/_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/inkyswap/YiF6cSACnrjAZvCG/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/inkyswap/YiF6cSACnrjAZvCG/_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/inkyswap/YiF6cSACnrjAZvCG/_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/inkyswap/YiF6cSACnrjAZvCG/_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/inkyswap/YiF6cSACnrjAZvCG/_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/inkyswap/YiF6cSACnrjAZvCG/_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/inkyswap/YiF6cSACnrjAZvCG/_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/inkyswap/YiF6cSACnrjAZvCG/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Quotes - InkySwap\">\u003cmeta data-mint-head property=\"og:description\" content=\"Preview direct curve trades and route post-bond quotes through the exact launch pool.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"InkySwap\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.inkyswap.com/api-reference/contracts/quotes\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://inkyswap.mintlify.site/_mintlify/api/og/v2?division=InkyPump+Contracts\u0026amp;title=Quotes\u0026amp;description=Preview+direct+curve+trades+and+route+post-bond+quotes+through+the+exact+launch+pool.\u0026amp;theme=4ffad7a4e8cb12f25fb46eb5\u0026amp;signature=009b3b9355e3c9ca8850c62e6934451f2559af431486e55ac252af5a129fffe1\">\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=\"Quotes - InkySwap\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Preview direct curve trades and route post-bond quotes through the exact launch pool.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://inkyswap.mintlify.site/_mintlify/api/og/v2?division=InkyPump+Contracts\u0026amp;title=Quotes\u0026amp;description=Preview+direct+curve+trades+and+route+post-bond+quotes+through+the+exact+launch+pool.\u0026amp;theme=4ffad7a4e8cb12f25fb46eb5\u0026amp;signature=009b3b9355e3c9ca8850c62e6934451f2559af431486e55ac252af5a129fffe1\">\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/inkyswap/YiF6cSACnrjAZvCG/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"InkySwap\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0D9373\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.inkyswap.com/api-reference/contracts/quotes\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/contracts/quotes.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.inkyswap.com/#organization\",\"name\":\"InkySwap\",\"url\":\"https://docs.inkyswap.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/inkyswap/iq7n24R4ym2vRD6R/logo/light.svg?fit=max\u0026auto=format\u0026n=iq7n24R4ym2vRD6R\u0026q=85\u0026s=95ea893cff123ff392b7bdc167657f4a\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.inkyswap.com#website\",\"name\":\"InkySwap\",\"url\":\"https://docs.inkyswap.com\",\"publisher\":{\"@id\":\"https://docs.inkyswap.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.inkyswap.com/api-reference/contracts/quotes#webpage\",\"url\":\"https://docs.inkyswap.com/api-reference/contracts/quotes\",\"name\":\"Quotes\",\"description\":\"Preview direct curve trades and route post-bond quotes through the exact launch pool.\",\"dateModified\":\"2026-09-21T16:59:08.726Z\",\"isPartOf\":{\"@id\":\"https://docs.inkyswap.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.inkyswap.com/api-reference/contracts/quotes#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.inkyswap.com/api-reference/contracts/quotes#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"InkyPump Contracts\",\"item\":\"https://docs.inkyswap.com/api-reference/contracts/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Quotes\",\"item\":\"https://docs.inkyswap.com/api-reference/contracts/quotes\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.inkyswap.com/api-reference/contracts/quotes#article\",\"headline\":\"Quotes\",\"name\":\"Quotes\",\"description\":\"Preview direct curve trades and route post-bond quotes through the exact launch pool.\",\"url\":\"https://docs.inkyswap.com/api-reference/contracts/quotes\",\"mainEntityOfPage\":{\"@id\":\"https://docs.inkyswap.com/api-reference/contracts/quotes#webpage\"},\"dateModified\":\"2026-09-21T16:59:08.726Z\",\"publisher\":{\"@id\":\"https://docs.inkyswap.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.inkyswap.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"InkySwap\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"InkySwap","nav":{"global":{"anchors":[{"anchor":"InkyPump","href":"https://inkypump.com/ink","icon":"store"},{"anchor":"InkySwap","href":"https://inkyswap.com/#/swap","icon":"repeat"},{"anchor":"Telegram","href":"https://t.me/inkyswap","icon":"telegram"},{"anchor":"Twitter","href":"https://x.com/inkyswap","icon":"twitter"}]},"tabs":[{"tab":"Getting Started","pages":[{"title":"Getting Started","href":"/getting-started/introduction"}]},{"tab":"Trading","pages":[{"title":"Trading","href":"/trading/getting-started"}]},{"tab":"Token Creation","pages":[{"title":"Token Creation","href":"/token-creation/getting-started"}]},{"tab":"Rewards \u0026 Referrals","pages":[{"title":"Rewards \u0026 Referrals","href":"/rewards/referral"}]},{"tab":"Launchpad Integrations","pages":[{"title":"Launchpad Integrations","href":"/integrations/launchpad-quickstart"}]},{"tab":"API Reference","groups":[{"group":"InkyPump Contracts","pages":[{"title":"Contract Overview","href":"/api-reference/contracts/overview"},{"title":"ABI and Events","href":"/api-reference/contracts/abi"},{"title":"Token Creation","href":"/api-reference/contracts/token-creation"},{"title":"Trading","description":"Route curve and pool trades through the deployment that owns the launch.","href":"/api-reference/contracts/trading"},{"title":"Quotes","href":"/api-reference/contracts/quotes"},{"title":"Integration Guide","description":"Build a deployment-aware InkyPump integration without duplicate launches or wrong-hook routing.","href":"/api-reference/contracts/integration-guide"}]},{"group":"MCP Server","pages":[{"title":"MCP Server","href":"/api-reference/mcp"}]},{"group":"API Documentation","pages":[{"title":"API Overview","href":"/api-reference/overview"},{"title":"API Policies","href":"/api-reference/policies"},{"title":"Capabilities","api":"GET /api/capabilities","href":"/api-reference/inkypump/capabilities"},{"title":"Health and Readiness","api":"GET /api/health/ready","href":"/api-reference/inkypump/health"},{"title":"API Examples","href":"/api-reference/examples"}]},{"group":"InkyPump API","pages":[{"title":"Get Token","api":"GET /api/token","href":"/api-reference/inkypump/get-token"},{"title":"Recent V2 Launches","api":"GET /api/tokens/recent-v2","href":"/api-reference/inkypump/recent-launches"},{"title":"List Tokens","api":"GET /api/tokens","href":"/api-reference/inkypump/list-tokens"},{"title":"Tokens by Owner","api":"GET /api/tokens/by-owner","href":"/api-reference/inkypump/tokens-by-owner"},{"title":"Batch Token Lookup","api":"GET /api/tokens/batch","href":"/api-reference/inkypump/tokens-batch"},{"title":"xStocks Quote Assets","api":"GET /api/xstocks/quote-assets","href":"/api-reference/inkypump/xstocks-quote-assets"},{"title":"Emperor of the INK","api":"GET /api/eoti","href":"/api-reference/inkypump/emperor"},{"title":"Referral APIs","href":"/api-reference/inkypump/referral"},{"title":"Upload Image","api":"POST /api/upload","href":"/api-reference/inkypump/upload-image"},{"title":"Chat Messages","href":"/api-reference/inkypump/chat-messages"},{"title":"Leaderboard","api":"GET /api/leaderboard","href":"/api-reference/inkypump/leaderboard"}]},{"group":"InkySwap API","pages":[{"title":"Get Liquidity Pairs","api":"GET https://inkyswap.com/api/pairs","href":"/api-reference/inkyswap/get-pairs"},{"title":"Get Swap Quote","api":"GET https://inkyswap.com/api/quote","href":"/api-reference/inkyswap/get-quote"},{"title":"Get Token List","api":"GET https://inkyswap.com/api/tokens","href":"/api-reference/inkyswap/get-tokens"}]}]},{"tab":"FAQ","pages":[{"title":"FAQ","href":"/support/faq"}]},{"tab":"Community","pages":[{"title":"Community","href":"/community/resources"}]},{"tab":"Company","pages":[{"title":"Company","href":"/company/about-us"}]},{"tab":"Legacy (V1)","pages":[{"title":"Legacy (V1)","href":"/legacy/overview"}]}]},"basePath":"","title":"Quotes - InkySwap","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":[],"chunks":[]}