daitchain

EVM JSON-RPC

DAIT ships a parallel EVM via cosmos/evm v0.6.0 with Block-STM. The JSON-RPC surface is fully Ethereum-compatible: MetaMask, ethers, viem, web3.js, and web3.py work without modification. ChainID 4090 on devnet/testnet.

Endpoint

https://rpc.daitchain.io      (Phase 1 testnet, EVM JSON-RPC)
http://127.0.0.1:8545         (local devnet)
wss://rpc.daitchain.io/ws     (eth_subscribe)

Adding the network to MetaMask

Network name:   DAIT testnet
RPC URL:        https://rpc.daitchain.io
Chain ID:       4090
Currency:       DAIT
Explorer:       https://explorer.daitchain.io

Differences from Ethereum mainnet

DetailDAITEthereum
Block time~999ms (target 369ms post-IAVLx)~12s
Block gas limit99M30M
FinalitySingle-slot, instant on commitProbabilistic / 2-epoch
EIP-1559Yes (cosmos/evm fee market)Yes
Parallel executionBlock-STM opt-in (per-tx)No (sequential)
Native assetDAIT (18 decimals on EVM, 6 on Cosmos)ETH

DAIT bridges across the EVM/Cosmos seam via x/erc20: a Cosmos coin can be wrapped 1:1 to an ERC-20 representation and back. The native asset's decimal mismatch (uDAIT = 1e-6 vs aDAIT = 1e-18) is handled by the precise-bank module.

Quick test with ethers.js

import { JsonRpcProvider, formatEther } from "ethers";

const provider = new JsonRpcProvider("https://rpc.daitchain.io");

const block = await provider.getBlockNumber();
console.log("latest block:", block);

const balance = await provider.getBalance("0xYourAddr");
console.log(formatEther(balance), "DAIT");

WebSocket subscriptions

const ws = new WebSocket("wss://rpc.daitchain.io/ws");
ws.send(JSON.stringify({
  jsonrpc: "2.0", id: 1, method: "eth_subscribe",
  params: ["newHeads"]
}));

Precompiles

The cosmos/evm baseline ships staking and bank precompiles so EVM contracts can interact with Cosmos modules directly. DAIT additionally exposes:

Final precompile addresses are pinned at Phase 1 alpha. The contracts package will publish a TypeScript wrapper.

Block-STM and parallel execution

By default, EVM transactions execute sequentially. Transactions can opt into Block-STM parallel execution via a tx flag; the executor speculatively schedules independent reads/writes and rolls back on conflict. This is opt-in because it changes gas accounting in edge cases.

See also