Builders
EVM compatibility
Use the Solidity contracts, wallets and tools you already know on STRAT chains.
Every STRAT chain runs the Ethereum Virtual Machine and exposes the standard JSON-RPC interface. In practice, that means you build exactly as you would for Ethereum or Base — the only thing that changes is the network you point your tools at.
What carries over
- Contracts — Solidity (and other EVM languages) compile to the same bytecode; standards such as ERC-20, ERC-721 and ERC-1155 work as-is.
- Frameworks — Foundry and Hardhat for building, testing and deploying.
- Libraries — audited building blocks such as OpenZeppelin Contracts; client libraries such as viem and ethers.
- Wallets — any EVM wallet (MetaMask, Rabby, Rainbow, Safe…) can connect by adding the network.
Network details
Each STRAT chain has its own network parameters. Tools and wallets need:
- RPC URL
- Chain ID
- Native currency name and symbol
- Block explorer URL
Deploy with Foundry
# Values come from your chain's deployment details
export STRAT_RPC_URL="<your chain's RPC URL>"
export PRIVATE_KEY="<deployer key — never commit this>"
forge build
forge test
forge create src/Counter.sol:Counter \
--rpc-url $STRAT_RPC_URL \
--private-key $PRIVATE_KEY \
--broadcastConnect with viem
import { createPublicClient, defineChain, http } from "viem";
export const stratChain = defineChain({
id: Number(process.env.STRAT_CHAIN_ID),
name: "My STRAT chain",
nativeCurrency: { name: "Gas token", symbol: "GAS", decimals: 18 },
rpcUrls: { default: { http: [process.env.STRAT_RPC_URL!] } },
});
export const client = createPublicClient({ chain: stratChain, transport: http() });
const block = await client.getBlockNumber();Add the network to a wallet
- Open your wallet's network settings and choose to add a network manually.
- Enter the network name, RPC URL, chain ID, currency symbol and block explorer URL for the chain.
- Save, switch to the network, and verify the chain ID matches the official value before signing anything.
Good practice
- Keep RPC URLs, chain IDs and keys in environment variables, never in source control.
- Test on a testnet first, then deploy to your chain.
- Verify your contracts on the chain's block explorer once it is available.