The issuer signs a transaction saying “create X tokens and give them to Y address.” Spark Operators verify the signature, confirm it doesn’t exceed max supply, and commit the transaction. New tokens now exist.That’s it. No on-chain transaction. No gas. Instant.
People confuse these.Create registers a new token type. You do this once. You define the name, ticker, decimals, max supply.Mint creates new units of an existing token. You do this whenever you want more tokens in circulation.
If you set a max supply during creation, you can’t mint beyond it. If you didn’t set one, you can mint forever.Most stablecoin issuers mint on-demand: user deposits $100, issuer mints 100 tokens. Supply grows with demand.
By default, minted tokens go to the issuer’s address. You can also mint directly to someone else’s address. Useful for airdrops or when you’re minting in response to a deposit.
Premint everything: Mint total supply upfront, then distribute via transfers. Simple accounting.Mint on demand: Mint as users onboard. Better for stablecoins where supply should match deposits.Batch mint: Send to multiple recipients in one transaction. More efficient.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Spark","colors":{"primary":"#000000","light":"#FFFFFF","dark":"#151515"},"logo":{"light":"https://mintcdn.com/lightspark/uYWAuFR6Cxtb0uSg/images/logo-black.svg?fit=max\u0026auto=format\u0026n=uYWAuFR6Cxtb0uSg\u0026q=85\u0026s=25372f66a4814d6d53c52af40d4721e3","dark":"https://mintcdn.com/lightspark/uYWAuFR6Cxtb0uSg/images/logo-white.svg?fit=max\u0026auto=format\u0026n=uYWAuFR6Cxtb0uSg\u0026q=85\u0026s=7468254a8804b96e77b2bb4a33bbd8d0","href":"https://docs.spark.money"},"favicon":"https://mintcdn.com/lightspark/9Uoevi-SGmZ4_qMo/images/favicon.svg?fit=max\u0026auto=format\u0026n=9Uoevi-SGmZ4_qMo\u0026q=85\u0026s=247876e19fe2aca2e8ff4725910ccda6","api":{},"navbar":{"links":[{"href":"https://www.spark.money/report","label":"Report a bug"},{"href":"https://www.spark.money/contact","label":"Get in touch"}]},"footer":{"socials":{"x":"https://x.com/spark","github":"https://github.com/buildonspark"},"links":[{"header":"Legal","items":[{"label":"Privacy Policy","href":"https://spark.money/privacy"},{"label":"Terms of Service","href":"https://spark.money/terms-of-use"}]}]},"search":{},"seo":{"metatags":{"canonical":"https://docs.spark.money","og:image":"/images/og/og-spark.png","og:site_name":"Spark Documentation","og:locale":"en_US","twitter:site":"@spark","twitter:card":"summary_large_image","robots":"index, follow","language":"en","author":"Spark","category":"Technology","keywords":"bitcoin layer 2, bitcoin l2, self-custody bitcoin, lightning network, bitcoin stablecoin, stablecoin on bitcoin, bitcoin payments, bitcoin wallet sdk, 0-conf deposits, zero confirmation bitcoin, bitcoin scaling, spark protocol, BTKN tokens, bitcoin native tokens"},"indexing":"all"},"integrations":{"ga4":{"measurementId":"G-DZD23R72CM"},"segment":{"key":"jj3Pmdv7apJ7K8KZP0JrLQWhGJrRSPgN"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"lightspark","hasAudioNarration":false,"actualSubdomain":"lightspark","customDomains":["docs.spark.money"],"gitSource":{"type":"github","owner":"buildonspark","repo":"spark-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6abb064378859c2eaac739ec","collectionId":"2cde6498-3e4a-4449-b9a6-faf2d2992c26","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6abb064378859c2eaac739ec"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6abb064378859c2eaac739ec","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"API Reference","count":95},{"language":"default","tag":"Wallets","count":86},{"language":"default","tag":"Issuance","count":29},{"language":"default","tag":"Learn","count":21},{"language":"default","tag":"Advanced","count":20},{"language":"default","tag":"Wallet Viewer","count":15},{"language":"default","tag":"Bitcoin","count":15},{"language":"default","tag":"Tokens","count":14},{"language":"default","tag":"Core operations","count":13},{"language":"default","tag":"Introduction","count":12}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":true,"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}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":":root{--black:#0a0a0a;--white:#fafafa;--blue:#15b9eb;--white-pure:#fff;--green:#00c896;--green-bright:#2adf72;--red:#ff4d4d;--yellow:#f2e863;--orange:#ff8c42;--purple:#fafafa;--white-00:rgba(250, 250, 250, 0);--white-01:rgba(250, 250, 250, 0.01);--white-02:rgba(250, 250, 250, 0.02);--white-04:rgba(250, 250, 250, 0.04);--white-08:rgba(250, 250, 250, 0.08);--white-10:rgba(250, 250, 250, 0.1);--white-20:rgba(250, 250, 250, 0.2);--white-30:rgba(250, 250, 250, 0.3);--white-40:rgba(250, 250, 250, 0.4);--white-50:rgba(250, 250, 250, 0.5);--white-60:rgba(250, 250, 250, 0.6);--white-70:rgba(250, 250, 250, 0.7);--white-80:rgba(250, 250, 250, 0.8);--white-90:rgba(250, 250, 250, 0.9);--black-00:rgba(10, 10, 10, 0);--black-01:rgba(10, 10, 10, 0.01);--black-02:rgba(10, 10, 10, 0.02);--black-04:rgba(10, 10, 10, 0.04);--black-08:rgba(10, 10, 10, 0.08);--black-10:rgba(10, 10, 10, 0.1);--black-20:rgba(10, 10, 10, 0.2);--black-30:rgba(10, 10, 10, 0.3);--black-40:rgba(10, 10, 10, 0.4);--black-50:rgba(10, 10, 10, 0.5);--black-60:rgba(10, 10, 10, 0.6);--black-70:rgba(10, 10, 10, 0.7);--black-80:rgba(10, 10, 10, 0.8);--black-90:rgba(10, 10, 10, 0.9)}:not(code):not(pre):not(code *):not(pre *){font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif!important}.dark article,.dark label,.dark li,.dark p,.dark span,.dark td,.dark th{color:#e5e5e5!important}.prose li,.prose p,article li,article p{font-size:1.0625rem!important;line-height:1.7!important}h4{font-size:1em!important;font-weight:400!important}*{scrollbar-width:none!important;-ms-overflow-style:none!important;-webkit-overflow-scrolling:touch!important}::-webkit-scrollbar{display:none!important}img[src*=\"/icons/icon-activity-lime.svg\"],img[src*=\"/icons/icon-app-brale.svg\"],img[src*=\"/icons/icon-app-sparkscan.svg\"],img[src*=\"/icons/icon-cli-white.svg\"],img[src*=\"/icons/icon-grid-white.svg\"],img[src*=\"/icons/icon-hidden-white.svg\"],img[src*=\"/icons/icon-network-spark.svg\"],img[src*=\"/icons/icon-sign-white.svg\"]{filter:invert(1) brightness(0) saturate(0%)!important}a.bg-primary\\/10 img[src*=\"/icons/icon-activity-lime.svg\"],a.bg-primary\\/10 img[src*=\"/icons/icon-app-brale.svg\"],a.bg-primary\\/10 img[src*=\"/icons/icon-app-sparkscan.svg\"],a.bg-primary\\/10 img[src*=\"/icons/icon-cli-white.svg\"],a.bg-primary\\/10 img[src*=\"/icons/icon-grid-white.svg\"],a.bg-primary\\/10 img[src*=\"/icons/icon-hidden-white.svg\"],a.bg-primary\\/10 img[src*=\"/icons/icon-network-spark.svg\"],a.bg-primary\\/10 img[src*=\"/icons/icon-sign-white.svg\"]{filter:invert(1)!important;opacity:1}.dark img[src*=\"/icons/icon-activity-lime.svg\"],.dark img[src*=\"/icons/icon-app-brale.svg\"],.dark img[src*=\"/icons/icon-app-sparkscan.svg\"],.dark img[src*=\"/icons/icon-cli-white.svg\"],.dark img[src*=\"/icons/icon-grid-white.svg\"],.dark img[src*=\"/icons/icon-hidden-white.svg\"],.dark img[src*=\"/icons/icon-network-spark.svg\"],.dark img[src*=\"/icons/icon-sign-white.svg\"]{filter:invert(0) brightness(100) saturate(0%)!important}.dark a.dark\\:bg-primary-light\\/10 img[src*=\"/icons/icon-activity-lime.svg\"],.dark a.dark\\:bg-primary-light\\/10 img[src*=\"/icons/icon-app-brale.svg\"],.dark a.dark\\:bg-primary-light\\/10 img[src*=\"/icons/icon-app-sparkscan.svg\"],.dark a.dark\\:bg-primary-light\\/10 img[src*=\"/icons/icon-cli-white.svg\"],.dark a.dark\\:bg-primary-light\\/10 img[src*=\"/icons/icon-grid-white.svg\"],.dark a.dark\\:bg-primary-light\\/10 img[src*=\"/icons/icon-hidden-white.svg\"],.dark a.dark\\:bg-primary-light\\/10 img[src*=\"/icons/icon-network-spark.svg\"],.dark a.dark\\:bg-primary-light\\/10 img[src*=\"/icons/icon-sign-white.svg\"]{filter:invert(0)!important;opacity:1}#navigation-items li a,#sidebar-group li button,#sidebar-group li div{background-color:transparent!important;color:var(--black-60)!important;transition:all .2s ease!important}.dark #navigation-items li a,.dark #sidebar-group li button,.dark #sidebar-group li div{background-color:transparent!important;color:var(--white-60)!important;transition:all .2s ease!important}#navigation-items li a:hover,#sidebar-group li button:hover,#sidebar-group li div:hover{background-color:transparent!important;color:var(--black-80)!important}.dark #navigation-items li a:hover,.dark #sidebar-group li button:hover,.dark #sidebar-group li div:hover{background-color:transparent!important;color:var(--white-80)!important}#navigation-items li a.bg-primary\\/10,#sidebar-group li button[aria-expanded=true],#sidebar-group li div[aria-expanded=true]{color:var(--black)!important;font-weight:500!important}.dark #navigation-items li a.dark\\:bg-primary-light\\/10,.dark #sidebar-group li button[aria-expanded=true],.dark #sidebar-group li div[aria-expanded=true]{color:var(--white)!important;font-weight:500!important}#header .eyebrow,li[id=\"https://app.lightspark.com/regtest-faucet\"] svg,li[id=\"https://btkn.info/\"] svg,li[id=\"https://www.sparkscan.io/?network=mainnet\"] svg{display:none!important}.chill{pointer-events:none!important}.grid a[class*=rounded],.not-prose a[class*=block],.not-prose>div>a,.not-prose>div>div>a,[class*=Accordion],[class*=Card_],[class*=Card_card],[class*=CodeBlock],[class*=CodeGroup],[class*=Expandable],[class*=Tab_],[class*=Tabs],[class*=_card],[class*=accordion],[class*=border][class*=rounded],[class*=card_card],[class*=code_],[class*=codeblock],[class*=codegroup],[class*=expandable],[class*=pre_],[class*=rounded-2xl],[class*=rounded-lg],[class*=rounded-xl],[class*=tab_],[class*=tabs],[style*=border-radius],article a[class*=rounded],article div[class*=rounded],code,details,details summary,pre{border-radius:4px!important}.spark-card{background-color:var(--black-02)}.dark .spark-card{background-color:var(--white-02)}.spark-card:hover{background-color:var(--black-04)}.dark .spark-card:hover{background-color:var(--white-04)}.spark-card .icon-light{display:block}.dark .spark-card .icon-light,.spark-card .icon-dark{display:none}.dark .spark-card .icon-dark{display:block}.spark-card .card-description,.spark-card .card-title{color:var(--black);font-size:1rem!important;margin:0!important;padding:0!important}.dark .spark-card .card-title{color:var(--white)}.feature-card h3,.feature-card p,.feature-card span,.spark-card,.spark-card *{border:0!important;border-bottom:none!important}.spark-card .card-description{font-size:.875rem!important;font-weight:400!important;line-height:1.5!important;color:var(--black-50)!important}.dark .spark-card .card-description{color:var(--white-50)!important}.hcard-row,.spark-card .hcard-row{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;gap:1rem!important}.hcard-icon,.spark-card .hcard-icon{flex-shrink:0!important;order:-1!important;width:40px!important;height:40px!important;min-width:40px!important}.hcard-icon img,.spark-card .hcard-icon img{width:100%!important;height:100%!important;margin:0!important}.hcard-text,.spark-card .hcard-text{order:1!important;gap:.5rem!important}.hcard-text,.spark-card .hcard-text,.spark-card .vcard-col{display:flex!important;flex-direction:column!important}.spark-card .vcard-image{width:100%!important;aspect-ratio:16/9!important;position:relative!important}.spark-card .vcard-image img{width:100%!important;height:100%!important;object-fit:cover!important}.spark-card .vcard-content{display:flex!important;flex-direction:column!important;gap:.5rem!important;padding:1.5rem!important}.spark-tabcard-btn,.spark-tabcard-container{background-color:var(--black-02)}.dark .spark-tabcard-btn,.dark .spark-tabcard-container{background-color:var(--white-02)}.spark-tabcard-item-active{background-color:var(--black-04)}.dark .spark-tabcard-item-active{background-color:var(--white-04)}.spark-tabcard-title{color:var(--black)}.dark .spark-tabcard-title{color:var(--white)}.spark-tabcard-desc{color:var(--black-50)}.dark .spark-tabcard-desc{color:var(--white-50)}.spark-tabcard-img-light{display:block}.dark .spark-tabcard-img-light,.spark-tabcard-img-dark{display:none}.dark .spark-tabcard-img-dark{display:block}.spark-method{background-color:var(--black-02);color:var(--black);border-color:var(--black-04)}.dark .spark-method{background-color:var(--white-02);color:var(--white);border-color:var(--white-04)}.spark-button{background-color:var(--black);color:var(--white)!important;border-radius:6px!important}.dark .spark-button,.dark .spark-button *{background-color:var(--white);color:#000!important}.spark-button:hover{background-color:var(--black-50)}.dark .spark-button:hover{background-color:var(--white-50)}.spark-button-outline{background-color:transparent;border:1px solid #e5e7eb;color:#374151!important;border-radius:6px!important}.dark .spark-button-outline{border-color:rgba(255,255,255,.07);color:#d1d5db!important}.spark-button-outline:hover{background-color:var(--black-02)}.dark .spark-button-outline:hover{background-color:var(--white-02)}.spark-videotile-active{background-color:#f3f4f6}.dark .spark-videotile-active{background-color:rgba(255,255,255,.05)}.spark-videotile-title{color:#000}.dark .spark-videotile-title{color:#fff}.spark-videotile-desc{color:#4b5563}.dark .spark-videotile-desc{color:#9ca3af}.dark .spark-videotile-link,.spark-videotile-link{color:#2563eb}.spark-videotile-link:hover{color:#1d4ed8}.dark .spark-videotile-link:hover{color:#3b82f6}.spark-videotile-container{background-color:#f5f8ff;border-color:#d3e1ff}.dark .spark-videotile-container{background-color:#001033;border-color:#011d5b}.spark-videotile-empty{color:#9ca3af}.dark .spark-videotile-empty{color:#6b7280}.feature-card{border:1px solid var(--black-10)!important;border-radius:6px!important;padding:0!important;overflow:hidden;transition:border-color .2s ease}.dark .feature-card{border-color:var(--white-10)!important}.feature-card:hover{border-color:var(--black-20)!important}.dark .feature-card:hover{border-color:var(--white-20)!important}.feature-card [class*=Zoom],.feature-card [class*=zoom],.feature-card button,a[href*=\"mintlify.com\"][href*=\"utm_campaign=poweredBy\"],a[href*=\"mintlify.com\"][href*=poweredBy]{display:none!important}.feature-card-inner{display:flex!important;flex-direction:column!important;text-decoration:none!important}.feature-card-header{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;padding:16px 20px!important;border-bottom:1px solid var(--black-08)!important}.dark .feature-card-header{border-bottom-color:var(--white-08)!important}.feature-card-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.feature-card-icon img{width:20px;height:20px;margin:0!important;pointer-events:none}.feature-card .icon-light{display:block}.dark .feature-card .icon-light,.feature-card .icon-dark{display:none}.dark .feature-card .icon-dark{display:block}.feature-card-description,.feature-card-title{font-size:15px!important;font-weight:500!important;line-height:1.3!important;margin:0!important;padding:0!important;color:var(--black)}.dark .feature-card-title{color:var(--white)}.feature-card-description{font-weight:400!important;line-height:1.6!important;padding:16px 20px!important;color:var(--black-50)}.dark .feature-card-description{color:var(--white-50)}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;border-radius:6px;font-size:13px;font-weight:500}.status-badge-live{background-color:rgba(0,200,150,.1);color:#00a67d}.dark .status-badge-live{background-color:rgba(0,200,150,.15);color:#00c896}.status-badge-dev{background-color:rgba(255,140,66,.1);color:#d97316}.dark .status-badge-dev{background-color:rgba(255,140,66,.15);color:#ff8c42}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot-live{background-color:#00c896}.status-dot-dev{background-color:#ff8c42}.chat-assistant-floating-input>div>div,div:has(>div>#chat-assistant-textarea){background-color:var(--white-20)!important;border:1px solid var(--black-10)!important;border-radius:12px!important}.dark .chat-assistant-floating-input>div>div,.dark div:has(>div>#chat-assistant-textarea){background-color:var(--black-10)!important;border:1px solid var(--white-10)!important}.chat-assistant-floating-input>div{transition:transform .2s ease!important}[id^=headlessui-dialog-panel-][class*=rounded]{backdrop-filter:blur(48px)!important;background-color:var(--white-80)!important;border:1px solid var(--black-10)!important;border-radius:12px!important}.dark [id^=headlessui-dialog-panel-][class*=rounded]{background-color:var(--black-20)!important;border:1px solid var(--white-10)!important;border-radius:12px!important}#search-input,#search-input:focus{outline:0!important;outline-width:0!important;outline-color:transparent!important;border:0!important;background-color:var(--black-04)!important}.dark #search-input,.dark #search-input:focus{background-color:var(--white-04)!important}"}],"page":{"pagePath":"learn/tokens/minting","slug":"/learn/tokens/minting","pageMetadata":{"title":"Minting","description":null,"sidebarTitle":"Minting","keywords":["token minting","mint tokens","token supply","issuer signature","max supply"],"seo":{"title":"Mint Tokens on Spark | Issuer-Only Supply Creation","description":"Token minting mechanics: max supply validation, difference from registration, and on-demand minting patterns."},"href":"/learn/tokens/minting"},"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={p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Heading,Table}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Minting creates new tokens. Only the issuer can mint.`}),`\n`,_jsx(Heading,{level:`2`,id:`how-it-works`,children:`How it works`}),`\n`,_jsx(_components.p,{children:`The issuer signs a transaction saying “create X tokens and give them to Y address.” Spark Operators verify the signature, confirm it doesn’t exceed max supply, and commit the transaction. New tokens now exist.`}),`\n`,_jsx(_components.p,{children:`That’s it. No on-chain transaction. No gas. Instant.`}),`\n`,_jsx(Heading,{level:`2`,id:`what-gets-checked`,children:`What gets checked`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Check`}),_jsx(_components.th,{children:`Why`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Issuer signature`}),_jsx(_components.td,{children:`Only the issuer key can create tokens`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Token exists`}),_jsx(_components.td,{children:`You have to create (register) the token first`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Max supply`}),_jsx(_components.td,{children:`Can’t mint beyond the cap you set`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Not frozen`}),_jsx(_components.td,{children:`Frozen issuers can’t mint`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`mint-vs-create`,children:`Mint vs Create`}),`\n`,_jsx(_components.p,{children:`People confuse these.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Create`}),` registers a new token type. You do this once. You define the name, ticker, decimals, max supply.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Mint`}),` creates new units of an existing token. You do this whenever you want more tokens in circulation.`]}),`\n`,_jsx(Heading,{level:`2`,id:`supply`,children:`Supply`}),`\n`,_jsx(_components.p,{children:`If you set a max supply during creation, you can’t mint beyond it. If you didn’t set one, you can mint forever.`}),`\n`,_jsx(_components.p,{children:`Most stablecoin issuers mint on-demand: user deposits $100, issuer mints 100 tokens. Supply grows with demand.`}),`\n`,_jsx(Heading,{level:`2`,id:`where-tokens-go`,children:`Where tokens go`}),`\n`,_jsx(_components.p,{children:`By default, minted tokens go to the issuer’s address. You can also mint directly to someone else’s address. Useful for airdrops or when you’re minting in response to a deposit.`}),`\n`,_jsx(Heading,{level:`2`,id:`common-patterns`,children:`Common patterns`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Premint everything`}),`: Mint total supply upfront, then distribute via transfers. Simple accounting.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Mint on demand`}),`: Mint as users onboard. Better for stablecoins where supply should match deposits.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Batch mint`}),`: Send to multiple recipients in one transaction. More efficient.`]})]})}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":"Minting","description":null,"sidebarTitle":"Minting","keywords":["token minting","mint tokens","token supply","issuer signature","max supply"],"seo":{"title":"Mint Tokens on Spark | Issuer-Only Supply Creation","description":"Token minting mechanics: max supply validation, difference from registration, and on-demand minting patterns."},"href":"/learn/tokens/minting"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"How it works","slug":"how-it-works","depth":2,"children":[]},{"title":"What gets checked","slug":"what-gets-checked","depth":2,"children":[]},{"title":"Mint vs Create","slug":"mint-vs-create","depth":2,"children":[]},{"title":"Supply","slug":"supply","depth":2,"children":[]},{"title":"Where tokens go","slug":"where-tokens-go","depth":2,"children":[]},{"title":"Common patterns","slug":"common-patterns","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"lightspark","siteName":"Spark","title":"Minting - Spark","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-29T00:29:06.335Z","originalFileLocation":"learn/tokens/minting.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=\"keywords\" content=\"bitcoin layer 2, bitcoin l2, self-custody bitcoin, lightning network, bitcoin stablecoin, stablecoin on bitcoin, bitcoin payments, bitcoin wallet sdk, 0-conf deposits, zero confirmation bitcoin, bitcoin scaling, spark protocol, BTKN tokens, bitcoin native tokens\">\u003cmeta data-mint-head name=\"application-name\" content=\"Spark\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index, follow\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lightspark/KbHTQsAQFJB5ca_h/_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/lightspark/KbHTQsAQFJB5ca_h/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lightspark/KbHTQsAQFJB5ca_h/_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/lightspark/KbHTQsAQFJB5ca_h/_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/lightspark/KbHTQsAQFJB5ca_h/_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/lightspark/KbHTQsAQFJB5ca_h/_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/lightspark/KbHTQsAQFJB5ca_h/_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/lightspark/KbHTQsAQFJB5ca_h/_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/lightspark/KbHTQsAQFJB5ca_h/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Minting - Spark\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Spark Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.spark.money/learn/tokens/minting\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://lightspark.mintlify.app/images/og/og-spark.png\">\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=\"Minting - Spark\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://lightspark.mintlify.app/images/og/og-spark.png\">\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/lightspark/KbHTQsAQFJB5ca_h/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Spark\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#000000\">\u003cmeta data-mint-head name=\"og:locale\" content=\"en_US\">\u003cmeta data-mint-head name=\"language\" content=\"en\">\u003cmeta data-mint-head name=\"author\" content=\"Spark\">\u003cmeta data-mint-head name=\"category\" content=\"Technology\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.spark.money/learn/tokens/minting\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/learn/tokens/minting.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.spark.money/#organization\",\"name\":\"Spark\",\"url\":\"https://docs.spark.money\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/lightspark/uYWAuFR6Cxtb0uSg/images/logo-black.svg?fit=max\u0026auto=format\u0026n=uYWAuFR6Cxtb0uSg\u0026q=85\u0026s=25372f66a4814d6d53c52af40d4721e3\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.spark.money#website\",\"name\":\"Spark\",\"url\":\"https://docs.spark.money\",\"publisher\":{\"@id\":\"https://docs.spark.money/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.spark.money/learn/tokens/minting#webpage\",\"url\":\"https://docs.spark.money/learn/tokens/minting\",\"name\":\"Minting\",\"dateModified\":\"2026-09-29T00:29:06.335Z\",\"isPartOf\":{\"@id\":\"https://docs.spark.money#website\"},\"breadcrumb\":{\"@id\":\"https://docs.spark.money/learn/tokens/minting#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.spark.money/learn/tokens/minting#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Tokens\",\"item\":\"https://docs.spark.money/learn/tokens/hello-btkn\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Minting\",\"item\":\"https://docs.spark.money/learn/tokens/minting\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.spark.money/learn/tokens/minting#article\",\"headline\":\"Minting\",\"name\":\"Minting\",\"url\":\"https://docs.spark.money/learn/tokens/minting\",\"mainEntityOfPage\":{\"@id\":\"https://docs.spark.money/learn/tokens/minting#webpage\"},\"image\":\"https://docs.spark.money/images/og/og-spark.png\",\"dateModified\":\"2026-09-29T00:29:06.335Z\",\"keywords\":\"token minting, mint tokens, token supply, issuer signature, max supply\",\"publisher\":{\"@id\":\"https://docs.spark.money/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.spark.money#website\"}}]}\u003c/script>","siteName":"Spark","nav":{"global":null,"tabs":[{"tab":"Get Started","pages":[{"title":"Get Started","href":"/start/overview"}]},{"tab":"Wallets","pages":[{"title":"Wallets","href":"/wallets/overview"}]},{"tab":"Issuance","pages":[{"title":"Issuance","href":"/issuance/overview"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/overview"}]},{"tab":"Learn","groups":[{"group":"Introduction","pages":[{"title":"TLDR","sidebarTitle":"TLDR","href":"/learn/tldr"},{"title":"Sovereignty","sidebarTitle":"Sovereignty","href":"/learn/sovereignty"},{"title":"Scalability","sidebarTitle":"Scalability","href":"/learn/scalability"},{"title":"Trust Model","sidebarTitle":"Trust Model","href":"/learn/trust-model"},{"title":"Limitations / Attacks","sidebarTitle":"Limitations / Attacks","href":"/learn/limitations"},{"title":"FAQ","sidebarTitle":"FAQ","href":"/learn/faq"}]},{"group":"Design","pages":[{"title":"Core Concepts","sidebarTitle":"Core Concepts","href":"/learn/core-concepts"},{"title":"Technical Definitions","sidebarTitle":"Technical Definitions","href":"/learn/technical-definitions"},{"title":"Spark FROST","sidebarTitle":"Spark FROST","href":"/learn/frost-signing"}]},{"group":"Transaction Lifecycles","pages":[{"title":"Deposits from L1","sidebarTitle":"Deposits from L1","href":"/learn/deposits"},{"title":"Withdrawals to L1","sidebarTitle":"Withdrawals to L1","href":"/learn/withdrawals"},{"title":"Transfers on Spark","sidebarTitle":"Transfers on Spark","href":"/learn/transfers"},{"title":"Lightning Interoperability","sidebarTitle":"Lightning Interoperability","href":"/learn/lightning"}]},{"group":"Tokens","pages":[{"title":"Hello, BTKN!","sidebarTitle":"Hello, BTKN!","href":"/learn/tokens/hello-btkn"},{"title":"Core Concepts","sidebarTitle":"Core Concepts","href":"/learn/tokens/core-concepts"},{"title":"Transaction Lifecycle","description":null,"sidebarTitle":"Transaction Lifecycle","href":"/learn/tokens/broadcast-lifecycle"},{"title":"Minting","sidebarTitle":"Minting","href":"/learn/tokens/minting"},{"title":"Transferring","description":null,"sidebarTitle":"Transferring","href":"/learn/tokens/transferring"},{"title":"Freezing","sidebarTitle":"Freezing","href":"/learn/tokens/freezing"},{"title":"Burning","sidebarTitle":"Burning","href":"/learn/tokens/burning"},{"title":"Glossary","sidebarTitle":"Glossary","href":"/learn/tokens/glossary"}]}]}]},"title":"Minting - Spark","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":[],"chunks":[]}