app/evm/precompiles.go and uses the upstream implementations from the cosmos/evm repo. The EVM is live on testnet (lumera-testnet-2) only. Mainnet runs v1.12.0 and gains the EVM with its upgrade.
The Vesting precompile (
0x0000000000000000000000000000000000000803) is intentionally excluded. The current Cosmos EVM default registry does not provide an implementation for it.Shared types
Precompiles that accept pagination or return coins share these Solidity types.Types.sol
P256
Verifies NIST P-256 (secp256r1) signatures per EIP-7212. This curve backs WebAuthn passkeys, hardware security modules, and mobile secure enclaves, so contracts can verify signatures from those devices on chain.
There is no Solidity interface. Call it with a raw
STATICCALL and exactly 160 bytes of input.
It returns
uint256(1) as 32 bytes on success and empty data on failure.
Bech32
Converts addresses between hex (EIP-55) and Bech32 (Cosmos) formats. Use it whenever a contract needs to hand a
lumera1... address to a Cosmos-native module or display one to users.
Bech32I.sol
Staking
Full EVM interface to the Cosmos SDK staking module. Contracts can create validators, manage delegations, and read staking state.
Transaction methods.
Query methods.
It emits the events
CreateValidator, Delegate, Unbond, Redelegate, CancelUnbondingDelegation, and EditValidator.
Distribution
Handles staking reward distribution. Contracts can claim rewards, set withdrawal addresses, and read reward balances.
Transaction methods.
Query methods.
ICS20
Sends IBC fungible token transfers directly from Solidity. This is the primary way EVM contracts move tokens across chains.
The single transaction method is
transfer(string, string, string, uint256, address, string, Height, uint64, string) with these parameters.
Query methods are
denom(string), denoms(PageRequest), and denomHash(string) for denomination traces. It emits an IBCTransfer event.
Bank
Read-only queries for native token balances and supply. It exposes no transaction methods. Token transfers use the normal EVM transfer path or the other precompiles.
IBank.sol
Gov
Full EVM interface to the Cosmos SDK governance module. Contracts can submit proposals, deposit, vote, and read governance state.
Transaction methods.
The
VoteOption enum values are Unspecified(0), Yes(1), Abstain(2), No(3), and NoWithVeto(4).
Query methods.
Slashing
Manages validator jail status. A validator can unjail itself from the EVM, and any contract can read signing info.
ISlashing.sol
Address summary
The full upstream reference with every interface file lives in the cosmos/evm precompiles source and the Lumera standard precompiles doc.
Next steps
Action precompile
Drive Cascade and Sense actions from your contracts.
SuperNode precompile
Read SuperNode state and metrics on chain.
Deploy with Remix
Deploy and test a contract against Lumera testnet.