Doge Inucore v1.14.7-inu
Doge Inu on X
token launcher · SPL token program · devnet by default

Mint a real token in one transaction you can read before you sign it

This is not a simulator and it is not a waitlist. The form below builds an SPL mint transaction in your browser, hands it to your wallet, and broadcasts it. It defaults to devnet, where the SOL is free and a mistake costs nothing — switch the cluster in the wallet menu when you actually mean it. You keep the mint authority, and therefore the ability to inflate the supply at will, unless you tick the box that destroys it in the same transaction.

The instruction encoding is the reason this page belongs on a Dogecoin fork's website. Doge Inu Core parses the same SPL instruction layout inside OP_SPLMINT, so the bytes your wallet signs here are the bytes the asset plane will accept when the native mint path opens. Launching on Solana today is the rehearsal, not a detour.

mints created via this page
14,382
median launch cost
0.00350 ◎
median time to finality
1.8 s
authority revoked at launch
71%
instructions signed
5
default cluster
devnet
do it

Launcher

Fill in four fields. The panel on the right regenerates the exact transaction body as you type, so there is no gap between what the page claims it will send and what it sends.

Token parameters

These become an SPL mint on devnet. Change the cluster in the wallet menu.

What wallets show next to the balance.

9 matches SOL. 6 matches most stablecoins.

Minted to your wallet in one instruction. = 1000000000000000000 base units

what gets signedone atomic transaction
const mint = Keypair.generate();

const tx = new Transaction().add(
  // 1. Allocate the mint account and pay its rent exemption.
  SystemProgram.createAccount({
    fromPubkey:      owner,
    newAccountPubkey: mint.publicKey,
    space:            MINT_SIZE,
    lamports:         await getMinimumBalanceForRentExemptMint(conn),
    programId:        TOKEN_PROGRAM_ID,
  }),

  // 2. Initialise it. You are both mint and freeze authority.
  createInitializeMint2Instruction(mint.publicKey, 9, owner, owner),

  // 3. Derive and create your associated token account.
  createAssociatedTokenAccountInstruction(owner, ata, owner, mint.publicKey),

  // 4. Mint the whole supply into it.
  createMintToInstruction(mint.publicKey, ata, owner, 1000000000000000000n),

  // 5. Hand the mint authority to nobody. Irreversible.
  createSetAuthorityInstruction(mint.publicKey, owner, AuthorityType.MintTokens, null),
);

// The mint keypair signs for its own creation. Your wallet signs the rest,
// so there is never a moment where a private key of yours leaves the wallet.
tx.partialSign(mint);
const signed = await wallet.signTransaction(tx);
await conn.sendRawTransaction(signed.serialize());
read what you sign

Your wallet will show five instructions. If it shows anything else — a transfer out, an approval, a program you do not recognise — reject it. That advice applies to this page as much as any other.

what you are signing

The five instructions

A token launch is not one operation. It is five, batched into a single transaction so that either all of them land or none of them do. Atomicity matters here more than it looks: a mint that exists but was never initialised is a permanently stuck account, and a mint initialised without a destination account is a supply you cannot hold.

1 · SystemProgram.createAccount
Allocates exactly 82 bytes owned by the SPL Token program and funds it to the rent-exempt minimum. The address is a fresh keypair generated in your tab and never transmitted anywhere; it signs this one instruction and is then thrown away. Nobody, including us, can produce a signature for that account again.
2 · InitializeMint2
Writes the mint header: decimals, mint authority, freeze authority, and a supply of zero. Both authorities are set to your wallet. This is the instruction that decides whether your token is a fixed-supply asset or an open tap, and it is the one people will inspect later.
3 · CreateAssociatedTokenAccount
Derives the deterministic account that holds your balance — a program address computed from your wallet, the mint, and the token program — and pays its 165-byte rent. This is the largest single cost in the transaction, and it is refundable if you ever close the account.
4 · MintTo
Mints the whole initial supply into that account in base units. A supply of one billion at nine decimals is 1018 base units, which is comfortably inside the unsigned 64-bit field but worth understanding before you pick twelve decimals and wonder why the instruction fails.
5 · SetAuthority(MintTokens, None)
Optional, and irreversible. Sets the mint authority to null, which fixes the supply at whatever instruction 4 produced. Skip it and the transaction is four instructions long and your token has an owner who can print. Both are legitimate choices; only one of them is checkable by a stranger.
Per-instruction footprint, nine decimals, authority revoked
#instructionbytesCUaccountswrites
1SystemProgram::CreateAccount523,0002new mint account
2Token::InitializeMint2672,8471mint header
3AssociatedToken::Create3420,0966token account
4Token::MintTo414,4923mint supply, balance
5Token::SetAuthority382,9102mint authority → null
transaction total39833,345112 signatures

33,345 CU against a 200,000 CU default budget, so there is no need to request extra compute and no reason for the transaction to be dropped for exceeding it. The 1,232-byte packet limit is the tighter constraint in general, and at 398 bytes this transaction is nowhere near it.

what it costs

Almost all of the cost is a deposit, not a fee

A launch looks like it costs about half a dollar. Roughly 99.7% of that is rent exemption — a refundable deposit held against two accounts so that the validator set is not storing your data for free forever. The part that is genuinely spent is two signatures at 5,000 lamports each.

Close the token account when it is empty and the 0.00203928 ◎ comes back. The mint account's 0.00144768 ◎ comes back too, but only once supply is zero, which for a token with holders means never. Treat it as the cost of existing.

Priority fees are zero in the table because the launcher does not add a compute-unit price. On a quiet cluster that is correct. During a congestion event a launch can sit for several slots; the honest fix is to retry rather than to overpay, because a mint is not time-sensitive the way a swap is.

Devnet figures are identical — rent is a protocol constant, not a market — but the SOL is free from the faucet. See the Doge Inu fee schedule for what the equivalent operation costs on the fork's own asset plane.

Cost of one launch · SOL at $148.20
line item◎ SOLUSDrefundable
Mint account rent (82 B)0.00144768$0.2146at zero supply
Token account rent (165 B)0.00203928$0.3022yes
Base fee · 2 signatures0.00001000$0.0015no
Priority fee (0 µ◎/CU)0.00000000$0.0000no
Total signed0.00349696$0.518399.7% deposit
Unrecoverable, worst case0.00145768$0.2161
balance check before build

The launcher refuses to build the transaction below 0.01 ◎, which is roughly three times the requirement. A launch that fails at the rent instruction has still burned your signature fee and produced nothing, so the check is worth the friction.

without a browser

The same launch from a terminal

Nothing on this page is privileged. If you would rather not trust a web form with a transaction builder — a defensible position — dogeinu-cli produces a byte-identical mint against the fork's asset plane, and spl-token does the Solana half. Both are shown so you can diff the result against what the page produced.

launch.shfour commands, same five instructions
# Solana side: the exact transaction this page builds, one instruction per line.
$ solana config set --url devnet
$ spl-token create-token --decimals 9 --enable-metadata
Creating token 7RmQhVnGwcYbT2fXpLkD9sAeZ4uJ1hN6vB3yCqM8dKtW

$ spl-token create-account 7RmQhVnGwcYbT2fXpLkD9sAeZ4uJ1hN6vB3yCqM8dKtW
$ spl-token mint 7RmQhVnGwcYbT2fXpLkD9sAeZ4uJ1hN6vB3yCqM8dKtW 1000000000

# The instruction that actually makes the supply claim credible.
$ spl-token authorize 7RmQhVnGwcYbT2fXpLkD9sAeZ4uJ1hN6vB3yCqM8dKtW mint --disable
Updating 7RmQhVnGwcYbT2fXpLkD9sAeZ4uJ1hN6vB3yCqM8dKtW
  Current mint: 4FhTnPqW2xDvLm9cZsJbK6yUe1gR8aVoQ3tNwXr5HdBj
  New mint: disabled

# Doge Inu side: one call, because the node batches the five for you.
$ dogeinu-cli createsplmint '{"decimals":9,"supply":1000000000,"name":"Doge Inu","symbol":"DINU","revokemint":true}'
{
  "mint": "9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PB5wBQZ",
  "txid": "4b1f8ca07d2e5390bb6c1d47ae9f0328c5d71a6be4028f9317cd5ba2e6740f19",
  "rent": 1.00000000,
  "fee": 0.00730800,
  "mintauthority": null
}

After either route, verify rather than believe. The two fields that matter are mintAuthority and supply; everything else is decoration. A mint whose authority is null cannot grow, and that is a property of the ledger rather than a promise made on a website.

verify.shrun this against any mint, including ours
$ MINT=7RmQhVnGwcYbT2fXpLkD9sAeZ4uJ1hN6vB3yCqM8dKtW

$ spl-token display $MINT
SPL Token Mint
  Address: 7RmQhVnGwcYbT2fXpLkD9sAeZ4uJ1hN6vB3yCqM8dKtW
  Program: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA
  Decimals: 9
  Supply: 1000000000000000000
  Mint authority: (not set)
  Freeze authority: 4FhTnPqW2xDvLm9cZsJbK6yUe1gR8aVoQ3tNwXr5HdBj

# The raw account, for anyone who does not trust the pretty printer.
$ solana account $MINT --output json | jq -r '.account.data[0]' | base64 -d | xxd -l 82
00000000: 0100 0000 4fh1 ... 0000 0000 0000 0000  ....O...........

$ spl-token supply $MINT
1000000000

# Largest holders. A single account holding 100% is not a bug, but it is a fact.
$ spl-token accounts --owner $MINT 2>/dev/null; spl-token display $MINT --output json \
    | jq '{supply, mintAuthority, freezeAuthority}'
{
  "supply": "1000000000000000000",
  "mintAuthority": null,
  "freezeAuthority": "4FhTnPqW2xDvLm9cZsJbK6yUe1gR8aVoQ3tNwXr5HdBj"
}
the freeze authority is still yours

Revoking the mint authority stops inflation. It does not stop you freezing individual token accounts, which prevents a holder from selling. If you intend the token to be genuinely unowned, run spl-token authorize $MINT freeze --disable as a second transaction. The launcher does not do this for you, because a freeze authority is occasionally legitimate and silently destroying it would be a surprise.

after you launch

A mint is not a market

At the end of the transaction you own a token that exists and has no price, because nothing has ever traded. Everything that makes a token feel real — a chart, a ticker on an aggregator, someone else holding it — happens afterwards and none of it is automatic.

Liquidity

A price comes from a pool. You deposit some of your supply and some SOL into an AMM, and the ratio you choose is the opening price — there is no discovery mechanism, just your arithmetic. Depositing 10% of supply against 5 ◎ sets a fully diluted valuation of 50 ◎ and hands the other 90% of the supply an exit against your own liquidity.

The pool issues you LP tokens representing your share. Holding them means you can withdraw the SOL at any moment, which is the mechanism behind most of the losses people describe as rug pulls. Burning them, or locking them in a time-locked program, is the only way to make the liquidity a commitment rather than an intention.

Metadata

The mint account stores decimals and authorities. It does not store your name, symbol, or image — those live in a separate metadata account keyed to the mint. Until you create one, wallets will display your token as an unlabelled address and every aggregator will ignore it. The launcher writes the name and symbol you typed into the transaction it displays, but the on-chain metadata account is a separate step.

Listings

Aggregators index automatically once a pool crosses their liquidity threshold, which is usually a few hundred dollars of depth and a handful of distinct trades. Nobody needs to be emailed. Anyone who offers to fast-track a listing for a fee is describing a service that does not exist.

The first hour, in order
stepcost ◎reversible
Mint created, supply in your wallet0.00350yes
Create the metadata account0.01100yes
Revoke the mint authority0.00001never
Revoke the freeze authority0.00001never
Open an AMM pool0.15400yes
Burn or lock the LP tokens0.00001never
Aggregator picks it up0.00000
order matters

Revoke before you open the pool, not after. A buyer who arrives in the first minutes cannot audit a decision you have not made yet, and “we will revoke soon” has no on-chain representation at all.

plainly

How this gets used to take money

The launcher is a neutral tool and the failure modes are well documented, so here they are. Every one of them is visible on-chain before it happens, which is the only reason writing them down is useful.

mechanismwhat the attacker keepswhat you can check firstprevented by
Mint dilutionMint authoritymintAuthority is not nullrevoke mint
Liquidity withdrawalLP tokensLP supply is not burned or lockedburn LP
Selective freezeFreeze authorityfreezeAuthority is not nullrevoke freeze
Concentrated supply dump90%+ of supply in one accounttop-holder distributionnothing technical
Impersonation of a real tokenBuyers who matched on the symbolmint address, not the tickernothing technical
Transfer-hook taxA cut of every tradetoken program is the classic oneprogram ID check
revoking the mint authority is the whole difference

While you hold the mint authority, every statement about your token's supply is a statement about your intentions. One instruction, 2,910 compute units, costs a fraction of a cent, and a holder can verify it at any time without asking you anything. If you keep it, say so and say why. The failure mode is not people minting more tokens — it is people announcing a fixed supply while holding the key that changes it, and then changing it after the pool has real money in it.

The symmetrical warning, because it would be dishonest to only warn the launcher: a revoked mint authority tells you the supply is fixed and nothing else. It says nothing about who holds that supply, whether the liquidity can be pulled, or whether the token is worth anything. Fixed supply and worthless are entirely compatible.

known limits

What this page does not do

No metadata account
The name and symbol you type are used to label the transaction and nothing else. Token Metadata is a separate program and a separate transaction, and wiring it in here would double the cost of a devnet experiment for no benefit.
No pool creation
Opening an AMM pool means picking a venue and a fee tier and committing real capital. That is not a decision to bury behind the same button as a devnet test mint.
No Token-2022 extensions
Transfer hooks, confidential transfers, and interest-bearing mints all live in the newer token program. The launcher targets the classic program because that is what the fork's OP_SPLMINT path parses today.
No native Doge Inu mint yet
The asset plane accepts the instruction encoding, but the browser wallet path todogeinud is still an RPC call from a terminal. Mainnet launches on the fork go through the CLI shown above. This is the honest state of it, not a roadmap claim.
No review, no approval, no curation
Anyone can mint anything. Nothing on this page implies we have looked at a token, endorsed it, or would be able to help you if you bought one. See the disclaimer in the footer, which means exactly what it says.

If you want the consensus-level story of how an asset commitment becomes spendable, the protocol docs cover the widened CTxOut, the opcode semantics, and the validator's voting path. If you want to know what any of it costs on the fork itself, the fee schedule has the per-operation table.