Koinos EVM Quest

connect Β· faucet Β· swap Β· leave your pixel β€” all zero-gas

⚠️ Koinos Foundation testnet. Chain 42069 is an experimental EVM β€” a real revm engine compiled to WASM, running inside a Koinos smart contract. Tokens here are worthless and state may reset. Gas price is 0 because every transaction you send is wrapped in a Koinos transaction paid by the relay operator's mana, which regenerates over time β€” nobody buys gas.
  1. 1
    Connect MetaMask
    Adds the Koinos EVM testnet (chain 42069) to your wallet. No gas token needed β€” ever.
    How it works

    The "RPC URL" MetaMask talks to is not a normal Ethereum node β€” it's a thin Rust proxy that translates Ethereum JSON-RPC into Koinos calls. The EVM itself is revm (the same engine Foundry uses) compiled to WASM and deployed as a smart contract on the Koinos testnet (1E8igxy…caAoE). On Ethereum, changing the VM is a hard fork; here the whole EVM can be upgraded in place with one contract upload β€” with all state preserved.

    β—‹
  2. 2
    Mint faucet tokens
    Self-serve 1,000 TFA straight from the token contract. Balance: β€” TFA Β· β€” TFB
    How it works

    TFA is a standard OpenZeppelin ERC-20 with an intentionally open mint(address,uint256) (testnet only!). Your wallet signs a normal secp256k1 Ethereum transaction β€” same bytes as on mainnet. Notice your account has zero balance of anything and it still works: the relay wraps your raw signed tx into a Koinos transaction and pays the mana itself. After it confirms, check the Under the hood panel below to see both halves of that trick.

    β—‹
  3. 3
    Swap on real Uniswap V3
    Swap 10 TFA β†’ TFB through the genuine V3 SwapRouter + 0.3% pool.
    How it works

    This is not a clone: it's the real @uniswap/v3-periphery v1.3.0 SwapRouter and a real concentrated-liquidity pool (0.30% fee tier), deployed byte-identical from the official artifacts and verified to the wei against a reference EVM. Two txs happen: an ERC-20 approve granting the router an allowance, then exactInputSingle. You'll receive slightly less than 10 TFB β€” that's the 0.3% LP fee plus real price impact on the pool's liquidity curve.

    β—‹
  4. 4
    Leave your pixel
    Draw on the shared 64Γ—64 canvas below β€” every batch is one on-chain tx.
    How it works

    The canvas is a contract storing 4,096 pixels packed 32-per-256-bit-word (8 bits each, 16-color palette). setPixels() paints up to 128 per tx. Cost is dominated by how many storage words you touch (~22k gas per cold word), so the page estimates gas word-aware and splits scattered drawings into several txs β€” clustered pixels are cheapest. Everyone's strokes arrive live via eth_subscribe("logs") over a WebSocket on the same RPC port, decoded from PixelsSet events.

    β—‹

The Canvas

connecting…
Pick a color, then click or drag on the canvas
β€” pixels painted on-chain yours: β€”

Live activity

PixelsSet events Β· WebSocket push