Docs

How roko works

roko launches fixed-supply tokens straight into a permanent, locked liquidity pool. Name it, add an image, sign one transaction, and it is tradeable from that block onward, with no presale, no migration and no liquidity to pull.

Everything runs on smart contracts on Arc. Your wallet signs every action and roko never holds your funds. The numbers on this page are read live from the contracts, so they are always current.

How it works

  1. Connect a wallet

    Use a browser wallet such as MetaMask or Rabby. roko offers to add the network if your wallet doesn't know it yet.

  2. Create a token

    Pick a name, ticker, image and optional socials, then choose the trade fee and launch protection. One transaction deploys the token and its pool together.

  3. Trade

    Anyone can buy or sell against the pool immediately. Price moves along a constant-product curve as the pool fills up.

  4. Graduate

    When the pool's real reserve reaches 16,800 USDC, the token graduates. Trading carries on in the same pool.

Launching a token

Every launch has a fixed supply of 1,000,000,000 tokens, all of it minted into the pool. Nobody, including the creator and roko, can mint more afterwards. The token's metadata (description, image, links) is stored on IPFS.

What the transaction does
  • Deploys the token and its pool
  • Mints the full supply into the pool
  • Locks in your fee and protection settings
  • Makes an optional first buy for you
What it costs
Launch fee
2 USDC
Optional first buy
any amount you choose
Network fee
paid in USDC, set by the chain

The optional first buy (the developer buy) happens in the same transaction, before anyone else can trade, and is not charged the snipe tax. Its size is visible on-chain, so buyers can see how much supply a creator took at launch.

Trading and pricing

Each token trades against its own pool, priced by the constant-product formula x · y = k. The pool starts with a virtual reserve of 4,800 USDC, which sets the opening price without anyone depositing it. Buying adds USDC and removes tokens, so the price rises; selling does the reverse.

The virtual reserve is never paid out. Sellers can only ever receive USDC that buyers actually put in, so the pool can never owe more than it holds.

Slippage. Before you confirm, roko quotes what you will receive and sets a minimum (0.5%, 1% or 3% below the quote, 1% by default). If the price moves further than that before your transaction lands, it fails and you keep your funds, paying only the network fee.

Launch protection

Creators choose two protections when they launch. Both are locked into the pool and can't be changed later.

Snipe tax

For the first few seconds (up to 120s, default 3s), buys pay a tax that starts at 99% and falls steadily to zero. It goes to the protocol treasury, not the pool. The creator and any team wallets they list are exempt.

Buy size cap

Right after launch (up to 20 blocks, default 2 blocks), each wallet can buy at most 5.5% of the supply. On this network the cap applies to each buy rather than each wallet.

Buying in the first seconds is expensive. A buy made while the snipe tax is high loses most of its value to the tax. The trade panel shows the current tax before you confirm. Separately funded wallets each get their own 5.5%, so the cap slows down a single buyer but can't stop a group of wallets working together.

Graduation

A token graduates once its pool holds 16,800 USDC of real reserve. It happens inside the trade that crosses the line, and the token moves to the Graduated section.

Nothing moves when a token graduates: no migration, no new pool, no liquidity changing hands. It is a milestone marker, and it stays set even if the reserve later falls back below the threshold, so treat it as history rather than a live measure of a token's health.

Fees

FeeAmountGoes to
Launch fee2 USDC per launchProtocol treasury
Trade fee0.25% to 5%, set by the creator70% creator, 30% protocol
Snipe tax99% falling to 0 during the launch windowProtocol treasury
Network feeset by the chainThe network

The trade fee is taken from the USDC side of every buy and sell. On a 100 USDC buy with a 1% fee, 1 USDC is the fee: 0.7 USDC to the creator and 0.3 USDC to the protocol. The rest goes into the pool.

Creator fees build up in the pool and the creator wallet claims them from its profile. Routing creator fees to holders instead is currently unavailable while a flaw in its payout maths is fixed.

Networks

roko runs on Arc. Each network trades in its own native asset: USDC on Arc, ETH on Robinhood Chain. Switch networks from the menu at the top of any page.

NetworkChain IDLaunch feeVirtual reserveGraduationLaunchesFactory
Arcmainnet50422 USDC4800 USDC16800 USDC00x102e…9093

Testnets use free test tokens with no value, which makes them the place to try a launch before doing it for real.

Connecting a wallet

Press Connect in the top bar and choose your browser wallet. If your wallet is on a different network, roko asks it to switch, and adds the network first if needed. You'll need a little USDC on that network to pay network fees.

Your wallet shows every transaction before you sign it. roko never asks for your seed phrase or private key, and never needs a spending approval to buy. Before a sale, your wallet may ask you to approve exactly the amount you are selling, so the pool can take those tokens and nothing more.

Safety

Non-custodial

Tokens and USDC stay in your wallet or in the pool contract. roko has no way to move them.

Locked liquidity

A pool's liquidity can't be withdrawn by the creator, by roko, or by anyone else. It only moves through trades.

Deployed contracts can't be edited. Settings changed by roko's admin apply to future launches only; every existing pool keeps the fee and protection settings it launched with. The one live link is the treasury address that the protocol's share of fees is sent to.

Tokens can lose all of their value. Anyone can launch a token, and a launch on roko is not an endorsement. Check the creator's first buy and the holder list before buying, and never trade more than you can afford to lose.

For developers

roko reads everything directly from the chain. It follows new blocks over WebSocket and indexes these events, with no separate database:

  • TokenCreated(token, pool, creator, name, symbol, metadataURI, index, timestamp)
  • Trade(trader, isBuy, nativeAmount, tokenAmount, fee, reserveNative, reserveToken, timestamp)
  • Graduated(reserveNative, timestamp)
  • CreatorFeesClaimed(to, amount)

Only pools created by a factory are genuine. Before trusting a pool address, check that LaunchFactory.poolOf(token) returns it.

FAQ

Can the creator pull the liquidity?

No. All of the supply goes into a pool that has no withdraw function. The only way USDC leaves a pool is a sale.

Why did my buy fail?

Usually the price moved beyond your slippage setting, or a buy was over the 5.5% cap during launch protection. When a transaction fails, nothing changes hands and only the network fee is spent. Try again with a smaller amount or a higher slippage setting.

Why did I get so few tokens right after a launch?

The snipe tax was still high. It starts at 99% and reaches zero after the launch window (3s by default). Waiting a few seconds avoids it.

Does graduating change anything about trading?

No. The token keeps trading in the same pool with the same fees. Graduation marks that the pool reached the threshold.

How do creators get paid?

The creator's share of every trade fee builds up in the pool. The creator wallet claims it from its profile at any time.

Can roko change my token after launch?

No. Fee and protection settings are fixed in the pool when it is created, and nobody can mint more supply.

Is there a token presale or allocation?

No. The whole supply starts in the pool. The only way to get tokens early is to buy them, including the creator's optional first buy, which is visible on-chain.

Ready to launch?

Try it on a testnet first if you are new: the flow is identical.