ReefLaunch guide
Open Reef
BETA: not independently audited, on an early-stage chain. AI-assisted security review. Only use what you can afford to lose.

Launch a token on Reef

Anyone can launch a token on Reef. There is no listing form and nobody to ask. You deploy the token yourself, create its first pool with BDAG, and lock the liquidity so buyers can see you can't pull it. This page walks through it, with NOCAP's contracts as a real example to compare against.

Your token, your responsibility. Reef doesn't review, approve or endorse tokens. A pool on Reef is not a recommendation. Only launch something you're prepared to stand behind, check the rules where you live, and don't make promises about price. Reef is unaudited beta software on an early-stage chain.

Before you start

  • A wallet on the community chain 1404. RPC https://rpc.blockdag.engineering (or any node from the public RPC list), explorer explorer.blockdag.engineering. Two separate networks use chain ID 1404, so check your wallet's RPC before you sign anything.
  • BDAG for gas, and for the BDAG side of your pool. Deploying and adding liquidity cost a little gas. The pool itself needs as much BDAG as you want to pair with your token.
  • A plan for the numbers: total supply, how much goes into the pool, how much you keep (and whether you lock or vest that), and the starting price.
Use one wallet throughout. Deploy the token, create the pool and lock the LP from the same wallet. It keeps the story simple for buyers to check, and it's what the airdrop's Tier 3 looks for.

1. Deploy the token

Reef works with any standard ERC-20 token. The simplest honest token is a fixed supply minted once to you, with no owner and no way to mint more. Buyers can read that in the code instead of taking your word for it.

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract MyToken is ERC20 {
    constructor() ERC20("My Token", "MYT") {
        _mint(msg.sender, 1_000_000_000 * 10 ** decimals()); // fixed supply, minted once
    }
}
  1. Open Remix, create a file, paste the contract and change the name, symbol and supply.
  2. Compile it (Solidity 0.8.20 or later).
  3. Under Deploy, choose Injected Provider so Remix uses your wallet. Check your wallet shows chain 1404 on the community RPC, then deploy and confirm.
  4. Copy the new contract address from Remix or the explorer. This address is your token's identity: names and symbols can be copied by anyone, addresses can't.
  5. If you can, verify the source on the explorer so anyone can read it.
Avoid hidden levers. Transfer taxes, blacklists, pausing, owner-only minting and adjustable fees all make buyers (rightly) nervous, and some break normal swaps. If your token has any of these, say so plainly.

2. Create the pool

On Reef, a pool is created the first time someone adds liquidity for a pair. That first deposit also sets the starting price.

  1. Open Reef, connect your wallet and choose the Pool tab, then Add liquidity.
  2. Pick BDAG on one side. On the other side, paste your token's address into the token search.
  3. Reef shows "No pool exists yet for this pair". Enter both amounts. The ratio you enter is the starting price.
  4. Approve your token (Reef asks for the exact amount, never unlimited), then confirm the add.
  5. You receive LP tokens for your share of the pool. Keep them safe; step 3 locks them.

Working out the starting price

Price per token = BDAG deposited ÷ tokens deposited. For example, 25,000 BDAG with 1,000,000 tokens starts at 0.025 BDAG per token. If you put in too few tokens for the BDAG, the first traders buy the cheap side and you lose the difference, so double-check the ratio before you confirm.

Small print from the pool contract. A tiny amount of the first deposit (1,000 of the smallest LP units, far less than a cent) is locked forever. This is standard protection against a pricing attack on new pools. Every trade pays a 0.30% fee: 0.25% to liquidity providers, 0.05% to Reef's treasury.

3. Lock the liquidity

Whoever holds the LP tokens can withdraw the pool at any time. Locking them in a time-lock contract and publishing its address is the clearest way to show buyers you can't.

  1. Deploy a simple time-lock that holds the LP token until a fixed date. NOCAP's lock is a short contract: it takes the LP token, a beneficiary and a duration of at least 6 months, and only lets the beneficiary withdraw after unlockTime. Anyone can read unlockTime() and timeRemaining() on the explorer.
  2. Send your LP tokens to the lock contract.
  3. Publish the lock address, the unlock date and the transaction, alongside your token address.
  4. Point people to unlockTime() on the lock contract in the explorer, so they can check the date themselves instead of taking your word for it.

4. Tell people

  • Post the token address, the pool and the lock address together, and ask people to check them on the explorer.
  • Share a ready-made swap link. It opens Reef with your pair filled in and nothing sent until the buyer confirms: https://reefdex.fyi/?from=BDAG&to=YOUR_TOKEN_ADDRESS
  • Say what your token is and isn't. Plain, honest wording ages better than promises.
  • Never DM people first, and warn your community that anyone sending them a different address isn't you.

REEF airdrop, Tier 3

During the REEF airdrop window (Wed 7 Oct 09:00 to Fri 6 Nov 09:00, UTC+7), deploying your own token and creating its first Reef pair with at least 25,000 BDAG of your own liquidity counts as Tier 3, which is worth 10 shares. The action is credited to the wallet that signed it, and only BDAG pairs count.

Places go to the first 1,000 wallets by their first qualifying action, and the final list is worked out from on-chain events after 6 Nov. The airdrop check on Reef's main page shows which of a wallet's actions match the rules so far. See the full airdrop rules.

Don't launch a token just for the airdrop. A token with a pool is a public thing that other people may buy. Launch because you mean it.

Example: NOCAP

NOCAP has the three pieces this guide describes: a token contract, a NOCAP/BDAG pool on Reef, and a time-lock contract holding the pool's LP tokens. Check each one yourself on the explorer.

NOCAP tokenERC-20
0x17AEE3EEDA0d12E3A6a9A6078d028B88F9C91752
NOCAP / BDAG poolReef pair
0x02c50110bdf1af6cfa54302bd6fbb6dd917fa046
LP time-lockholds the pool's LP tokens
0x5520cC4E80E86E99c5A6A748C506d80f0d274bB1

On the lock contract, unlockTime() shows when the LP can be withdrawn and timeRemaining() shows how long is left.

Questions

Does Reef charge a listing fee?

No. There's no listing and no fee to create a pool. You pay normal network gas, and traders pay the 0.30% swap fee.

Can I pair my token with something other than BDAG?

Yes, any two tokens can have a pool. A BDAG pair is the easiest for people to reach, and it's the only kind that counts for the REEF airdrop.

Can I add more liquidity later?

Yes. Anyone can add to an existing pool at the current price. New LP tokens you receive aren't locked unless you lock them too.

Can Reef remove my pool or token?

No. Pools are permissionless contracts. Reef's site may hide a pair from its own lists, but the pool keeps existing on-chain.

Will Reef promote my token?

No. Reef doesn't endorse tokens. If you'd like help with a launch (token, pool, lock, site), that's a separate paid service: benjiprojects1404 services.