<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Albu Studio</title>
    <description>The latest articles on DEV Community by Albu Studio (@albustudio).</description>
    <link>https://dev.to/albustudio</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4190656%2Fe9cbba5a-73c3-42c8-b160-355da711cd8a.png</url>
      <title>DEV Community: Albu Studio</title>
      <link>https://dev.to/albustudio</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/albustudio"/>
    <language>en</language>
    <item>
      <title>Launch a Solana token from the terminal without trusting a website</title>
      <dc:creator>Albu Studio</dc:creator>
      <pubDate>Sat, 17 Oct 2026 14:40:42 +0000</pubDate>
      <link>https://dev.to/albustudio/launch-a-solana-token-from-the-terminal-without-trusting-a-website-17bc</link>
      <guid>https://dev.to/albustudio/launch-a-solana-token-from-the-terminal-without-trusting-a-website-17bc</guid>
      <description>&lt;p&gt;Most Solana tokens are launched through a website. You connect a wallet, fill in a form, approve a few transactions, and a token appears. It is quick, and it is also the single most common way people lose everything in one click.&lt;/p&gt;

&lt;p&gt;This is a walkthrough of doing the same job from your own terminal, on devnet first, with a key that never leaves your computer. It uses AlbuSOL, an open-source command-line tool I maintain, but the first half applies whatever you use.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why a browser launchpad is a custody problem
&lt;/h2&gt;

&lt;p&gt;When you "connect a wallet" to a launch site, the site builds the transactions and your wallet signs them. You are trusting three things at once:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The transaction is what the screen says it is.&lt;/strong&gt; A pool-creation transaction and a "transfer all my SOL" transaction look identical to most wallet pop-ups. You are approving bytes you cannot read.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The site is the site.&lt;/strong&gt; Launchpad front-ends get phished, typosquatted and, more than once, replaced by a compromised deployment that drained every wallet that connected for a few hours.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The operator is honest today and every day after.&lt;/strong&gt; Many launch sites quietly keep the mint authority, the freeze authority or the update authority on the tokens they create, which means they can mint more, freeze your holders or rewrite your metadata later.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A local tool removes all three. It builds the transactions on your machine from code you can read, signs them with a key stored only on your disk, and sends them straight to an RPC you chose. There is no middle party to compromise.&lt;/p&gt;

&lt;h2&gt;
  
  
  What "revoke" and "burn LP" actually do on-chain
&lt;/h2&gt;

&lt;p&gt;These two phrases appear on every token page and are mostly used as marketing. Here is what they mean at the account level.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mint authority.&lt;/strong&gt; An SPL token mint account has an optional &lt;code&gt;mintAuthority&lt;/code&gt; field. Whoever holds that key can create new supply at any time. Setting the authority to &lt;code&gt;None&lt;/code&gt; is a one-way &lt;code&gt;SetAuthority&lt;/code&gt; instruction: after it, the supply is fixed forever. Nobody, including you, can undo it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Freeze authority.&lt;/strong&gt; The same mint account has an optional &lt;code&gt;freezeAuthority&lt;/code&gt;. That key can freeze any holder's token account, making their balance unspendable. Revoking it means no wallet can ever be frozen. Again, one-way.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Metadata update authority.&lt;/strong&gt; Separate from the mint, the Metaplex metadata account has its own update authority and an &lt;code&gt;isMutable&lt;/code&gt; flag. Setting &lt;code&gt;isMutable&lt;/code&gt; to false locks the name, symbol and URI permanently. Many launches skip this; it is the difference between "the token you bought" and "the token the deployer can rename next week".&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Burning LP.&lt;/strong&gt; When you create a Raydium pool, you deposit two tokens and receive LP tokens representing your share of the pool. Those LP tokens are the only way to withdraw the liquidity. Burning them with &lt;code&gt;BurnChecked&lt;/code&gt; reduces the LP supply; burning 100 % means no account can ever withdraw, so the liquidity is locked for the life of the pool. This is a real burn, not a transfer to a "lock" address that someone else controls.&lt;/p&gt;

&lt;p&gt;Knowing this, you can verify any token yourself in an explorer: mint authority &lt;code&gt;null&lt;/code&gt;, freeze authority &lt;code&gt;null&lt;/code&gt;, metadata immutable, LP supply zero or close to it. If a launch site claims it and the chain disagrees, the chain is right.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you need
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Node.js 20 or newer (macOS, Linux or Windows).&lt;/li&gt;
&lt;li&gt;A free RPC URL with sensible limits. The public &lt;code&gt;api.devnet.solana.com&lt;/code&gt; endpoint throttles after a few dozen requests, and a pool creation makes about forty. Helius, QuickNode and Triton all have free tiers that are fine for this.&lt;/li&gt;
&lt;li&gt;About 2 devnet SOL, which the tool can request for you.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Run it straight from npm, nothing to install:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx albusol
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or download the zip from &lt;a href="https://albustudio.com/albusol" rel="noopener noreferrer"&gt;albustudio.com/albusol&lt;/a&gt; and run &lt;code&gt;npm install &amp;amp;&amp;amp; npm start&lt;/code&gt; inside the folder.&lt;/p&gt;

&lt;p&gt;It starts an interactive menu. Every prompt is a question in plain English, every destructive step shows a summary and asks once more before sending.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: a wallet that stays on your disk
&lt;/h2&gt;

&lt;p&gt;On first start it asks whether to import a key or create a new one. For devnet, create a new one. You give it a name and a password; the key is stored in &lt;code&gt;~/.albusol/wallets/&amp;lt;name&amp;gt;.json&lt;/code&gt;, encrypted with scrypt and AES-256-GCM, and decrypted into memory only after you type the password at start-up.&lt;/p&gt;

&lt;p&gt;Back up the key now: &lt;strong&gt;Wallet → Export private key&lt;/strong&gt;. Nobody can recover it for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: devnet and a proper RPC
&lt;/h2&gt;

&lt;p&gt;Open &lt;strong&gt;Settings&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Network (mainnet / devnet)&lt;/strong&gt; → choose &lt;code&gt;devnet&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RPC endpoint for this network&lt;/strong&gt; → paste your Helius or QuickNode devnet URL.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then &lt;strong&gt;Wallet → Request devnet airdrop&lt;/strong&gt; for 2 SOL. The main-menu header shows the network and the wallet address at all times, so you always know where a transaction is going.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Create token
&lt;/h2&gt;

&lt;p&gt;Choose &lt;strong&gt;Create token&lt;/strong&gt;. It asks for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Name, symbol, decimals (6 is the common choice for a fungible token), total supply.&lt;/li&gt;
&lt;li&gt;Metadata: paste a URI you already host, or let it upload an image plus the JSON to IPFS through Pinata if you have added a JWT in Settings. Either is fine on devnet; &lt;code&gt;https://example.com/anything.json&lt;/code&gt; works for a rehearsal.&lt;/li&gt;
&lt;li&gt;Three yes/no questions: revoke mint authority, revoke freeze authority, make metadata immutable.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Say yes to the first two for a fixed-supply token nobody can freeze. The third is your call; I say yes for anything real.&lt;/p&gt;

&lt;p&gt;The summary screen lists everything, including the network cost and the tool's own fee, and asks "Create this token now?". On confirmation it creates the mint, writes the metadata, mints the full supply to your wallet, then revokes the authorities in the same run. The final screen prints the mint address and an explorer link; open it and check the authority fields yourself.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Create pool · CPMM
&lt;/h2&gt;

&lt;p&gt;Raydium has two pool programs. AMM v4 needs an OpenBook market first (about 0.35 SOL of rent on mainnet just for the market). CPMM needs nothing but the two tokens, so it is the one to start with.&lt;/p&gt;

&lt;p&gt;Choose &lt;strong&gt;Create pool · CPMM&lt;/strong&gt;. It lists your token accounts, asks which token is A and which is B (your new token and SOL, typically), how much of each to deposit, and which fee tier to use. The ratio of the two deposits sets the launch price: 1,000,000 tokens against 1 SOL means 1 token = 0.000001 SOL.&lt;/p&gt;

&lt;p&gt;Confirm, wait a few seconds, and the pool ID appears. Your wallet now holds LP tokens for that pool.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Burn LP / tokens
&lt;/h2&gt;

&lt;p&gt;Choose &lt;strong&gt;Burn LP / tokens&lt;/strong&gt;. It lists every token account in the wallet and marks the LP ones. Pick the pool's LP token, then choose:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Everything&lt;/strong&gt; to lock the liquidity permanently,&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A percentage&lt;/strong&gt; or &lt;strong&gt;An exact amount&lt;/strong&gt; for a partial burn.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The confirmation is blunt about it: if LP supply reaches zero, nobody, including you, can ever withdraw that liquidity. It uses &lt;code&gt;BurnChecked&lt;/code&gt;, so the supply really goes down; you can see it on the LP mint in the explorer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 6: look at what you made
&lt;/h2&gt;

&lt;p&gt;In the explorer, on the token mint: mint authority revoked, freeze authority revoked, metadata immutable if you chose it. On the pool: LP supply reduced by what you burned. That is the whole promise a launch makes, and you can now verify it without taking anyone's word.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it costs
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Step&lt;/th&gt;
&lt;th&gt;Tool fee&lt;/th&gt;
&lt;th&gt;Network cost on mainnet, approx.&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Create token&lt;/td&gt;
&lt;td&gt;0.05 SOL&lt;/td&gt;
&lt;td&gt;~0.02 SOL rent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenBook market&lt;/td&gt;
&lt;td&gt;0.05 SOL&lt;/td&gt;
&lt;td&gt;~0.35 SOL rent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AMM v4 pool&lt;/td&gt;
&lt;td&gt;0.10 SOL&lt;/td&gt;
&lt;td&gt;0.15 SOL Raydium fee + ~0.5 SOL rent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CPMM pool&lt;/td&gt;
&lt;td&gt;0.10 SOL&lt;/td&gt;
&lt;td&gt;per fee tier, shown in the menu&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Add liquidity&lt;/td&gt;
&lt;td&gt;0.02 SOL&lt;/td&gt;
&lt;td&gt;negligible&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Burn&lt;/td&gt;
&lt;td&gt;0.01 SOL&lt;/td&gt;
&lt;td&gt;negligible&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NFT collection / single mint / batch&lt;/td&gt;
&lt;td&gt;0.02 / 0.005 / 0.002 per asset&lt;/td&gt;
&lt;td&gt;~0.003 SOL each&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The tool fee is a separate transfer to the Albu Studio wallet sent &lt;strong&gt;after&lt;/strong&gt; the action succeeds; a failed action is never charged, and the fee is printed on every confirmation screen before you agree. The code is MIT, so you can read exactly where it is.&lt;/p&gt;

&lt;h2&gt;
  
  
  The honest part
&lt;/h2&gt;

&lt;p&gt;AlbuSOL has been run end to end on devnet: token, CPMM pool, LP burn, OpenBook market, AMM v4 pool, liquidity, partial burns and Metaplex Core NFTs, with every fee landing. Mainnet uses the same code with Raydium's mainnet program IDs, but I have not exercised it there myself. Rehearse on devnet, then start small.&lt;/p&gt;

&lt;p&gt;Everything it does is an irreversible on-chain transaction that you authorise with your own key. It custodies nothing and cannot reverse anything. Creating and offering tokens may be regulated where you live; in the EU, MiCA applies, and you are the issuer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Source and issues: &lt;a href="https://github.com/AlbuStudio/albusol" rel="noopener noreferrer"&gt;github.com/AlbuStudio/albusol&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Download and docs: &lt;a href="https://albustudio.com/albusol" rel="noopener noreferrer"&gt;albustudio.com/albusol&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you launch something with it, tell me and I will add it to the "Used by" list in the README.&lt;/p&gt;

</description>
      <category>solana</category>
      <category>web3</category>
      <category>cli</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
