Social launchpad. Before migration, only fomo traders and X-verified accounts can buy, enforced on-chain. No snipers, no bundles. A smarter way to fomo in.
FOMOPRIME is the social launchpad. Until a token graduates, only @fomo users and @X verified accounts can buy it. The restriction is enforced by the token's transfer hook on chain.
AFBH55QbRV4u6ipkxHPJZqZdUwnr7UTX232ZYhFCpump
Hook rules:
$4K to $15K market cap: https://t.co/pOsv7rTssL only. X verified accounts buy on https://t.co/pOsv7rTssL.
$15K to $40K: @fomo users can buy too.
$40K: the token graduates and trades everywhere on @solana.
Every https://t.co/pOsv7rTssL token launches on a @MeteoraAG Dynamic Bonding Curve as a Token-2022 mint with a transfer hook.
The hook executes on every buy against the curve and lets the transfer through when one of two conditions holds:
1. The transaction was co-signed by fomo, the key the app uses to sponsor every trade its users make.
2. The transaction carries a FOMOPRIME approval, signed by our backend after an X login and bound to that exact wallet and amount, placed immediately before the swap instruction.
Any modification to the transaction invalidates it.
Everything else fails with custom program error 6000. Sniper bots, bundlers, aggregators and terminals receive the same rejection from the program. There is no allowlist, no snapshot and no wallet blacklist, so there is nothing to maintain and nothing a backend outage can open by accident.
Selling is never gated. Any holder can sell at any time, before or after graduation.
At $40K market cap the curve fills, liquidity migrates to a Meteora DAMM v2 pool and the hook is removed from the mint. From that point the token trades on any venue on @solana like any other token. The gate covers only the part of a launch where bots operate.
The video below shows the full loop on mainnet: a token launched in one click, a buy from GMGN rejected by the program, and the same buy going through on the app, finalized on chain.
Creators choose their trading fee, 1 to 3 percent, and keep 60 percent of it. Supply is fixed at 1B and mint authority is burned at creation. Every address involved, including the hook program, is public and verifiable.
https://t.co/pOsv7rTssL
What happens to the last buy on a curve?
Say a token needs about 1.46 SOL to hit $40K and someone sends 2. On https://t.co/pOsv7rU0ij that buy goes out as a PartialFill swap. It fills exactly up to the top of the curve, and the part that doesn't fit stays in the buyer's wallet.
The quote is calculated in the same mode, so the numbers you see before signing are the numbers that fill. It's one line in our trade code, and it means the last buyer on every curve gets exactly the top of it and keeps the rest.
61 buys stopped at the gate. Real mainnet data from our first six days.
Every FOMOPRIME token carries our transfer hook. When someone buys from the curve, Token-2022 calls the hook inside the swap, and the hook checks for one of two things: a https://t.co/pOsv7rU0ij approval bound to that wallet and amount, or fomo's key co-signing the trade.
61 buys showed up with neither. Each one failed with BuyNotAllowed (error 6000) and the whole transaction reverted. No tokens moved. Another 15 came from bots that couldn't even supply the accounts the hook requires.
The logs in the image are from one of those transactions, straight from mainnet. You can look it up yourself.
This was the idea from day one: gate the curve on-chain, not in a UI. The data says it works.
Our GateConfig, read straight from mainnet. Four keys, four jobs.
The admin sets the roles. The launcher sets up each new token's hook. Neither can approve a buy. The approver signs buys for X-verified accounts on https://t.co/pOsv7rU0ij, and fomo's key co-signs trades inside the fomo app.
Give a launch key a buy role, or make fomo's key an approver, and the program rejects it with RoleConflict.
Every FOMOPRIME token has to pass five checks before our hook will attach to it. They all run on-chain, inside the instruction that gives the hook its accounts. Until that instruction succeeds, the token can't move at all.
1. Mint: the hook is ours, Meteora's DBC set it, and no mint or freeze authority is left.
2. Pool: it's this mint's pool, on this config, with this vault. No swapped-in accounts.
3. Supply: total supply equals the vault balance equals the curve's reserve. Every token that exists is sitting in the curve.
4. Config: fees go to FOMOPRIME's partner wallet, the hook is our program, and the config can't hand anyone a mint authority.
5. Provenance: a FOMOPRIME launch key that's still active registered the config on-chain. Rotate a key out and its old registrations stop working.
Check 3 exists because of one specific attack: mint extra supply, revoke the mint authority, then launch. Check 1 alone would pass that; check 3 doesn't. There's a test named after exactly that case, and it's in the screenshot with the rest. 25 of 25 passing.
This is a live FOMOPRIME token, pulled straight from mainnet.
Mint authority: null. Freeze authority: null. Metadata authority: null. The only thing still attached is the transfer hook, and it only lives as long as the curve does.
The swap that completes the curve at $40K clears it. Meteora's DBC sets the hook program and hook authority to null in that same swap, and nothing can set them back. Not us, not anyone.
What's left graduates to Meteora DAMM v2 as a plain Token-2022 token that trades anywhere.
Token-2022 calls our transfer hook on every transfer of a FOMOPRIME token. Every single one. So the real question is how you gate buys without breaking everything else.
The answer is one check. The hook reads who owns the account the tokens are leaving. If it isn't the curve's pool authority, the transfer isn't a buy, and the hook returns Ok(()) right there.
Sells go through untouched. Wallet-to-wallet sends go through untouched. You can always exit.
Only tokens leaving the curve's vault get checked, and they pass one of two ways: an approval from https://t.co/pOsv7rTssL bound to your wallet and your amount, or fomo's key co-signing the trade. Anything else fails with error 6000 and the whole transaction reverts.
That's the entire gate. The code in the image is straight from the program.
We documented the buy gate exactly the way the program runs it.
For every transfer of a fomoprime token still on its curve, the hook asks, in order:
Are tokens leaving the curve's vault? If not, it's a sell or a transfer. Allowed.
Is the instruction right before the swap a fomoprime approve_buy for this wallet and amount? Allowed.
Did @fomo's sponsor key sign, and is it listed in the transaction? Allowed.
Otherwise: BuyNotAllowed, error 6000, and the whole transaction reverts.
Full walkthrough: https://t.co/Sj7zMl2JZZ
When a bot tries to buy a fomoprime token before graduation, this is what its transaction log says:
Program log: Error Code: BuyNotAllowed. Error Number: 6000.
failed: custom program error: 0x1770
We publish every error the program can return, 6000 to 6026, with what triggers it and what to do about it.
The full reference is at https://t.co/zcaXr9Ym3B
Every token launched on https://t.co/pOsv7rTssL feeds $PRIME.
Creators pick a trading fee of 1, 2 or 3%. fomoprime's share of that fee, 20%, goes to buying back $PRIME and burning it. It's collected on every trade on every curve, buys and sells alike.
Graduation doesn't stop it. Once a token moves to its DAMM v2 pool, 25% of the pool's trading fees go to fomoprime's locked position, and they go to the same place.
More launches, more volume, less $PRIME. Every burn is on-chain for anyone to check.
$PRIME:
AFBH55QbRV4u6ipkxHPJZqZdUwnr7UTX232ZYhFCpump
Launching on fomoprime is one signature.
You fill in a name, a ticker and an image, pick SOL or USDC as the pair, pick a 1, 2 or 3% fee, and sign.
That single transaction creates the Token-2022 mint, attaches the transfer hook, opens the @MeteoraAG bonding curve and writes the metadata.
When it confirms, the token is live and the gate is already on.
Anatomy of a fomoprime buy.
One transaction, and inside it:
approve_buy: our backend signs an approval bound to your token account and a maximum amount.
DBC swap: @MeteoraAG's curve releases tokens from its vault.
Token-2022 transfer: mid-transfer, the token program calls our hook.
Hook: it reads the instructions sysvar, finds the approval sitting directly before the swap, and checks the account and amount against what is actually moving.
Match, and the transfer completes. Anything off, and it throws 6000 and the entire transaction reverts. Nothing half-executes.
For @fomo trades, the hook checks fomo's co-signature instead of our approval. Sells never enter this path.
https://t.co/pOsv7rU0ij
FOMOPRIME is the social launchpad. Until a token graduates, only @fomo users and @X verified accounts can buy it. The restriction is enforced by the token's transfer hook on chain.
AFBH55QbRV4u6ipkxHPJZqZdUwnr7UTX232ZYhFCpump
Hook rules:
$4K to $15K market cap: https://t.co/pOsv7rTssL only. X verified accounts buy on https://t.co/pOsv7rTssL.
$15K to $40K: @fomo users can buy too.
$40K: the token graduates and trades everywhere on @solana.
Every https://t.co/pOsv7rTssL token launches on a @MeteoraAG Dynamic Bonding Curve as a Token-2022 mint with a transfer hook.
The hook executes on every buy against the curve and lets the transfer through when one of two conditions holds:
1. The transaction was co-signed by fomo, the key the app uses to sponsor every trade its users make.
2. The transaction carries a FOMOPRIME approval, signed by our backend after an X login and bound to that exact wallet and amount, placed immediately before the swap instruction.
Any modification to the transaction invalidates it.
Everything else fails with custom program error 6000. Sniper bots, bundlers, aggregators and terminals receive the same rejection from the program. There is no allowlist, no snapshot and no wallet blacklist, so there is nothing to maintain and nothing a backend outage can open by accident.
Selling is never gated. Any holder can sell at any time, before or after graduation.
At $40K market cap the curve fills, liquidity migrates to a Meteora DAMM v2 pool and the hook is removed from the mint. From that point the token trades on any venue on @solana like any other token. The gate covers only the part of a launch where bots operate.
The video below shows the full loop on mainnet: a token launched in one click, a buy from GMGN rejected by the program, and the same buy going through on the app, finalized on chain.
Creators choose their trading fee, 1 to 3 percent, and keep 60 percent of it. Supply is fixed at 1B and mint authority is burned at creation. Every address involved, including the hook program, is public and verifiable.
https://t.co/pOsv7rTssL
Every token page on fomoprime shows which @fomo traders already hold it, how big their position is, and what they wrote about it. Buyers who signed in with X show up as themselves, not as a wallet address.
A chart tells you what happened to a token. This tells you who's in it.
What we're building next at fomoprime: stock-paired launches.
A creator picks a tokenized equity as the quote asset, @Backpack's Nike, AMD, Intel, Reddit and dozens more, and the token's @MeteoraAG bonding curve prices, collects and settles in that stock instead of SOL.
The hard part is the stack. Both sides are Token-2022: the token carries our transfer hook, and every stock mint has to be enabled as a quote asset on Meteora before a curve can hold it. Get that right and the curve fills with equity, fees accrue in equity, and at $40K the liquidity graduates into a TOKEN/STOCK pool that stays in the stock.
The gate stays on top: https://t.co/pOsv7rTssL until $15K, @fomo traders from $15K, open everywhere at $40K.
Stock-paired curves where only verified people can buy early. We haven't seen that anywhere else.
https://t.co/pOsv7rTssL
How do we know you're a person before you buy?
We don't use a captcha or a whitelist. You sign in with X, and when you buy, our backend signs an approval for your wallet and that exact amount. The approval goes into the same transaction, directly before the swap, and the hook checks both on-chain.
Until a token hits $15K, that approval is the only way in, so the first buyers of every launch are people on https://t.co/pOsv7rU0ij.
Change the wallet, raise the amount or move the instruction and the program rejects it. An approval issued to you is useless to anyone else, including a bot watching the mempool.
Custom program error: 0x1770
That's 6000 in hex, and it's the only response a sniper bot ever gets from a fomoprime token.
Every token we launch is a Token-2022 mint with a transfer hook, a program we wrote that runs on every transfer. Before graduation, tokens leaving the bonding curve's vault count as a buy, so every buy goes through it.
From launch to $15K, the hook only passes buys made on https://t.co/pOsv7rU0ij: the instruction right before the swap has to be an approval our backend signed for that specific wallet and amount, after an X login.
From $15K to $40K, trades co-signed by @fomo pass too, since fomo co-signs every trade made in its app.
Anything else fails on-chain. No worse price, no delayed fill. The bot pays the network fee and the curve doesn't move.
Selling never goes through that check. Anyone can exit at any time.
Could someone launch a token that pretends to use our gate? They could try.
Our hook only initializes for pools created from launch configs we registered on-chain, signed with our own keys, with fomoprime as the fee claimer. Any other pool, it refuses.
There's no way to borrow the gate for a token we didn't launch.
A good example of the gate working as designed. Before graduation, a fomoprime token can only be bought by X-verified accounts on https://t.co/pOsv7rTssL or by @fomo users after the first gate.
Other routes, including trading terminals and bundlers, are rejected on-chain by the token's transfer hook.
guys it works
just launched it on $PRIME
A6Wr58FGdKfS4YqyJ434tsMjnVeUavnCsmk2MmQa6ty1
we can't buy except if we verify we are a real user from X or by buying on fomo, it resolves the bundle problem and everything else related
this will send
@FomoPrime
If you trade on @fomo, you don't need anything from us. No account, no new wallet, no bridge.
fomo co-signs every trade its users make, and that co-signature is exactly what our transfer hook looks for. Once a token passes $15K, buys from the fomo app go through the same check as our own app, without a single extra step.
Below $15K the curve belongs to https://t.co/pOsv7rTssL. Above it, fomo traders are in. At $40K it's open to everyone.
https://t.co/pOsv7rU0ij factory
The first buyers of every launch are people, not scripts. Tokens launch on @MeteoraAG, a transfer hook decides who can buy until graduation, and @fomo traders are part of it from day one.
Everything is on-chain and public:
Gate program (transfer hook)
JCru37BxoujobuWBFR7kBCWXNCDUuoRuWRgKHAzpkduG
Gate config
HgCGV9ZhGcTkgw4asenDg64HtvCiXsVcg5UEeHYqgGr
Meteora Dynamic Bonding Curve
dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN
Fee wallet
73x5jVDYar13oqNk231r6ZsNPn3YZHP2u4hRhbQpYHao
$PRIME, our official token
AFBH55QbRV4u6ipkxHPJZqZdUwnr7UTX232ZYhFCpump
https://t.co/pOsv7rU0ij
https://t.co/pOsv7rU0ij factory
The first buyers of every launch are people, not scripts. Tokens launch on @MeteoraAG, a transfer hook decides who can buy until graduation, and @fomo traders are part of it from day one.
Everything is on-chain and public:
Gate program (transfer hook)
JCru37BxoujobuWBFR7kBCWXNCDUuoRuWRgKHAzpkduG
Gate config
HgCGV9ZhGcTkgw4asenDg64HtvCiXsVcg5UEeHYqgGr
Meteora Dynamic Bonding Curve
dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN
Fee wallet
73x5jVDYar13oqNk231r6ZsNPn3YZHP2u4hRhbQpYHao
$PRIME, our official token
AFBH55QbRV4u6ipkxHPJZqZdUwnr7UTX232ZYhFCpump
https://t.co/pOsv7rU0ij
Launching on fomoprime is one signature.
You fill in a name, a ticker and an image, pick SOL or USDC as the pair, pick a 1, 2 or 3% fee, and sign.
That single transaction creates the Token-2022 mint, attaches the transfer hook, opens the @MeteoraAG bonding curve and writes the metadata.
When it confirms, the token is live and the gate is already on.