Creator Fee
Claim your Creator Fee without this website
Your Creator Fee is held by Raydium LaunchLab, not by us. It collects in a vault that belongs to your wallet, and LaunchLab pays it out when your wallet signs a claim. If this website or our API is ever down, you can build that claim yourself with any Solana library. Everything you need is on this page, so keep a copy.
What you need
- The wallet you launched your coins with. Only it can claim, because your vault's address is derived from it.
- The mint of the Quote Asset your coins trade against. For SOL it is
So11111111111111111111111111111111111111112. - Any Solana RPC endpoint.
One vault holds your Creator Fee for every coin you launched against the same Quote Asset, on any LaunchLab launchpad, so one claim collects all of it.
The program
Raydium LaunchLab on Solana devnet:
DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6
The instruction is claim_creator_fee. It takes no arguments, so its data is only its 8-byte discriminator: 26, 97, 138, 203, 132, 171, 141, 252 (hex 1a618acb84ab8dfc).
Its accounts, in order
creatorsignerwritableYour wallet, the Creator. It signs and pays the network fee.
fee_vault_authorityThe LaunchLab address with seed "creator_fee_vault_auth_seed".
creator_fee_vaultwritableYour vault: the LaunchLab address with seeds [your wallet, Quote Asset mint].
recipient_token_accountwritableYour associated token account for the Quote Asset. LaunchLab opens it if needed.
quote_mintThe Quote Asset's mint.
token_programThe token program of the Quote Asset: SPL Token, or Token-2022 for a Token-2022 mint.
system_program11111111111111111111111111111111
associated_token_programATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL
A complete example
In TypeScript with @solana/web3.js and @solana/spl-token. Any other language or library works the same way.
import {
Connection, Keypair, PublicKey, SystemProgram, Transaction,
TransactionInstruction, sendAndConfirmTransaction,
} from "@solana/web3.js";
import {
ASSOCIATED_TOKEN_PROGRAM_ID, NATIVE_MINT, TOKEN_PROGRAM_ID,
createCloseAccountInstruction, getAssociatedTokenAddressSync,
} from "@solana/spl-token";
const LAUNCHLAB = new PublicKey("DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6");
const connection = new Connection("<your RPC URL>", "confirmed");
const creator = Keypair.fromSecretKey(/* your Creator wallet */);
const quoteMint = NATIVE_MINT; // the Quote Asset: SOL here
const pda = (...seeds: Buffer[]) =>
PublicKey.findProgramAddressSync(seeds, LAUNCHLAB)[0];
const account = (pubkey: PublicKey, isSigner = false, isWritable = false) =>
({ pubkey, isSigner, isWritable });
const recipient = getAssociatedTokenAddressSync(quoteMint, creator.publicKey);
const claim = new TransactionInstruction({
programId: LAUNCHLAB,
data: Buffer.from([26, 97, 138, 203, 132, 171, 141, 252]),
keys: [
account(creator.publicKey, true, true),
account(pda(Buffer.from("creator_fee_vault_auth_seed"))),
account(pda(creator.publicKey.toBuffer(), quoteMint.toBuffer()), false, true),
account(recipient, false, true),
account(quoteMint),
account(TOKEN_PROGRAM_ID),
account(SystemProgram.programId),
account(ASSOCIATED_TOKEN_PROGRAM_ID),
],
});
// SOL only: turn the wrapped SOL the claim paid back into SOL.
// This closes your wrapped-SOL account and unwraps all of it.
const unwrap = createCloseAccountInstruction(
recipient, creator.publicKey, creator.publicKey);
const signature = await sendAndConfirmTransaction(
connection, new Transaction().add(claim, unwrap), [creator]);
console.log("Claimed:", signature);
After the claim
- LaunchLab pays SOL as wrapped SOL into your wrapped-SOL account. The example unwraps it in the same transaction; leave out that step if you would rather keep wrapped SOL.
- Your vault's balance is zero, and it fills up again as your coins trade.
- A claim with nothing in the vault fails, and nothing moves.
- The chain pays the Creator Fee only until graduation. The rest of what a Creator earns, on the curve and after graduation, is sent to the Creator's wallet by the platform and needs no claim.