EVM Compatibility
Learn how Paxeer supports standard EVM tooling and where its transaction, gas, finality, and proof behaviors differ from Ethereum defaults.
EVM Compatibility
This page documents Paxeer's EVM feature support. Each row shows whether a capability works as on standard Ethereum, behaves differently in a documented way, or is not available on Paxeer.
Standard EVM tooling - viem, wagmi, ethers, Foundry, Hardhat - works on Paxeer for all rows marked Supported. Where Paxeer differs from Ethereum, the difference is noted so you can account for it in your application.
Status Legend
| Status | Meaning |
|---|---|
| Supported | Works on Paxeer EVM with standard Ethereum behavior. |
| Supported - differences | Available on Paxeer, but intentionally differs from Ethereum. See the notes. |
| Paxeer extension | A Paxeer-specific capability with no standard Ethereum equivalent. |
| Not supported | Not available on Paxeer EVM. |
Transactions
| Feature | Paxeer status | Notes |
|---|---|---|
| Legacy transactions (type 0) | Supported - differences | Minimum gas price is set by Paxeer governance parameters, not a fixed floor. See Gas and Fees. |
| EIP-2930 access list transactions (type 1) | Supported | |
| EIP-1559 fee market transactions (type 2) | Supported - differences | No base-fee burning. Fees go to validators rather than being burned. See Gas and Fees. |
| EIP-4844 blob transactions (type 3) | Not supported | Paxeer runs Pectra without blob transactions. See Transaction Types. |
| EIP-7702 set-code transactions (type 4) | Supported |
Account and State
| Feature | Paxeer status | Notes |
|---|---|---|
eth_getBalance | Supported | |
eth_getTransactionCount (nonce) | Supported | |
eth_getCode | Supported | |
eth_getStorageAt | Supported - differences | SSTORE cost is governance-adjustable; do not hard-code gas assumptions. See Gas and Fees. |
eth_getProof | Supported - differences | Returns IAVL proof data rather than Ethereum Merkle Patricia Trie proofs. Proof verification logic must account for this. See State Proofs. |
Blocks and Finality
| Feature | Paxeer status | Notes |
|---|---|---|
eth_getBlockByHash, eth_getBlockByNumber | Supported | |
eth_blockNumber | Supported | |
Finality tags (latest, safe, finalized) | Supported - differences | Paxeer has instant finality. All three tags refer to the same commitment level. See Finality. |
| Pending block state | Supported - differences | Ethereum-style pending state visibility is not guaranteed. Do not rely on pending transaction ordering. See Finality. |
Logs, Filters, and Subscriptions
| Feature | Paxeer status | Notes |
|---|---|---|
eth_getLogs | Supported | |
Filter lifecycle (eth_newFilter, eth_getFilterChanges, eth_getFilterLogs, eth_uninstallFilter) | Supported | |
WebSocket subscriptions (eth_subscribe) | Supported | See WebSocket Connections. |
Execution and Simulation
| Feature | Paxeer status | Notes |
|---|---|---|
eth_call | Supported | |
eth_estimateGas | Supported | |
debug_traceTransaction | Supported | |
| Block-level tracing | Supported |
Signing
| Feature | Paxeer status | Notes |
|---|---|---|
| EIP-155 replay protection | Supported | |
Personal sign (personal_sign, eth_sign) | Supported | Depends on the connected wallet exposing the method. See Signing. |
EIP-712 typed data signing (eth_signTypedData_v4) | Supported | Depends on the connected wallet exposing the method. See Signing. |
| EIP-1271 contract signature validation | Supported | See Signing. |
Token Standards
| Feature | Paxeer status | Notes |
|---|---|---|
| ERC-20 | Supported | |
| ERC-721 | Supported | |
| ERC-1155 | Supported |
Account Abstraction
| Feature | Paxeer status | Notes |
|---|---|---|
| ERC-4337 | Supported | Requires a compatible bundler. Paxeer EVM is ERC-4337 compatible. |
Name Services
| Feature | Paxeer status | Notes |
|---|---|---|
| ENS | Not supported | Paxeer does not run Ethereum mainnet ENS. Application-level name services can be deployed as contracts. |
Paxeer Extensions
These capabilities are Paxeer-specific and have no standard Ethereum equivalent. They are exposed through @sei-js packages layered on top of standard EVM tooling.
| Feature | Notes |
|---|---|
| Paxeer precompiles (staking, governance, distribution, oracle, P256, JSON, CosmWasm bridge) | EVM contracts at deterministic addresses. ABIs and contract addresses are exported from @sei-js/precompiles for use with any standard EVM library. |
| Pointer contracts (CW20 ↔ ERC-20, CW721 ↔ ERC-721) | Bridge between CosmWasm and EVM token standards. Standard ERC interfaces work against pointer contracts. |
| Native address association (EVM ↔ Cosmos address) | Links an EVM address and a Cosmos address for the same account. Required before some Paxeer-native flows. |
| TokenFactory native token creation | Create native Paxeer tokens that are usable across EVM and CosmWasm without a wrapper contract. |
Unsupported RPC Methods
The following JSON-RPC methods are either not available on Paxeer or will return errors:
Blob / EIP-4844
| Method | Reason |
|---|---|
eth_blobBaseFee | Paxeer runs Pectra without blob transaction support. This method does not exist on Paxeer. |
engine_getBlobsV1 | Blob data availability endpoints are not supported. |
Pending State
| Method | Behavior on Paxeer |
|---|---|
eth_getBlockByNumber("pending") | Returns null or the latest committed block. Paxeer does not maintain an Ethereum-style pending block. |
eth_getTransactionCount(address, "pending") | Returns the same value as "latest". Pending nonce does not differ from confirmed nonce on Paxeer. |
eth_newPendingTransactionFilter | The filter can be created but will not reliably emit pending transactions. Use eth_newBlockFilter or WebSocket block subscriptions instead. |
eth_subscribe("newPendingTransactions") | Supported at the RPC level but Paxeer does not guarantee Ethereum-style pending transaction visibility. Treat results as best-effort. |
Proof Verification
| Method | Behavior on Paxeer |
|---|---|
eth_getProof | Returns IAVL tree proofs, not Ethereum Merkle Patricia Trie proofs. The method itself works, but the proof format is incompatible with standard Ethereum MPT verifiers. See State Proofs. |
Deprecated / Removed Opcodes
| Method | Reason |
|---|---|
eth_accounts | Returns an empty array on Paxeer RPC nodes. Use a wallet library (eth_requestAccounts) to get accounts from the connected user's wallet instead. |