FAQ
FAQ
Real answers to the questions builders actually ask. Roko's testnet is live with gated access — some answers below carry honest dev-stage caveats, marked where they matter.
Is Roko EVM compatible?
Yes — your existing Ethereum tooling works unmodified. Roko ships Frontier (Substrate's Ethereum-compatibility layer), serving the standard `eth_`, `net_`, and `web3_*` RPC namespaces alongside Substrate RPCs on a single JSON-RPC port (default 9944, HTTP and WebSocket).
Accounts are Ethereum-native 20-byte addresses with no translation layer — your Substrate account is your EVM address. `block.timestamp` in Solidity stays the standard seconds-level value; nanosecond temporal data lives in the `temporal_*` RPCs and the temporal precompile, so nothing about your existing contracts breaks.
To connect MetaMask:
Network name: Roko Testnet
RPC URL: https://roko-testnetv2.ntfork.com
Chain ID: 442
Currency symbol: ROKO (18 decimals)
Running your own node? Point the RPC URL at `http://<your-node-host>:9944` instead — same APIs, same Chain ID.
What's the chain ID?
442 for the testnet, set at genesis across all testnet chain specs. The mainnet chain ID is TBD — it has not been assigned yet.
What's the block time?
The current testnet runs 2-second blocks. The production-testnet target is 6 seconds (the 2s value is an explicitly flagged development setting, tracked in-code as M-19), and the mainnet runtime is compiled at 3 seconds.
How do I get testnet tokens?
Currently, the deterministic path is Discord: join discord.gg/roko and post your address, and the team will fund you. The underlying faucet dispenses 100 ROKO per request by default, with a per-address cooldown and rate limiting; it opens to broad public access with the public testnet launch.
Is there a mainnet?
No. The testnet is the live network today. A mainnet runtime exists in code (3-second blocks), but no production mainnet genesis exists and the mainnet chain ID is still TBD — anything claiming otherwise isn't from us.
How is Roko's time different from a time oracle?
An oracle is a third party you trust to post the time on-chain. On Roko, time is a consensus product: validators run a peer-to-peer time mesh that measures clock offsets between peers, scores reputation, and converges on a mesh consensus time.
You query it directly — `temporal_getConsensusTime` returns nanosecond consensus time plus a time-quality score, convergence state, and peer count — and smart contracts on testnet can read it natively via the temporal precompile at `0x...0600` (`getConsensusTime()`, `getWatermark()`, `getTransactionTimestamp(bytes32)`). No external feed, no oracle subscription.
What about MEV and front-running?
Roko doesn't make vague MEV promises — it changes two specific, provable things about ordering:
1. Ordering is fixed at receipt by a deterministic rule. A timestamping queue (on by default) assigns each transaction a canonical nanosecond timestamp when it arrives at the pool; higher-fee transactions get earlier canonical timestamps. Fees still set priority — transparently, at the protocol level — but the block producer doesn't get to reorder around you, and per-block temporal ordering is enforced by the runtime at finalization.
2. Silent censorship is rejected at consensus. Every transaction gets an ECDSA-signed temporal receipt at pool admission. A block that omits a receipted transaction past its inclusion deadline (15 seconds by default, enforcement on by default) is rejected at block import. The deadline is an inclusion guarantee, not a speed claim.
This applies to Ethereum-submitted transactions too — wallets don't need any extra fields.
Can I run a validator?
You can run nodes today, and there's a real validator path:
- Build and run from source. Pin Rust 1.80.0 and build with `cargo build --release --features testnet`. A single dev node runs with `roko-node --dev --alice --database auto`, and `./run-e2e-local.sh --keep` spins up a full 3-validator local testnet with a live time mesh.
- Bring a time source — or don't, yet. Validators self-classify their time source: GNSS/PPS hardware earns the Anchor tier, while chrony/NTP and system clocks land in Standard/Minimal. For testnet experimentation without timing hardware, `--timesync-time-source mock-anchor` works (development/testnet only).
- Joining the live testnet validator set is currently registration-gated. Currently, new validators are added through a gated registration flow rather than open self-registration. If you want in, get in touch through the official channels.
How decentralized is the testnet right now?
Honestly: it's a gated development testnet, and it looks like one. The sudo pallet is present in both runtimes (full root governance during development), validator registration is sudo-gated, and time-quality slashing is implemented but currently disabled — violations are detected and recorded, not punished. These are deliberate dev-stage settings, disclosed here because you should know them before you build.
Did ROKO do an ICO or token sale?
No. ROKO never conducted a token raise of any kind — no ICO, no token sale, no presale. The token was stealth launched. Any document describing a ROKO token sale is fabricated; it didn't happen.
Where is the DAO treasury?
On-chain and publicly verifiable. The DAO treasury holds its assets at `0xc987AAa4edE4aB964883c5a768E57199643A593E`, and three DAO treasury multisigs hold further DAO assets:
- `0x1264aDFD955C353AFf6E267Df61f96973eC9BC65`
- `0x71C5957b5998D9fF8eeB757C5F42AB8566e90075`
- `0x560F45677c2Ddd24108BF23B950f1651E437194A`
All four are verifiable on Etherscan.
How do I stay updated?
Documentation lives at docs.roko.network; announcements go out via the official channels. Testnet access broadens as the network opens up.