Skip to main content
Precompiled contracts (precompiles) are built-in contracts available at fixed addresses that provide functionality beyond what standard EVM opcodes offer. MANTRA Chain includes the standard Ethereum precompiles as well as custom precompiles that bridge the EVM with the underlying Cosmos SDK modules.

Standard Ethereum Precompiles

These precompiles are part of the core Ethereum specification and are available on all EVM-compatible chains.
PrecompileAddressDescription
ECRecover0x0000000000000000000000000000000000000001Recovers the signer address from an ECDSA signature
SHA-2560x0000000000000000000000000000000000000002Computes the SHA-256 hash of the input
RIPEMD-1600x0000000000000000000000000000000000000003Computes the RIPEMD-160 hash of the input
Identity0x0000000000000000000000000000000000000004Returns the input data unchanged (used for memory copying)
ModExp (EIP-198)0x0000000000000000000000000000000000000005Performs modular exponentiation
ECAdd (alt_bn128)0x0000000000000000000000000000000000000006Performs point addition on the alt_bn128 elliptic curve
ECMul (alt_bn128)0x0000000000000000000000000000000000000007Performs scalar multiplication on the alt_bn128 elliptic curve
ECPairing (alt_bn128)0x0000000000000000000000000000000000000008Performs pairing checks on the alt_bn128 elliptic curve
BLAKE2F (EIP-152)0x0000000000000000000000000000000000000009Executes the BLAKE2b F compression function

MANTRA Stateless Precompiles

These custom precompiles extend the EVM with additional cryptographic and address-conversion utilities. They do not modify chain state.
PrecompileAddressDescription
P2560x0000000000000000000000000000000000000100Verifies P-256 (secp256r1) elliptic curve signatures
Bech320x0000000000000000000000000000000000000400Converts between hex and Bech32 address formats

MANTRA Stateful Precompiles (Cosmos Modules)

These precompiles provide EVM access to Cosmos SDK module functionality. Because they interact with on-chain state, they can read and write data just like a regular smart contract call.
PrecompileAddressDescription
Staking0x0000000000000000000000000000000000000800Delegate, undelegate, and redelegate MANTRA to validators
Distribution0x0000000000000000000000000000000000000801Claim staking rewards and manage distribution parameters
ICS20 (IBC Transfer)0x0000000000000000000000000000000000000802Send cross-chain IBC token transfers from the EVM
Vesting0x0000000000000000000000000000000000000803Create and query vesting accounts
Bank0x0000000000000000000000000000000000000804Query balances and send native tokens
Gov0x0000000000000000000000000000000000000805Submit and vote on governance proposals
Slashing0x0000000000000000000000000000000000000806Query validator signing info and slashing parameters
For details on how to interact with the Cosmos module precompiles from Solidity, see the Using Precompiles guide.