Does Injective EVM Support (EVM feature)?A: Generally, the answer is “yes”.
See below for more specific questions.Does Injective EVM Support these specific opcodes?A: Yes. We have parity with opcode implementation.
More precisely: We have not added any custom opcodes,
neither have we modified the behaviour of any opcodes.Does Injective EVM Support ERC20, ERC721, ERC1155?A: Yes, any Solidity based smart contract standards should work,
as these do not require any special features beyond the standard EVM.Corollary: When implementing fungible tokens,
ERC20 and any others that are extensions of it,
we strongly recommend that you implement them as a MultiVM Token Standard (MTS) token.
This allows the same token to act as a fungible token not only on Injective’s EVM,
but also on Injective native (specifically as Cosmos Denoms).
Should Injective add other VMs in the future, MTS tokens will also work on those.
Read more about MTS:
Technical article, and
technical reference.Does Injective EVM Support EIP-1559?A: Yes.
A: Generally, the answer is “yes”.
See below for more specific questions.Can I use (EVM tool/ library) on Injective EVM?A:
viem - yes
ethers.js - yes
hardhat - yes
foundry - yes
Can I use Foundry on Injective EVM with Injective’s EVM precompiles?A: Injective’s EVM precompiles
access Injective native functions that are not available in generic EVMs.
This means that if you use, for example Foundry and connect it to:
Injective EVM Testnet or Mainnet, it will work
Foundry’s in-memory EVM or a vanilla anvil node, precompile calls will fail
Two options cover local development:
Forked Foundry tools. Injective maintains a fork of Foundry with precompile support
(starting with the Bank precompile needed for BankERC20.sol and MTS), so forge and cast
can run Solidity tests and deployment scripts against local simulations. Pre-built binaries
are published per release at
github.com/InjectiveLabs/foundry/releases.
Local Injective devnet.inj-examples
includes a dockerized local environment (see templates/foundry and examples/precompiles)
that runs a real injectived node with every precompile available at localhost:8545, plus
a local Blockscout explorer. This is the full chain environment, not a simulation.
In order to enable support for Injective precompiles on the forked version of Foundry, you must set injective = true inside config file foundry.toml or use an environment variable FOUNDRY_INJECTIVE=true. This setting applies to the fork only, not to the dockerized devnet.
A: If you are using the public endpoint for RPCs,
this is likely to happen to you due to rate limiting.
These endpoints are designed for very light usage.
If you have deployed a complex application,
you should consider using a commercial grade RPC endpoint instead.You may find recommended RPC providers in the
EVM Integrations Cheat Sheet.
Are inj... addresses and 0x... addresses comaptible?
A: Yes. In fact they are the same, simply rendered in different formats.Refer to Convert addresses
for example code to convert between these two formats.
A: Here’s the live configuration data for the EVM:
sentry.lcd.injective.network/injective/evm/v1/paramsUnder chain_config, there are keys that correspond to EVM hard fork names (with suffixes).
These indicate which ones are enabled.
The value for these keys are the block numbers at which they are enabled.
As of the Mainnet launch, all of them are set to 0,
i.e. they are enabled from the “genesis” EVM block.
For future EVM hardforks, new keys will be added that will have a non-zero block number
at which they will be (or were) enabled.
Do you have more questions about EVM integrations?Join the Injective discord
community and ask them there!
Last modified on October 26, 2026
Assistant
Responses are generated using AI and may contain mistakes.