web3wagmi
← All standards

ERC-8180 Blob Authenticated Messaging

DraftERCcreated 2026-02-21requires EIP-4844, ERC-8179

Interfaces for authenticated messaging over EIP-4844 blobs with on-chain decoder discovery

Authors: Vitalik Buterin (@vbuterin), Skeletor Spaceman (@skeletor-spaceman), Orca (@0xrcinus)

ERC-165 interface ids

Computed here as the XOR of the selectors each interface defines.

IERC_BAM_Core0xa86492bf
IERC_BAM_Decoder0xe5c5e9a3
IERC_BAM_SignatureRegistry0xc8645e99
IERC_BAM_Exposer0x7ffb5473

Functions this standard introduces (16)

0xe5c5e9a3decode(bytes)view
0x93790f44getKey(address)view
0x7ffb5473isExposed(bytes32)view
0xc3c5a547isRegistered(address)view
0x23fc48c1pubKeySize()pure
0xa3747fefregister(bytes,bytes)
0xe5aa85f6registerBlobBatch(uint256,uint16,uint16,bytes32,address,address)
0x6e71d134registerBlobBatches((uint256,uint16,uint16,bytes32,address,address)[])
0x23bfc67dregisterCalldataBatch(bytes,bytes32,address,address)
0x42df20fbschemeId()pure
0xc45ff281schemeName()pure
0xcf114219signatureSize()pure
0xda5f7811supportsAggregation()pure
0x024ad318verify(bytes,bytes32,bytes)view
0x28240000verifyAggregated(bytes[],bytes32[],bytes)view
0xa1f0f8deverifyWithRegisteredKey(address,bytes32,bytes)view

Events (4)

Topic0 is the keccak256 hash of the signature, which is what a log filter matches on.

0xb011cd0dd5f186ad3e7efb4ef0a2e3e8c2a287b63b9194fd2561af53e8c2d311BlobBatchRegistered(bytes32,address,bytes32,address,address)
0x049c31b7257d27e836c90d48c420819fe4c7bd660c98e78f156b88008dd2241fCalldataBatchRegistered(bytes32,address,bytes32,address,address)
0x523bf083cfe237e559164ffb7d2ebfb798c210ca27f5dcc1e92eead723840a20KeyRegistered(address,bytes,uint256)
0x9f1815b1c78dece9ae83aeda17613e37cc5f4103f28eb077414865adfdecd141MessageExposed(bytes32,bytes32,address,address,uint64)

Custom errors (9)

0x45ed80e9AlreadyRegistered(address)
0xbfc6c337NotRegistered(address)
0x92536fafInvalidProofOfPossession()
0xa2d0fee8InvalidPublicKey()
0x8baa579fInvalidSignature()
0x439cc0cdVerificationFailed()
0x8cc00d16NotRegistered(bytes32)
0xb75356ddAlreadyExposed(bytes32)
0x7dc57e7bEmptyBatchArray()

Depends on (2)

Proposals this one names in its requires field.

What the specification covers

Compare with

Parsed from the canonical specification · discussion