For a purps.lol coin that was launched without a strategy: the message the creator wallet signs to attach one now. Attaching routes the whole creator fee into it. Not possible for launches from before September 2026, whose fee vault is owned by the creator’s wallet on chain. The config is the short form ({ preset, markets }) or the full config; it’s validated here and a malformed one is a 400 that says which field is wrong. The message carries a sets: line with the strategy in words (fee split, what profits do, take-profit and dip-buy rules, markets) next to its hash. A short form is expanded first, so the words and the hash describe the full strategy it becomes.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"PURPS API","description":"Everything purps.lol can do, as JSON. No signup, no API key from us.","colors":{"primary":"#3A49B8","light":"#4757CC","dark":"#3A49B8"},"logo":{"light":"https://mintcdn.com/purp/-N_uFz0qN2utvXEe/logo/light.svg?fit=max\u0026auto=format\u0026n=-N_uFz0qN2utvXEe\u0026q=85\u0026s=75b29cbe72c25a0015688d26e165660b","dark":"https://mintcdn.com/purp/-N_uFz0qN2utvXEe/logo/dark.svg?fit=max\u0026auto=format\u0026n=-N_uFz0qN2utvXEe\u0026q=85\u0026s=bf404567f1e242313ac8c8b92904f8ab","href":"https://purps.lol"},"favicon":"https://mintcdn.com/purp/TSg6G_rOooQDaevZ/favicon.svg?fit=max\u0026auto=format\u0026n=TSg6G_rOooQDaevZ\u0026q=85\u0026s=3e1ffbc5f4caf4e680241a0b97c77bc2","appearance":{"default":"dark","strict":false},"background":{"color":{"light":"#F2F1EF","dark":"#0E0F1A"}},"navbar":{"links":[{"href":"https://purps.lol","label":"purps.lol"}],"primary":{"type":"button","label":"Create a coin","href":"https://purps.lol/create"}},"footer":{"socials":{"x":"https://x.com/buypurps","telegram":"https://t.me/buypurps"}},"fonts":{"family":"Geist"},"icons":{"library":"lucide"},"styling":{"codeblocks":"system","latex":false},"navigation":{"global":{"anchors":[{"anchor":"purps.lol","icon":"globe","href":"https://purps.lol"},{"anchor":"llms.txt","icon":"bot","href":"https://purps.lol/llms.txt"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"purp","hasAudioNarration":false,"actualSubdomain":"purp","customDomains":["docs.purps.lol"],"gitSource":{"type":"github","owner":"will8bit","repo":"purps-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6aba67e46006b83dea4c4805","collectionId":"a1c695a6-e009-488d-aa78-0fc4b9cab646","liveDeploymentHistoryId":"6aba67e46006b83dea4c4805","schemaVersion":"v3"},"entitlements":{},"buildId":"6aba67e46006b83dea4c4805","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"API reference","count":28},{"language":"default","tag":"Guides","count":10},{"language":"default","tag":"Launch on Pons","count":6},{"language":"default","tag":"Coins","count":5},{"language":"default","tag":"Start here","count":4},{"language":"default","tag":"Launch","count":4},{"language":"default","tag":"Creator authority","count":4},{"language":"default","tag":"Launch on pump.fun","count":4},{"language":"default","tag":"Before you launch","count":3},{"language":"default","tag":"After launch","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","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":"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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"api-reference/manage-a-coin/prepare-a-strategy","slug":"/api-reference/manage-a-coin/prepare-a-strategy","pageMetadata":{"title":"Prepare a strategy","description":"For a purps.lol coin that was launched without a strategy: the message the creator wallet signs to attach one now. Attaching routes the whole creator fee into it. Not possible for launches from before September 2026, whose fee vault is owned by the creator's wallet on chain. The `config` is the short form (`{ preset, markets }`) or the full config; it's validated here and a malformed one is a 400 that says which field is wrong. The message carries a `sets:` line with the strategy in words (fee split, what profits do, take-profit and dip-buy rules, markets) next to its hash. A short form is expanded first, so the words and the hash describe the full strategy it becomes.","deprecated":null,"version":null,"openapi":"/openapi.json post /coins/{mint}/strategy/prepare","href":"/api-reference/manage-a-coin/prepare-a-strategy","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"For a purps.lol coin that was launched without a strategy: the message the creator wallet signs to attach one now. Attaching routes the whole creator fee into it. Not possible for launches from before September 2026, whose fee vault is owned by the creator’s wallet on chain. The \", _jsx(_components.code, {\n children: \"config\"\n }), \" is the short form (\", _jsx(_components.code, {\n children: \"{ preset, markets }\"\n }), \") or the full config; it’s validated here and a malformed one is a 400 that says which field is wrong. The message carries a \", _jsx(_components.code, {\n children: \"sets:\"\n }), \" line with the strategy in words (fee split, what profits do, take-profit and dip-buy rules, markets) next to its hash. A short form is expanded first, so the words and the hash describe the full strategy it becomes.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Prepare a strategy","description":"For a purps.lol coin that was launched without a strategy: the message the creator wallet signs to attach one now. Attaching routes the whole creator fee into it. Not possible for launches from before September 2026, whose fee vault is owned by the creator's wallet on chain. The `config` is the short form (`{ preset, markets }`) or the full config; it's validated here and a malformed one is a 400 that says which field is wrong. The message carries a `sets:` line with the strategy in words (fee split, what profits do, take-profit and dip-buy rules, markets) next to its hash. A short form is expanded first, so the words and the hash describe the full strategy it becomes.","deprecated":null,"version":null,"openapi":"/openapi.json post /coins/{mint}/strategy/prepare","href":"/api-reference/manage-a-coin/prepare-a-strategy","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Manage a coin"],"operationId":"prepareStrategy","summary":"Prepare a strategy","description":"For a purps.lol coin that was launched without a strategy: the message the creator wallet signs to attach one now. Attaching routes the whole creator fee into it. Not possible for launches from before September 2026, whose fee vault is owned by the creator's wallet on chain. The `config` is the short form (`{ preset, markets }`) or the full config; it's validated here and a malformed one is a 400 that says which field is wrong. The message carries a `sets:` line with the strategy in words (fee split, what profits do, take-profit and dip-buy rules, markets) next to its hash. A short form is expanded first, so the words and the hash describe the full strategy it becomes.","parameters":["46908195-e96a-4994-9022-f1aff8338d1e"],"requestBody":"0d6bb634-aa14-4f48-a086-56a146c51921","x-rate-limit":"30 a minute","x-cache":"none","x-flow":"manage","x-example":"/coins/{mint}/strategy/prepare","responses":{"200":"5dc3814d-45e5-4b01-a841-25389b2c4cb8","400":"523a0088-83c7-4e0d-a80c-07b205311fb7","429":"90d4e046-ffaf-42de-a494-8ce99b5603b0"},"method":"post","type":"path","servers":["4d1e1a5c-b518-42e8-8ec2-fdd7d18e0027"],"security":[],"path":"/coins/{mint}/strategy/prepare","baseUrlOptions":["https://purps.lol/api/v2"],"title":"Prepare a strategy","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"46908195-e96a-4994-9022-f1aff8338d1e":{"name":"mint","in":"path","required":true,"description":"The token's mint address (Solana) or contract address (Robinhood Chain).","schema":{"type":"string","isRequired":true,"description":"The token's mint address (Solana) or contract address (Robinhood Chain).","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"config":{"oneOf":[{"type":"object","description":"The strategy to attach: the short form (`{ preset, markets }`) or the full config.","required":true,"properties":{"preset":{"type":"string","description":"`steady`, `balanced` or `degen` set the fee split, the take-profit and dip-buy rules and each leg's reserve mode (none for `degen`, defensive otherwise), exactly as /launch-options lists them. `airdrop` is the coin with no perps: every fee goes to the buyback and is paid to holders.","enum":["steady","balanced","degen","airdrop"],"required":true,"uniqueKey":"config.oneOf.0.preset","typeLabel":"enum\u003cstring>"},"markets":{"type":"array","items":{"type":"string","uniqueKey":"config.oneOf.0.markets.items.[INDEX]","typeLabel":"string"},"description":"The simplest form: market names from /markets, up to 10, each once. Every leg is long at 2x with the weight split evenly. For a short, or a different leverage, send `legs` instead of this; for uneven weights, your own fee split or a take-profit, send the full Strategy. The `airdrop` preset takes neither.","uniqueKey":"config.oneOf.0.markets","typeLabel":"string[]"},"legs":{"type":"array","items":{"type":"object","uniqueKey":"config.oneOf.0.legs.items.[INDEX]","typeLabel":"object"},"description":"Instead of `markets`, to set a side or a leverage per market: `[{ market, direction?, leverage? }]`. `direction` is `long` (default) or `short`; `leverage` a whole number from 1 to 100 (default 2), within the market's cap on /markets. Leave a field out to take its default. Weights are still split evenly; for uneven weights send the full Strategy.","uniqueKey":"config.oneOf.0.legs","typeLabel":"object[]"},"rewardMode":{"type":"string","description":"What profits do: `burn` (the default), `holders` pays the coin itself, `backed` pays `payoutMint`. Defaults to `backed` when `payoutMint` is given. The `airdrop` preset is `holders`, or `backed` with a `payoutMint`; it cannot burn.","enum":["burn","holders","backed"],"uniqueKey":"config.oneOf.0.rewardMode","typeLabel":"enum\u003cstring>"},"payoutMint":{"oneOf":[{"type":"string","description":"The asset holders are paid in, for `backed`; the same rules as the full form's `payoutMint`. Naming it makes the mode `backed` unless `rewardMode` says otherwise.","uniqueKey":"config.oneOf.0.payoutMint.oneOf.0","typeLabel":"string"},{"type":"null","description":"The asset holders are paid in, for `backed`; the same rules as the full form's `payoutMint`. Naming it makes the mode `backed` unless `rewardMode` says otherwise.","uniqueKey":"config.oneOf.0.payoutMint.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.0.payoutMint","typeLabel":"string | null"},"payoutMintsExtra":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"config.oneOf.0.payoutMintsExtra.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Up to four more payout assets for a paying coin, as in the full form.","uniqueKey":"config.oneOf.0.payoutMintsExtra.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"description":"Up to four more payout assets for a paying coin, as in the full form.","uniqueKey":"config.oneOf.0.payoutMintsExtra.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.0.payoutMintsExtra","typeLabel":"string[] | null"},"ownerControls":{"type":"boolean","description":"Creator authority from launch, as in the full form.","uniqueKey":"config.oneOf.0.ownerControls","typeLabel":"boolean"}},"uniqueKey":"config.oneOf.0","typeLabel":"object"},{"type":"object","description":"The strategy to attach: the short form (`{ preset, markets }`) or the full config.","required":true,"properties":{"splitBuybackBps":{"type":"integer","description":"Share of each fee that buys the coin back.","required":true,"uniqueKey":"config.oneOf.1.splitBuybackBps","typeLabel":"integer"},"splitMarginBps":{"type":"integer","description":"Share sent to the perp exchange as margin.","required":true,"uniqueKey":"config.oneOf.1.splitMarginBps","typeLabel":"integer"},"splitReserveBps":{"type":"integer","description":"Share kept as a reserve that backs the positions.","required":true,"uniqueKey":"config.oneOf.1.splitReserveBps","typeLabel":"integer"},"perpLegs":{"type":"array","description":"The positions to hold: `{ market, direction, leverage, weightBps, reserveMode }`. `market` from /markets, `leverage` a whole number within its cap, weights summing to 10000, `reserveMode` `defensive` or `none` (use the preset's `legReserveMode`); optional `takeProfitPct` and `stopLossPct` (percent, shown in the signed words when set) and `reserveTranches`. Empty means no perps, in which case margin and reserve must be 0.","items":{"type":"object","uniqueKey":"config.oneOf.1.perpLegs.items.[INDEX]","typeLabel":"object"},"required":true,"uniqueKey":"config.oneOf.1.perpLegs","typeLabel":"object[]"},"rewardMode":{"type":"string","description":"What profits do: `burn` (default), `holders` pays the coin itself, `backed` pays `payoutMint`. Paying coins need `holderPayoutsEnabled` in /launch-options.","enum":["burn","holders","backed"],"uniqueKey":"config.oneOf.1.rewardMode","typeLabel":"enum\u003cstring>"},"payoutMint":{"oneOf":[{"type":"string","description":"`backed` only: the asset holders are paid in. On Solana, a mint from /launch-options `payoutAssets` or any Solana mint with a real market. On Robinhood Chain, a `0x` token address that passes the depth check: one of the launchpad's `payoutAssets`, or any token /pons/assets/{address} reports as payable. ETH itself cannot be a payout asset there.","uniqueKey":"config.oneOf.1.payoutMint.oneOf.0","typeLabel":"string"},{"type":"null","description":"`backed` only: the asset holders are paid in. On Solana, a mint from /launch-options `payoutAssets` or any Solana mint with a real market. On Robinhood Chain, a `0x` token address that passes the depth check: one of the launchpad's `payoutAssets`, or any token /pons/assets/{address} reports as payable. ETH itself cannot be a payout asset there.","uniqueKey":"config.oneOf.1.payoutMint.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.1.payoutMint","typeLabel":"string | null"},"payoutMintsExtra":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"config.oneOf.1.payoutMintsExtra.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Further payout assets for any paying coin, up to four beyond the first; every buyback splits evenly across all of them and holders receive each. Same rules per asset as `payoutMint`.","uniqueKey":"config.oneOf.1.payoutMintsExtra.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"description":"Further payout assets for any paying coin, up to four beyond the first; every buyback splits evenly across all of them and holders receive each. Same rules per asset as `payoutMint`.","uniqueKey":"config.oneOf.1.payoutMintsExtra.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.1.payoutMintsExtra","typeLabel":"string[] | null"},"payoutMint2":{"oneOf":[{"type":"string","description":"Older form of `payoutMintsExtra` with one asset; still accepted.","uniqueKey":"config.oneOf.1.payoutMint2.oneOf.0","typeLabel":"string"},{"type":"null","description":"Older form of `payoutMintsExtra` with one asset; still accepted.","uniqueKey":"config.oneOf.1.payoutMint2.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.1.payoutMint2","typeLabel":"string | null"},"strategy":{"oneOf":[{"type":"object","description":"The trading rules: `{ preset, tpTriggerPct, tpSlicePct, rungCount, rungMode }`. Take a preset's `config.strategy` from /launch-options, or set your own.","uniqueKey":"config.oneOf.1.strategy.oneOf.0","typeLabel":"object"},{"type":"null","description":"The trading rules: `{ preset, tpTriggerPct, tpSlicePct, rungCount, rungMode }`. Take a preset's `config.strategy` from /launch-options, or set your own.","uniqueKey":"config.oneOf.1.strategy.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.1.strategy","typeLabel":"object | null"},"ownerControls":{"type":"boolean","description":"Creator authority from launch: the creator can steer the coin from its page or through /coins/{mint}/authority, every move signed and shown to holders. Off unless set; honoured only while the platform has creator authority open (see `openToPublic` on /coins/{mint}/authority). It is part of the signed words when set.","uniqueKey":"config.oneOf.1.ownerControls","typeLabel":"boolean"}},"uniqueKey":"config.oneOf.1","typeLabel":"object"}],"uniqueKey":"config","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"config":{"markets":["\u003cstring>"],"legs":[{}],"payoutMint":"\u003cstring>","payoutMintsExtra":["\u003cstring>"],"ownerControls":true}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"5dc3814d-45e5-4b01-a841-25389b2c4cb8":{"description":"What to sign.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true],"uniqueKey":"ok","typeLabel":"enum\u003cboolean>"},"data":{"type":"object","properties":{"ts":{"type":"integer","description":"Unix seconds. Send it back unchanged with the signature.","uniqueKey":"data.ts","typeLabel":"integer"},"message":{"type":"string","description":"The exact text to sign. Sign the UTF-8 bytes as they are: no prefix, no hashing on Solana; `personal_sign` on Robinhood Chain.","uniqueKey":"data.message","typeLabel":"string"},"expiresInSeconds":{"type":"integer","description":"How long the signature stays valid. 300.","uniqueKey":"data.expiresInSeconds","typeLabel":"integer"},"hash":{"type":"string","description":"Pons launch prepare only: the hash of the launch terms and, when one is sent, the config, as embedded in the message. For your records.","uniqueKey":"data.hash","typeLabel":"string"},"configHash":{"type":"string","description":"Strategy and Pons register prepare only: the hash of `config` as embedded in the message. It is over the full config: a short form is expanded first, and expands the same way at submit.","uniqueKey":"data.configHash","typeLabel":"string"}},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"ok":true,"data":{"ts":123,"message":"\u003cstring>","expiresInSeconds":123,"hash":"\u003cstring>","configHash":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"523a0088-83c7-4e0d-a80c-07b205311fb7":{"description":"Every failure carries the same envelope.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","description":"Always false on a failure.","uniqueKey":"ok","typeLabel":"boolean"},"error":{"type":"string","description":"A short reason in plain words: `coin not found`, `too many requests`, `invalid wallet signature`. For people; the wording may change. Branch on `code`.","uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"The fixed word to branch on. `invalid_request` (400) something in the request is wrong; `unauthorized` (401) a signature, timestamp or nonce failed; `forbidden` (403) the wallet may not do this or the feature is closed; `blocked` (403) this address is blocked; `not_found` (404); `conflict` (409) the action does not fit the state; `gone` (410) an old v1 write address; `payload_too_large` (413); `refused` (422) a strategy or money check said no; `frozen` (423) creator authority is frozen; `rate_limited` (429); `expired` (400) a relayed transaction's blockhash aged out, rebuild and sign again; `rejected` (400) the chain refused a relayed transaction; `helius_key_required` (401) this call runs on your own Helius key and none was sent; `helius_key_rejected` (401) Helius refused the key you sent; `internal` (500); `unavailable` (503) something we depend on is down; `paused` (503) the whole API is switched off for a while.","enum":["invalid_request","unauthorized","forbidden","blocked","not_found","conflict","gone","payload_too_large","refused","frozen","rate_limited","expired","rejected","helius_key_required","helius_key_rejected","internal","unavailable","paused"],"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"retryable":{"type":"boolean","description":"True when the same request may succeed later without any change: rate limits, our own failures, a paused API.","uniqueKey":"retryable","typeLabel":"boolean"},"retryAfterSeconds":{"type":"integer","description":"On a per-minute rate limit or a pause: how long to wait. The same figure as the Retry-After header.","uniqueKey":"retryAfterSeconds","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"ok":true,"error":"\u003cstring>","code":"invalid_request","retryable":true,"retryAfterSeconds":123}}},"exampleType":"generated"}},"exampleType":"generated"},"90d4e046-ffaf-42de-a494-8ce99b5603b0":{"description":"Every failure carries the same envelope.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","description":"Always false on a failure.","uniqueKey":"ok","typeLabel":"boolean"},"error":{"type":"string","description":"A short reason in plain words: `coin not found`, `too many requests`, `invalid wallet signature`. For people; the wording may change. Branch on `code`.","uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"The fixed word to branch on. `invalid_request` (400) something in the request is wrong; `unauthorized` (401) a signature, timestamp or nonce failed; `forbidden` (403) the wallet may not do this or the feature is closed; `blocked` (403) this address is blocked; `not_found` (404); `conflict` (409) the action does not fit the state; `gone` (410) an old v1 write address; `payload_too_large` (413); `refused` (422) a strategy or money check said no; `frozen` (423) creator authority is frozen; `rate_limited` (429); `expired` (400) a relayed transaction's blockhash aged out, rebuild and sign again; `rejected` (400) the chain refused a relayed transaction; `helius_key_required` (401) this call runs on your own Helius key and none was sent; `helius_key_rejected` (401) Helius refused the key you sent; `internal` (500); `unavailable` (503) something we depend on is down; `paused` (503) the whole API is switched off for a while.","enum":["invalid_request","unauthorized","forbidden","blocked","not_found","conflict","gone","payload_too_large","refused","frozen","rate_limited","expired","rejected","helius_key_required","helius_key_rejected","internal","unavailable","paused"],"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"retryable":{"type":"boolean","description":"True when the same request may succeed later without any change: rate limits, our own failures, a paused API.","uniqueKey":"retryable","typeLabel":"boolean"},"retryAfterSeconds":{"type":"integer","description":"On a per-minute rate limit or a pause: how long to wait. The same figure as the Retry-After header.","uniqueKey":"retryAfterSeconds","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"ok":true,"error":"\u003cstring>","code":"invalid_request","retryable":true,"retryAfterSeconds":123}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{},"servers":{"4d1e1a5c-b518-42e8-8ec2-fdd7d18e0027":{"url":"https://purps.lol/api/v2"}}},"originalFileLocation":"openapi.json"},"subdomain":"purp","siteName":"PURPS API","title":"Prepare a strategy - PURPS API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-28T13:13:13.234Z","originalFileLocation":"api-reference/manage-a-coin/prepare-a-strategy.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"For a purps.lol coin that was launched without a strategy: the message the creator wallet signs to attach one now. Attaching routes the whole creator fee into it. Not possible for launches from before September 2026, whose fee vault is owned by the creator\u0026#x27;s wallet on chain. The config is the short form ({ preset, markets }) or the full config; it\u0026#x27;s validated here and a malformed one is a 400 that says which field is wrong. The message carries a sets: line with the strategy in words (fee split, what profits do, take-profit and dip-buy rules, markets) next to its hash. A short form is expanded first, so the words and the hash describe the full strategy it becomes.\">\u003cmeta data-mint-head name=\"application-name\" content=\"PURPS API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/purp/MiDdXJzgaAdddi-F/_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/purp/MiDdXJzgaAdddi-F/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/purp/MiDdXJzgaAdddi-F/_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/purp/MiDdXJzgaAdddi-F/_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/purp/MiDdXJzgaAdddi-F/_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/purp/MiDdXJzgaAdddi-F/_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/purp/MiDdXJzgaAdddi-F/_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/purp/MiDdXJzgaAdddi-F/_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/purp/MiDdXJzgaAdddi-F/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Prepare a strategy - PURPS API\">\u003cmeta data-mint-head property=\"og:description\" content=\"For a purps.lol coin that was launched without a strategy: the message the creator wallet signs to attach one now. Attaching routes the whole creator fee into it. Not possible for launches from before September 2026, whose fee vault is owned by the creator\u0026#x27;s wallet on chain. The config is the short form ({ preset, markets }) or the full config; it\u0026#x27;s validated here and a malformed one is a 400 that says which field is wrong. The message carries a sets: line with the strategy in words (fee split, what profits do, take-profit and dip-buy rules, markets) next to its hash. A short form is expanded first, so the words and the hash describe the full strategy it becomes.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"PURPS API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.purps.lol/api-reference/manage-a-coin/prepare-a-strategy\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://purp.mintlify.app/_mintlify/api/og/v2?division=Manage+a+coin\u0026amp;title=Prepare+a+strategy\u0026amp;description=For+a+purps.lol+coin+that+was+launched+without+a+strategy%3A+the+message+the+creator+wallet+signs+to+attach+one+now.+Attaching+routes+the+whole+creator+fee+into+i\u0026amp;theme=7c74560e82591d1ea97ea5ba\u0026amp;signature=4776c3ef434df08ddf8502c415acd112cc3f4ea49866676c6ad70d9aeaf5ec4e\">\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=\"Prepare a strategy - PURPS API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"For a purps.lol coin that was launched without a strategy: the message the creator wallet signs to attach one now. Attaching routes the whole creator fee into it. Not possible for launches from before September 2026, whose fee vault is owned by the creator\u0026#x27;s wallet on chain. The config is the short form ({ preset, markets }) or the full config; it\u0026#x27;s validated here and a malformed one is a 400 that says which field is wrong. The message carries a sets: line with the strategy in words (fee split, what profits do, take-profit and dip-buy rules, markets) next to its hash. A short form is expanded first, so the words and the hash describe the full strategy it becomes.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://purp.mintlify.app/_mintlify/api/og/v2?division=Manage+a+coin\u0026amp;title=Prepare+a+strategy\u0026amp;description=For+a+purps.lol+coin+that+was+launched+without+a+strategy%3A+the+message+the+creator+wallet+signs+to+attach+one+now.+Attaching+routes+the+whole+creator+fee+into+i\u0026amp;theme=7c74560e82591d1ea97ea5ba\u0026amp;signature=4776c3ef434df08ddf8502c415acd112cc3f4ea49866676c6ad70d9aeaf5ec4e\">\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/purp/MiDdXJzgaAdddi-F/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"PURPS API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3A49B8\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.purps.lol/api-reference/manage-a-coin/prepare-a-strategy\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/manage-a-coin/prepare-a-strategy.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.purps.lol/#organization\",\"name\":\"PURPS API\",\"url\":\"https://docs.purps.lol\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/purp/-N_uFz0qN2utvXEe/logo/light.svg?fit=max\u0026auto=format\u0026n=-N_uFz0qN2utvXEe\u0026q=85\u0026s=75b29cbe72c25a0015688d26e165660b\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.purps.lol#website\",\"name\":\"PURPS API\",\"url\":\"https://docs.purps.lol\",\"publisher\":{\"@id\":\"https://docs.purps.lol/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.purps.lol/api-reference/manage-a-coin/prepare-a-strategy#webpage\",\"url\":\"https://docs.purps.lol/api-reference/manage-a-coin/prepare-a-strategy\",\"name\":\"Prepare a strategy\",\"description\":\"For a purps.lol coin that was launched without a strategy: the message the creator wallet signs to attach one now. Attaching routes the whole creator fee into it. Not possible for launches from before September 2026, whose fee vault is owned by the creator's wallet on chain. The config is the short form ({ preset, markets }) or the full config; it's validated here and a malformed one is a 400 that says which field is wrong. The message carries a sets: line with the strategy in words (fee split, what profits do, take-profit and dip-buy rules, markets) next to its hash. A short form is expanded first, so the words and the hash describe the full strategy it becomes.\",\"dateModified\":\"2026-09-28T13:13:13.234Z\",\"isPartOf\":{\"@id\":\"https://docs.purps.lol#website\"},\"breadcrumb\":{\"@id\":\"https://docs.purps.lol/api-reference/manage-a-coin/prepare-a-strategy#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.purps.lol/api-reference/manage-a-coin/prepare-a-strategy#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"PURPS API\",\"item\":\"https://docs.purps.lol\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Prepare a strategy\",\"item\":\"https://docs.purps.lol/api-reference/manage-a-coin/prepare-a-strategy\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.purps.lol/api-reference/manage-a-coin/prepare-a-strategy#apireference\",\"headline\":\"Prepare a strategy\",\"name\":\"Prepare a strategy\",\"description\":\"For a purps.lol coin that was launched without a strategy: the message the creator wallet signs to attach one now. Attaching routes the whole creator fee into it. Not possible for launches from before September 2026, whose fee vault is owned by the creator's wallet on chain. The config is the short form ({ preset, markets }) or the full config; it's validated here and a malformed one is a 400 that says which field is wrong. The message carries a sets: line with the strategy in words (fee split, what profits do, take-profit and dip-buy rules, markets) next to its hash. A short form is expanded first, so the words and the hash describe the full strategy it becomes.\",\"url\":\"https://docs.purps.lol/api-reference/manage-a-coin/prepare-a-strategy\",\"mainEntityOfPage\":{\"@id\":\"https://docs.purps.lol/api-reference/manage-a-coin/prepare-a-strategy#webpage\"},\"dateModified\":\"2026-09-28T13:13:13.234Z\",\"publisher\":{\"@id\":\"https://docs.purps.lol/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.purps.lol#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"PURPS API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"PURPS API","nav":{"global":{"anchors":[{"anchor":"purps.lol","icon":"globe","href":"https://purps.lol"},{"anchor":"llms.txt","icon":"bot","href":"https://purps.lol/llms.txt"}]},"tabs":[{"tab":"Guides","icon":"book-open","pages":[{"title":"Guides","href":""}]},{"tab":"API reference","icon":"code","groups":[{"group":"Coins","icon":"coins","pages":[{"title":"List coins","deprecated":null,"version":null,"openapi":"/openapi.json get /coins","href":"/api-reference/coins/list-coins"},{"title":"One coin","deprecated":null,"version":null,"openapi":"/openapi.json get /coins/{mint}","href":"/api-reference/coins/one-coin"},{"title":"Flat index","deprecated":null,"version":null,"openapi":"/openapi.json get /index","href":"/api-reference/coins/flat-index"},{"title":"Search","deprecated":null,"version":null,"openapi":"/openapi.json get /search","href":"/api-reference/coins/search"},{"title":"Coins launched on purps.lol","deprecated":null,"version":null,"openapi":"/openapi.json get /launches","href":"/api-reference/coins/coins-launched-on-purpslol"}]},{"group":"Before you launch","icon":"list-checks","pages":[{"title":"Launch options","deprecated":null,"version":null,"openapi":"/openapi.json get /launch-options","href":"/api-reference/launch-on-purpslol/launch-options"},{"title":"Launch pairs","deprecated":null,"version":null,"openapi":"/openapi.json get /pairs","href":"/api-reference/coins/launch-pairs"},{"title":"Perp markets","deprecated":null,"version":null,"openapi":"/openapi.json get /markets","href":"/api-reference/coins/perp-markets"}]},{"group":"Launch on purps.lol","icon":"https://mintlify.s3.us-west-1.amazonaws.com/purp/icons/purps.svg","pages":[{"title":"Build a purps.lol launch","deprecated":null,"version":null,"openapi":"/openapi.json post /launches","href":"/api-reference/launch-on-purpslol/build-a-purpslol-launch"},{"title":"Launch status","deprecated":null,"version":null,"openapi":"/openapi.json get /launches/{mint}","href":"/api-reference/launch-on-purpslol/launch-status"}]},{"group":"Launch on pump.fun","icon":"https://mintlify.s3.us-west-1.amazonaws.com/purp/icons/pumpfun.svg","pages":[{"title":"Build a pump.fun launch","deprecated":null,"version":null,"openapi":"/openapi.json post /pumpfun/launches","href":"/api-reference/launch-on-pumpfun/build-a-pumpfun-launch"},{"title":"Check a pump.fun coin","deprecated":null,"version":null,"openapi":"/openapi.json get /redirects/{mint}","href":"/api-reference/redirect-a-pumpfun-coin/check-a-pumpfun-coin"},{"title":"Lock fee routing","deprecated":null,"version":null,"openapi":"/openapi.json post /pumpfun/fees","href":"/api-reference/launch-on-pumpfun/lock-fee-routing"},{"title":"Register the strategy","deprecated":null,"version":null,"openapi":"/openapi.json post /redirects","href":"/api-reference/redirect-a-pumpfun-coin/register-the-strategy"}]},{"group":"Launch on Pons","icon":"https://mintlify.s3.us-west-1.amazonaws.com/purp/icons/pons.svg","pages":[{"title":"Prepare a Pons launch","deprecated":null,"version":null,"openapi":"/openapi.json post /pons/launches/prepare","href":"/api-reference/launch-on-pons/prepare-a-pons-launch"},{"title":"Build the Pons launch","deprecated":null,"version":null,"openapi":"/openapi.json post /pons/launches/submit","href":"/api-reference/launch-on-pons/build-the-pons-launch"},{"title":"Find a Pons launch","deprecated":null,"version":null,"openapi":"/openapi.json get /pons/launches/{ref}","href":"/api-reference/launch-on-pons/find-a-pons-launch"},{"title":"Check a Pons payout asset","deprecated":null,"version":null,"openapi":"/openapi.json get /pons/assets/{address}","href":"/api-reference/launch-on-pons/check-a-pons-payout-asset"},{"title":"Prepare the registration","deprecated":null,"version":null,"openapi":"/openapi.json post /pons/register/prepare","href":"/api-reference/launch-on-pons/prepare-the-registration"},{"title":"Register the strategy","deprecated":null,"version":null,"openapi":"/openapi.json post /pons/register/submit","href":"/api-reference/launch-on-pons/register-the-strategy"}]},{"group":"Send a transaction","icon":"send","pages":[{"title":"Send a signed transaction","deprecated":null,"version":null,"openapi":"/openapi.json post /transactions/send","href":"/api-reference/transactions/send-a-signed-transaction"},{"title":"Transaction status","description":"Whether a Solana transaction has confirmed or failed on chain: one you relayed through us, or one you sent yourself. Cached 2 seconds at the edge: polling faster returns the same answer, and repeats inside the window don't count against your limit.","deprecated":null,"version":null,"openapi":"/openapi.json get /transactions/{signature}","href":"/api-reference/transactions/transaction-status"}]},{"group":"Manage a coin","icon":"sliders-horizontal","pages":[{"title":"Prepare a strategy","deprecated":null,"version":null,"openapi":"/openapi.json post /coins/{mint}/strategy/prepare","href":"/api-reference/manage-a-coin/prepare-a-strategy"},{"title":"Attach the strategy","description":"Register the strategy against the launch. Send the same `config` prepare received, in the same form; a short form expands the same way both times, so the hash matches. A coin's strategy is set once.","deprecated":null,"version":null,"openapi":"/openapi.json post /coins/{mint}/strategy/submit","href":"/api-reference/manage-a-coin/attach-the-strategy"}]},{"group":"Creator authority","icon":"shield-check","pages":[{"title":"Where creator authority stands","deprecated":null,"version":null,"openapi":"/openapi.json get /coins/{mint}/authority","href":"/api-reference/creator-authority/where-creator-authority-stands"},{"title":"The Changes log","deprecated":null,"version":null,"openapi":"/openapi.json get /coins/{mint}/changes","href":"/api-reference/creator-authority/the-changes-log"},{"title":"Prepare a change","deprecated":null,"version":null,"openapi":"/openapi.json post /coins/{mint}/authority/prepare","href":"/api-reference/creator-authority/prepare-a-change"},{"title":"Submit the signed change","deprecated":null,"version":null,"openapi":"/openapi.json post /coins/{mint}/authority/submit","href":"/api-reference/creator-authority/submit-the-signed-change"}]}]}]},"title":"Prepare a strategy - PURPS API","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-rfhihCWU.js","utils-BmH1XFxk.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BcNsxPKB.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BAES3tkd.js","snippetPresets-DCMQBKLP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D6l_bzE9.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BOktbnNh.js","shallow-BCs8SgM7.js","getApiPlaygroundDisplay-DEmW5bJB.js","CodeSnippet-CpZOpB9C.js","CodeSnippets-BOBDqibl.js","Page-D5fEM6aW.js","getPastedJson-DH2JBvmr.js","icon-BBJH-kKh.js","MethodPill-D2Sd5NLC.js","DuplicateIcon-CGgfL2qN.js","createIcon-BKudBBzi.js","DynamicMarkdown-85clUA0i.js","SectionHeading-D0JiMgDx.js","axios-vUo_bRtp.js","Markdown-Cfiy0xZO.js","clsx-rL8ZCCw4.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-aeztFa9U.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BywkCr5C.js"]}