Version 1.0 — April 2026
Ember Mode is an autonomous, two-phase mechanism that permanently reduces the circulating supply of a Solana SPL token while simultaneously building and locking liquidity. It operates by claiming creator fees generated from trading activity on Pump.fun, splitting the proceeds between immediate token buyback-and-burn and a fee vault that is later deployed as permanent, irrevocable liquidity on PumpSwap.
The system is fully open source, runs autonomously once activated, and requires no manual intervention. All transactions are signed locally — private keys never leave the operator's machine.
Tokens launched on bonding curve platforms face a common set of structural issues:
Ember Mode addresses all four by converting 100% of creator fees into permanent, verifiable supply reduction and locked liquidity.
The Ember Mode mechanism operates as a continuous loop with a configurable cycle interval (default: 2 minutes). Each cycle follows a deterministic sequence:
claim_fees()
|
v
measure_received_sol()
|
+--- 50% ---> buy_tokens() ---> burn_tokens()
|
+--- 50% ---> fee_vault (accumulate for Phase 2)
The split ratio is configurable (default 50/50) via the EMBER_BUY_PERCENT environment variable. The cycle interval is controlled by EMBER_INTERVAL_MIN.
Creator fees are claimed via the PumpPortal collectCreatorFee API. The system measures the wallet's SOL balance before and after the claim to determine the exact amount received, avoiding any dependency on API-reported values.
Tokens are purchased through PumpPortal's trade-local endpoint, which supports both bonding curve and migrated AMM tokens via the pool parameter. The transaction is built server-side by PumpPortal and signed locally using the solders library.
Purchased tokens are sent to the canonical burn address (1nc1nerator11111111111111111111111111111111). The burn instruction is built directly as an SPL Token Transfer (or Token-2022 TransferChecked) targeting the burn address's associated token account.
While the token trades on PumpFun's bonding curve, Ember Mode operates in Phase 1:
Phase 1 creates continuous deflationary pressure on the circulating supply. As tokens are burned, the remaining supply becomes scarcer relative to the bonding curve's pricing function.
The system tracks and displays running totals of SOL claimed, tokens burned, and fee vault balance at each cycle. Jupiter Price API provides real-time USD pricing for monitoring.
When the bonding curve completes and the token migrates to PumpSwap, Phase 2 begins:
The system polls the PumpFun frontend API (frontend-api-v3.pump.fun/coins/{mint}) to detect when the token's complete status becomes true, indicating bonding curve completion and PumpSwap pool deployment.
The accumulated fee vault SOL is deployed into the PumpSwap AMM pool using the add_liquidity.py script:
getProgramAccountsbuy-and-deposit mode purchases the required tokens and deposits both sides in sequencedeposit instruction, and unwraps remaining WSOLAfter liquidity is deposited, the resulting LP tokens can be burned, permanently locking the liquidity in the pool. This makes the liquidity irrevocable — it cannot be withdrawn by anyone, ever.
After graduation, PumpSwap trading continues generating creator fees. Ember Mode is restarted and continues its buy-and-burn cycles perpetually. The fee vault allocation in Phase 2 can be set to 0% (100% buy+burn) since liquidity has already been deployed.
solders — Rust-based, high-performance Solana primitiveslite-api.jup.ag/price/v3)TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DATokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEbATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knLpAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEAComputeBudget1111111111111111111111111111111. Build instruction(s) using solders primitives 2. Set compute budget + priority fee 3. Fetch latest blockhash from RPC 4. Compile MessageV0 with all instructions 5. Sign VersionedTransaction with local Keypair 6. Send via RPC sendTransaction 7. Confirm and log result
The primary script implementing Ember Mode. Supports three operational modes:
--ember): The core mechanism. Claims fees every N minutes, splits between buy+burn and fee vault.--timer): Fixed-interval buy+burn with a set SOL amount per cycle.python buyback_burn.py --ember # 2min cycles, 50% buy+burn python buyback_burn.py --ember 5 75 # 5min cycles, 75% buy+burn python buyback_burn.py --timer 10 0.05 # 10min, 0.05 SOL per buy
Deposits tokens and SOL into a PumpSwap AMM pool. Used in Phase 2 to deploy the fee vault as permanent locked liquidity.
getProgramAccountsbuy-and-deposit mode for single-command LP deploymentpython add_liquidity.py --buy-and-deposit 1.0 # Buy tokens + deposit python add_liquidity.py --deposit 0.5 # Deposit existing tokens python add_liquidity.py --info # Show pool reserves
Creates new tokens on PumpFun with IPFS-stored metadata via Pinata. Supports optional dev-buy bundled with creation, dry-run validation, and upload-only mode.
python create_token.py # Create with .env config python create_token.py --dry-run # Validate without spending SOL python create_token.py --upload-only # Push metadata to IPFS only
solders..gitignore excludes .env files and key material from version control.Ember Mode does not alter the token's initial supply or distribution. Instead, it introduces a continuous deflationary force post-launch:
The net effect is a monotonically decreasing circulating supply with monotonically increasing locked liquidity, creating sustained upward pressure on token value for as long as trading activity continues.
--ember command, add_liquidity.py for Phase 2 deployment, create_token.py for token creationThis document is for informational purposes only. Ember Mode is open-source software provided under the MIT license with no warranty. Interacting with smart contracts and decentralized protocols involves risk. Users are responsible for their own due diligence and decisions.