Guides/EVM/Precompiles
Precompiles
Addresses, implementations, and reference pages for Bittensor EVM precompiles.
Bittensor precompiles are fixed-address contracts implemented by the Subtensor
runtime. Deployed means that the address is registered in the current runtime;
it does not imply complete coverage of the underlying runtime domain.
Proposed precompiles are not callable. Their documented addresses are
reserved for those domains, while their function selectors remain provisional
until the interfaces are implemented and released.
The extrinsic coverage audit tracks every runtime extrinsic in scope and identifies its deployed, proposed, or intentionally non-callable EVM treatment.
Ethereum and Frontier precompiles
| Precompile | Address | Status |
|---|---|---|
ECRecover | Deployed | |
Sha256 | Deployed | |
Ripemd160 | Deployed | |
Identity | Deployed | |
Modexp | Deployed | |
Dispatch | Deployed | |
Bn128Mul | Deployed | |
Bn128Pairing | Deployed | |
Bn128Add | Deployed | |
Sha3FIPS256 | Deployed | |
ECRecoverPublicKey | Deployed | |
Ed25519Verify | Deployed | |
Sr25519Verify | Deployed |
Bittensor precompiles
| Precompile | Solidity interface | Details |
|---|---|---|
BalanceTransferPrecompile | ISubtensorBalanceTransfer | Deployed |
StakingPrecompile | IStaking V1 | Deployed |
MetagraphPrecompile | IMetagraph | Deployed |
SubnetPrecompile | ISubnet | Deployed |
NeuronPrecompile | INeuron | Deployed |
StakingPrecompileV2 | IStaking V2 | Deployed |
UidLookupPrecompile | IUidLookup | Deployed |
StorageQueryPrecompile | Selectorless | Deployed · deprecation planned |
AlphaPrecompile | IAlpha | Deployed |
CrowdloanPrecompile | ICrowdloan | Deployed |
LeasingPrecompile | ILeasing | Deployed |
ProxyPrecompile | IProxy | Deployed |
AddressMappingPrecompile | IAddressMapping | Deployed |
VotingPowerPrecompile | IVotingPower | Deployed |
BalancePrecompile | IBalance | Deployed |
SchedulerPrecompile | IScheduler | Deployed |
DrandPrecompile | IDrand | Deployed |
TimestampPrecompile | ITimestamp | Deployed |
RuntimeConfigurationPrecompile | IRuntimeConfiguration | Deployed |
PrecompileRegistry | IPrecompileRegistry | Deployed |
Projects that need proactive event delivery should use project-scoped event relays instead of protocol-level event-reporting precompiles.
Released addresses and selectors remain reserved permanently. The compatibility and lifecycle rules are documented in Precompile design and lifecycle.