GIWA is a new Ethereum L2. Its testnet is live, its mainnet is coming, and it had no place to trade a token. So we brought our own. This is how xpad went from zero DeFi to a working launch, trade and holder-reward stack on GIWA Sepolia, and how you can use it today.
Every new chain arrives the same way: block explorer up, bridge open, a handful of system contracts, and then a long quiet stretch before anyone can actually do anything with it. GIWA is one of the most anticipated of this wave, an OP Stack L2 built in the Ethereum lineage, EVM to the byte, gas paid in ETH. When its Sepolia testnet came online, we went looking for the one thing a launchpad needs to exist at all: a decentralized exchange.
There wasn't one. We checked every canonical Uniswap address, V3 and V4, the factory, the router, the position manager, the quoter, and the Base-fork variants too. Empty bytecode at all of them. The public ecosystem page listed no DEX. The explorer held a few dozen verified system predeploys and nothing resembling DeFi. For a token launchpad, that is the whole world missing.
You can wait for someone else to deploy the rails, or you can deploy them yourself and be the reason the chain has a market at all.
We chose the second one. Being a specialist on a chain is not a press release, it is showing up before the tooling does and building the missing layer. So that is what this dispatch is: the facts, the engineering, the token we launched to prove it, and a short guide so you can go stand on the same floor we built.
Everything below is testnet. Real ETH is not at risk, prices are not real, and nothing here is a mainnet claim. What is real is that the full launch-and-trade path executes onchain, exactly as it will on mainnet the day it opens.
GIWA's public RPC (sepolia-rpc.giwa.io) is rate-limited and unreliable for sending transactions. We run our indexer on it because it serves event logs reliably, but for a wallet you want a gateway that returns consistent state and broadcasts cleanly. Pocket's free endpoint does both, no key required. Put that one in your wallet, further down.
A launchpad is the visible part. Under it sits an exchange. On GIWA we had to deploy both, in order, and get past a few things that only bite on a brand-new OP Stack chain.
Uniswap's core compiles under Solidity 0.7.6, ours runs on 0.8.28, so we deployed from Uniswap's audited prebuilt artifacts rather than recompiling, and hand-linked the NFTDescriptor library into the position descriptor. Factory, then descriptor libraries, then the position manager, the router and the quoter, each read back onchain before the next. WETH was already there as an OP predeploy, so the pair had a native leg from block one.
The launcher, the token implementation, and the holder-yield machinery are byte-identical to what we run on our other chains, which is the whole point: the contracts port cleanly because an OP Stack L2 behaves like the chains they already run on. Trading fees route through a fee locker and a distributor that pays holders automatically, with the rest split to the creator and treasury. Nothing custodial, nothing manual.
Being early means being the one who hits the sharp edges. Two were worth writing down.
getNonce("latest") lags a beat behind reality, which quietly breaks deterministic CREATE address prediction. Fix: read the pending nonce, pin nonces explicitly, and retry state reads that momentarily see no code.0.001 gwei, a stock 1.5 gwei priority-fee default makes maxPriorityFeePerGas > maxFeePerGas, which every wallet rejects before signing. On low-fee L2s you let the wallet set the fees. Our app already handles this for GIWA, so your trades just work.| Contract | Address | |
|---|---|---|
| UniswapV3Factory | 0x3ed1D5252bc1B63cE3e013Db8Cc045338e7df931 | ours |
| NonfungiblePositionManager | 0xeEd145BFe7EbA7D479Aa74Fc56dB62498C4F11c6 | ours |
| SwapRouter02 | 0x8C42b261785d10f497b71114de66e815aa3f5cAd | ours |
| QuoterV2 | 0x26932360d10286678B8a3962377eE7bb7934F587 | ours |
| WETH9 | 0x4200000000000000000000000000000000000006 | predeploy |
| Contract | Address | |
|---|---|---|
| PumpFactoryV3 | 0x2A54D5D92529f75039Bd8eEa24BC5a8Ca2D7baf1 | ours |
| FeeLockerHolderYield | 0x26a5e9414e1a9143EAA0B210973E5b9EBc290298 | ours |
| HolderDistributor | 0xd01344eb63cFc2409B8A752755CeBd08aa78CE8B | ours |
| TreasurySink | 0xd344B6209eA07D49Be5ab2c0e02417bCf69cF973 | ours |
| XpadTokenV3 (impl) | 0x0D6A148962A23895040e80BCBF931Cc46B376c87 | ours |
Every address above is live on GIWA Sepolia and clickable to the explorer. Verify us, do not trust us.
Horangi (νΈλμ΄) is the Korean word for tiger, the animal that guards the front door in old folk paintings. It felt right for the first token to walk through a door we had just built. HORANGI launched, took a real buy, moved its own chart, and paid its holder-yield split, all onchain, all indexed in real time on xpad.
The address ends in EF1 on purpose. It is an xpad house mark: every launch we mint carries a def1 tail, mined into the deploy salt, so you can spot one of ours at a glance.
Four steps from a cold wallet to a live trade on GIWA Sepolia. It is testnet, so the only thing you can lose is a few minutes.
In MetaMask, open Settings → Networks → Add a network → Add manually, and enter these exactly. The RPC choice is the part people get wrong, use the Pocket one and broadcasts just work.
GIWA Sepoliahttps://giwa-sepolia-testnet.api.pocket.network91342ETHhttps://sepolia-explorer.giwa.ioYou need a little GIWA ETH to pay for transactions. Two ways:
faucet.lambda256.io/giwa-sepolia (about 0.01 ETH per day).A single trade costs a rounding error at ~0.001 gwei, so a daily faucet claim goes a very long way.
MetaMask runs the same on Firefox as anywhere, with two settings worth checking if a connection stalls.
addons.mozilla.org, pin it, and if you browse in Private Windows, enable the extension there under Manage Extension → Run in Private Windows.xpad.fun as an exception, then reload.Open HORANGI on xpad, connect, confirm the network is GIWA Sepolia, enter an amount and buy. To mint your own, head to xpad.fun/create, pick GIWA, and the same launcher that made HORANGI makes yours, holder-yield and all.
GIWA mainnet is not live yet, and we are not pretending otherwise. What we have done is the work that usually happens after a mainnet opens: proven the exchange, the launcher, the indexing and the holder rewards end to end, on the testnet, so that when GIWA mainnet arrives the switch is a config change and not a build. The tiger is already at the door. We are just waiting for it to open.