Testnet Access

resources external-dapp

Connect Hardhat / Foundry / wagmi / ethers / viem to Maroo Testnet — endpoints, chain ID, wallet config, env-var template.

Everything you need to point your tooling at Maroo Testnet. The chain is EVM-compatible — no Maroo-specific patches needed for Hardhat / Foundry / wagmi / ethers / viem. Add the network with the config below, fund a test wallet from the faucet, and you're connected.

Network configuration

FieldValue
Network nameMaroo Testnet
Network IDmaroo-testnet
Chain ID450815
Native currencytOKRW (Testnet OKRW), 18 decimals, base unit aokrw
RPChttps://rpc-testnet.maroo.io
WebSocketwss://ws-testnet.maroo.io
Block Explorerhttps://explorer-testnet.maroo.io
Faucethttps://faucet.maroo.io
KYC (mock)https://kyc-testnet.maroo.io
Indexer (Blockscout API)https://explorer-testnet.maroo.io/blockscout/api/v2

Mainnet chain ID is 815 (testnet 450815); endpoints follow the same naming pattern but without the -testnet segment (e.g. rpc.maroo.io).

Domain naming convention

Maroo subdomains follow a stable pattern so tooling can derive testnet ↔ mainnet pairs:

  • Mainnet: <service>.maroo.io
  • Testnet: <service>-testnet.maroo.io
  • Environment-agnostic (single canonical URL): maroo.io (landing), litepaper.maroo.io, docs.maroo.io


ServiceTestnetMainnet
RPCrpc-testnet.maroo.iorpc.maroo.io
WebSocketws-testnet.maroo.iows.maroo.io
Explorerexplorer-testnet.maroo.ioexplorer.maroo.io
Faucetfaucet.maroo.io— (mainnet has no faucet)
KYCkyc-testnet.maroo.iokyc.maroo.io
Indexerapi-testnet.maroo.ioapi.maroo.io

viem chain config

Drop this into your viem setup:
import { defineChain } from 'viem';

export const marooTestnet = defineChain({
  id: 450815,
  name: 'Maroo Testnet',
  network: 'maroo-testnet',
  nativeCurrency: {
    name: 'Testnet OKRW',
    symbol: 'tOKRW',
    decimals: 18,
  },
  rpcUrls: {
    default: {
      http: ['https://rpc-testnet.maroo.io'],
      webSocket: ['wss://ws-testnet.maroo.io'],
    },
  },
  blockExplorers: {
    default: {
      name: 'Maroo Explorer',
      url: 'https://explorer-testnet.maroo.io',
    },
  },
  testnet: true,
});

viem chain config

Use with wagmi by passing marooTestnet into createConfig's chains array.

Adding to MetaMask

Open MetaMask → Settings → Networks → Add network → Add a network manually. Fill in:

  • Network name: Maroo Testnet
  • New RPC URL: https://rpc-testnet.maroo.io
  • Chain ID: 450815
  • Currency symbol: tOKRW
  • Block explorer URL: https://explorer-testnet.maroo.io


After saving, switch to Maroo Testnet and visit the faucet (https://faucet.maroo.io) to receive test tOKRW.

Quick-start snippets

ethers.js v6:
import { JsonRpcProvider } from 'ethers';
const provider = new JsonRpcProvider('https://rpc-testnet.maroo.io');
const block = await provider.getBlockNumber();
console.log('current block:', block);

Quick-start snippets

web3.js:
import Web3 from 'web3';
const web3 = new Web3('https://rpc-testnet.maroo.io');
const block = await web3.eth.getBlockNumber();
console.log('current block:', block);

Quick-start snippets

Hardhat (hardhat.config.ts):
import { HardhatUserConfig } from 'hardhat/config';
import '@nomicfoundation/hardhat-toolbox';

const config: HardhatUserConfig = {
  solidity: '0.8.24',
  networks: {
    marooTestnet: {
      url: 'https://rpc-testnet.maroo.io',
      chainId: 450815,
      accounts: [process.env.PRIVATE_KEY!],
    },
  },
};
export default config;

Quick-start snippets

Foundry (foundry.toml):
[rpc_endpoints]
maroo_testnet = "https://rpc-testnet.maroo.io"

[etherscan]
maroo_testnet = { key = "unused", url = "https://explorer-testnet.maroo.io/blockscout/api" }

Environment variables template

Drop into your .env:
# Maroo Testnet
MAROO_RPC_URL=https://rpc-testnet.maroo.io
MAROO_WS_URL=wss://ws-testnet.maroo.io
MAROO_CHAIN_ID=450815
MAROO_NETWORK=maroo-testnet
MAROO_EXPLORER_URL=https://explorer-testnet.maroo.io
MAROO_FAUCET_URL=https://faucet.maroo.io
MAROO_INDEXER_URL=https://explorer-testnet.maroo.io/blockscout/api/v2
MAROO_KYC_URL=https://kyc-testnet.maroo.io

What you can do on testnet

  • Get test tOKRW from the faucet.
  • Run basic transfers between accounts (standard ERC-20-style on the OKRW precompile).
  • Deploy Solidity contracts with Hardhat / Foundry.
  • Walk through the KYC attestation flow against the mock KYC service.
  • Exercise both PCL paths — the Open Path for unrestricted transfers, and the Regulated Path (runOnPcl opt-in) where PCL evaluates policies before execution.
  • Look up agent identity via the Agent precompile (ERC-8004 IdentityRegistry preinstall).

Next Steps

ESC
Type to search