Add the network
1
Open MetaMask
Click the network selector at the top of the extension and choose Add network.
2
Add network manually
Paste the following values:
3
Save
MetaMask will validate the RPC by issuing
eth_chainId. If the URL is reachable,
the network appears in your list.Import a test account
Use the Import account → Private Key flow with one of the testnet keys:Account #1 (1,000,000 YCE)
Send a transaction
Click Send, paste any other address, and submit. MetaMask will:- Call
eth_estimateGas— the node simulates and returns the gas. - Call
eth_gasPrice— the node returns 1 gwei. - Ask you to confirm the EIP-1559 fee structure.
- Submit via
eth_sendRawTransaction.
Troubleshooting
MetaMask says 'could not connect'
MetaMask says 'could not connect'
The testnet is plain HTTP. Some MetaMask installations (especially the mobile app or
stricter browser profiles) block cleartext HTTP. Work around by using the
web wallet or waiting for the HTTPS rollout.
Transactions stuck as 'pending'
Transactions stuck as 'pending'
Check
eth_getTransactionCount for your address — if the nonce already matches the
pending tx, the block was produced but MetaMask is polling slowly. Open the
explorer and search the hash directly.'Insufficient funds for gas'
'Insufficient funds for gas'
Root cause (confirmed against MetaMask source, 2026-05-22): MetaMask’s
“Insufficient funds” alert reads from
AccountTrackerController’s per-chainId
Redux cache, not from a live eth_getBalance. For custom chains added via the
“Add Network” flow, that cache stays at 0x0 until MetaMask’s polling kicks
in — which only happens after you open the MetaMask popup on that network.If you’ve only interacted with YouthChain through the dashboard and never opened
the MetaMask popup on YouthChain Testnet, the cache is empty and any tx will
be flagged “Insufficient” no matter how much native YCE you have on-chain.Fix:- Click the MetaMask icon in your browser toolbar.
- Select YouthChain Testnet from the network dropdown.
- Wait for the balance to appear under the network name (1–2 seconds).
- Return to the dashboard and click Claim again — it will succeed.
signAndSend flow attempts a wallet_switchEthereumChain +
eth_getBalance via the MM provider before every send to pre-warm the cache.
If you’re still hitting the alert, the workaround above always works.Gasless fallback: the YCR Rewards tab has a secondary “Claim gasless” button
that uses /api/mobile/claim and the oracle wallet — no signature needed.
This is a testnet-only affordance; on mainnet you’ll always pay your own gas.Where do I see my real native balance?
Where do I see my real native balance?
The dashboard card labeled “YCE Balance” shows the ERC-20 YCEToken balance
(
0x6a22…) — what you hold in the application token. Gas fees are paid in native
YCE (the ledger account, returned by eth_getBalance). MetaMask shows that one
under the YouthChain Testnet header. They can — and on a fresh wallet, will —
differ by orders of magnitude.