Start here
Quickstart
Set up your wallet on GIWA Sepolia and launch a token in a few minutes.
What you need#
A browser wallet that can add a custom network. MetaMask, Rabby, Brave, Coinbase Wallet, Phantom, and OKX all work, and so does anything else the browser exposes as an injected wallet. Connections go straight to the wallet, so there is no QR code step and no project registration.
1. Add GIWA Sepolia#
The fastest route is to open joseon.fun, hit connect, and approve the network prompt your wallet shows. If you would rather add it by hand:
| Field | Value |
|---|---|
| Network name | GIWA Sepolia |
| Chain ID | 91342 |
| RPC URL | https://sepolia-rpc.giwa.io |
| Currency symbol | ETH |
| Block explorer | https://sepolia-explorer.giwa.io |
Or ask the wallet to add it from your own code:
await window.ethereum.request({
method: 'wallet_addEthereumChain',
params: [{
chainId: '0x16CCE', // 91342
chainName: 'GIWA Sepolia',
nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },
rpcUrls: ['https://sepolia-rpc.giwa.io'],
blockExplorerUrls: ['https://sepolia-explorer.giwa.io'],
}],
});2. Get test ETH#
GIWA Sepolia ETH comes from Ethereum Sepolia over the standard OP Stack bridge: grab Sepolia ETH from any faucet, then bridge it across. How much you need depends entirely on what you plan to do.
| What you are doing | Roughly |
|---|---|
| Creating a token | 0.000005 ETH of gas |
| A curve buy or sell | well under 0.00001 ETH of gas |
| Taking a curve all the way to graduation yourself | ~3.68 ETH, fee included |
Creating and trading cost almost nothing. Only finishing a curve single-handed needs a real balance, and that is because you are the one supplying the 3.6 ETH the pool opens with.
3. Launch a token#
On joseon.fun, hit Create and fill in:
- Name and symbol. Written on-chain, permanent.
- Image and description. Stored off-chain and reachable from the token itself through its
tokenURI(), optionally pinned to IPFS. You can edit these later; nobody else can. - Fee recipient. One wallet, yourself by default. The registry stores a single address per launch, so there is no percentage split — see fees.
- An optional first buy. It runs inside the creation transaction, so you are first on your own curve instead of racing anyone.
Approving deploys your token and its curve, and reserves the DEX pair the launch will eventually graduate into. The token shows up in the feed within a block or two.
4. Trade the curve#
Buys take ETH and quote tokens out. Sells take tokens and quote ETH out. Both charge 2%, and both show you the exact numbers before you sign, including whether your buy is the one that finishes the curve.
Ask for more than the curve has left and it simply uses what it needs, refunding the difference in the same transaction. There is no way to overpay into a graduation.
Sells need an approval first, since the curve pulls the tokens from your wallet. The UI handles that step for you.
5. What graduation looks like#
The buy that empties the curve does everything at once: 3.6 WETH and 200M tokens go into the pool, the opening LP position goes straight into a locker with no withdraw function, and the launch flips to pool trading.
Nothing changes for you visually. The token page keeps working, trades route through the pool instead of the curve, and the chart stitches both venues into one continuous series.
A live example: Test graduated at block 31794129 with 3.6 WETH and 200,000,000 tokens, and its opening LP position
is still sitting in the locker where anyone can read it.
Doing it without the UI#
All of the above is a contract call. Contract calls has copy-paste viem snippets for create, buy, sell, swap, and fee claims, and network has the addresses to point them at.