EVM Development
Specter provides full Ethereum Virtual Machine compatibility through the Cosmos SDK EVM module. Any Solidity smart contract that runs on Ethereum will run on Specter without modification.
What's the same as Ethereum
- Solidity, Vyper, and any EVM-compatible language
- Standard Ethereum JSON-RPC methods
- MetaMask, WalletConnect, and all Ethereum wallets
- Foundry, Hardhat, Remix, and all development frameworks
- ethers.js, viem, web3.js, and all client libraries
- OpenZeppelin and all Solidity libraries
What's different
| Feature | Ethereum | Specter |
|---|---|---|
| Chain ID | 1 | 5445 (testnet) |
| Gas token | ETH | GHOST |
| Block time | ~12 seconds | 1–2 seconds |
| Finality | Probabilistic (~12 min) | Instant (BFT) |
| MaxCodeSize | 24 KB | 64 KB |
| Consensus | Proof of Stake | CometBFT BFT |
| Native mint/burn | Not possible | Via 0x0808 precompile |
64 KB code size limit
Specter uses a custom go-ethereum fork that increases MaxCodeSize from 24 KB to 64 KB. This accommodates the PoseidonT3 library (~55 KB bytecode), which is required for ZK-friendly hashing in smart contracts. Standard contracts are unaffected.
Ghostmint precompile
The precompile at address 0x0808 lets authorized smart contracts mint and burn native GHOST tokens. This is how the Ghost Protocol commit-reveal system works at the consensus layer. See Ghostmint Precompile for details.
Gas price behavior
The Cosmos EVM module may return 0 from eth_gasPrice, but the chain enforces a minimum gas price of 1 gwei. Always set gas price explicitly:
const tx = await contract.someFunction({
gasPrice: 1_000_000_000n, // 1 gwei
});
Dual address format
Specter supports both Ethereum hex addresses and Cosmos Bech32 addresses:
- Ethereum format:
0x2bBd88eA213c76f2cA3BAeBaA20F3FA9c4B522e7 - Cosmos format:
specter1...(Bech32 withspecterprefix)
Both formats refer to the same underlying account. Use the Ethereum format for EVM interactions and the Cosmos format for staking, governance, and IBC operations.
Next steps
- Connecting MetaMask — wallet setup step-by-step
- Deploying Contracts — deploy with Foundry
- Foundry Setup — configure
foundry.tomlfor Specter - RPC Endpoints — complete JSON-RPC reference