Six Glamsterdam EIPs for Monad

6adopted
12left out

plus networking and informational EIPs

MIP-15 is in Review and is not active on any network. It takes six EIPs from Ethereum's Glamsterdam upgrade, lowers the gas rate on one of them, and explains why Monad leaves the others out.

The information on this page should not be quoted. Please refer to MIP-15 for the authoritative spec.

The six EIPs

Who each one affects, and what is different on Monad.

EIP-7708Indexers, wallets

Native transfers emit a log

Moving a nonzero amount of MON to another account emits a log shaped like an ERC-20 Transfer event. That covers plain sends and value moved by CALL, CREATE, CREATE2 and SELFDESTRUCT.

On Monad

Indexers can follow MON with the same log filter they use for tokens. Today that needs call traces.

EIP-7843Contract developers

SLOTNUM opcode

Opcode 0x4b pushes the block's slot number. It costs 2 gas.

On Monad

The slot number is the consensus round. The client started passing the round into the execution context in v0.15.2.

EIP-7981Wallets, gas estimators

Access lists cost more

Every access list entry pays an extra charge for its bytes, on top of the existing per-entry cost.

On Monad

40 gas per byte instead of Ethereum's 64. That is 800 gas per address and 1,280 per storage key.

EIP-7997Local devnets

Deterministic CREATE2 factory

The CREATE2 factory at 0x4e59…956C must exist, so contracts can deploy to the same address on every chain.

On Monad

Already deployed on mainnet and testnet. Only local development networks change.

EIP-8024Compilers

DUPN, SWAPN, EXCHANGE

DUP1 to DUP16 reach the top 16 stack items. DUPN reaches item 235 and SWAPN item 236. EXCHANGE swaps any two of the top 30. Each costs 3 gas.

On Monad

Compilers can use them to avoid “stack too deep” errors. Deployed contracts only benefit after recompiling with a compiler that emits them.

EIP-8246Contract developers

SELFDESTRUCT stops burning

A contract created and destroyed in the same transaction used to burn its balance if it named itself as the beneficiary. Now the balance stays.

On Monad

Code, storage and nonce are still cleared. What remains is an account that holds only a balance.

Which transfers emit a log

Pick a transaction. EIP-7708 adds one log for each nonzero transfer of MON to a different account.

A user sends 1 MON to a router contract, which CALLs a recipient with the same 1 MON.

Before MIP-15

No logs

With MIP-15 · 2 logs

fromalicetorouteramount1 MON
fromroutertobobamount1 MON

Emitted by 0xffff…fffe

topic0 0xddf252ad…b3ef · Transfer(address,address,uint256), same as ERC-20

What the access list surcharge costs

EIP-7981 charges for the bytes in an access list: 20 per address, 32 per storage key. Monad's rate is 40 gas per byte. Ethereum's is 64.

Monad surcharge

16,960

gas

Ethereum surcharge

27,136

gas

One key per page is enough

Under MIP-8, listing one storage key warms its whole 4 KB page (128 slots). Listing only one key per page gives the same warm slots for less surcharge.

Every key listed (12)16,960 gas
One key per page (3)5,440 gas

Shows only the new surcharge. The existing per-entry access list cost still applies.

What Monad leaves out

Glamsterdam has more EIPs than these six. The MIP gives a reason for each one Monad skips.

Block-level access lists

EIP-7928

A block-level access list is built by executing the block. Monad proposers don't execute the block they propose, because execution runs after consensus. The proposer has no way to fill in the list.

How asynchronous execution works →

Consensus layer changes

EIP-8045 · EIP-8061 · EIP-8282 · EIP-7688 · EIP-7732

These change Ethereum's beacon chain and proposer-builder separation. Monad runs its own consensus, MonadBFT.

Ethereum's new gas model

EIP-2780 · EIP-7778 · EIP-7976 · EIP-8037 · EIP-8038

These split gas into separate resources and reprice state access. Monad already prices storage its own way (MIP-8) and may pick its own metering later. Skipping EIP-7976 keeps Monad's calldata floor at 40 gas per byte, which is where the EIP-7981 rate comes from.

Bigger contracts

EIP-7954

Monad already allows 128 KB contracts (MIP-2).

Networking and informational EIPs

Monad doesn't use Ethereum's devp2p networking. Informational EIPs change no protocol behavior.

Continue the discussion on Monad Forum

Questions, feedback, or a better idea? Weigh in on the forum thread.

Open forum thread