Japanese version: /ja/doc/compatibility/ethereum-differences.html
Ethereum Differences
TL;DR
- Compatibility target is Ethereum JSON-RPC plus EVM execution semantics (not full parity).
- Accepted tx types: Legacy / EIP-2930 / EIP-1559. EIP-4844 and EIP-7702 are currently rejected.
- Kasane does not add or override opcodes; it follows the active
revmspec (currently PRAGUE). - Some pending/mempool APIs are not implemented (
eth_pendingTransactions, etc.). - The canister Candid API provides per-transaction tracking via
get_pending(tx_id). - The runtime assumes a single block producer (sequencer), not a reorg-driven model.
Note: the canonical pending/mempool policy is ../rpc/overview.md.
Scope
Supported
- Submit, execute, and read receipts for Ethereum-signed transactions
eth_call/eth_estimateGas(with restrictions)- Read blocks/transactions/receipts/logs
Restricted Areas
- 4844 blob tx / 7702 authorization tx are currently unsupported
- mempool, filter, and WebSocket subscriptions are partially supported or unsupported
Transaction Compatibility
- Supported
- Legacy (RLP)
- EIP-2930 (
tx_type=1) - EIP-1559 (
tx_type=2)
- Currently rejected
- EIP-4844 (
type=0x03) - EIP-7702 (
type=0x04)
- EIP-4844 (
Opcode Differences
- Kasane does not introduce custom opcode behavior.
- Effective opcode set depends on
revmspec selection; current default isPRAGUE.
Fee Model Differences
base_feeis persisted and updated bycompute_next_base_fee.effective_gas_priceis derived frommax_fee,max_priority_fee, andbase_fee.eth_gasPricereturnsmax(base_fee + max(estimated_priority, min_priority), min_gas_price).
Finality/Reorg Differences
- Assumes a single block producer (sequencer).
- Blocks after
auto-productionare treated as final. - Some tags such as
latest/pending/safe/finalizedeffectively map to head-level behavior.
Common Errors
DecodeError::UnsupportedType(4844/7702)DecodeError::WrongChainIdDecodeError::LegacyChainIdMissing
Pitfalls
- Assuming Ethereum L1 pending/finality behavior applies as-is
- Sending 4844/7702 tx assuming compatibility
Sources
crates/evm-core/src/tx_decode.rscrates/evm-core/tests/phase1_eth_decode.rscrates/evm-core/src/base_fee.rscrates/evm-core/src/revm_exec.rsvendor/revm/crates/handler/src/mainnet_builder.rsvendor/revm/crates/primitives/src/hardfork.rstools/rpc-gateway/README.mdREADME.md