web3wagmi
← All standards

ERC-7984 Confidential Fungible Token

DraftERCcreated 2025-07-03requires ERC-165

Confidential fungible tokens use an account-based accounting model while maintaining the confidentiality of transfer amounts and balances.

Authors: Aryeh Greenberg (@arr00), Ernesto García (@ernestognw), Hadrien Croubois (@Amxx), Ghazi Ben Amor (@GBAZama), Clement Danjou (@immortal-tofu), Joseph Andre Turk (@jatZama), Silas Davis (@silasdavis), Nicolas Pasquier (@npasquie)

Functions this standard introduces (17)

0x344ff101confidentialBalanceOf(address)
0x54095227confidentialTotalSupply()
0x2fb74e62confidentialTransfer(address,bytes32,bytes)
0x5bebed7econfidentialTransfer(address,bytes32)
0xde642119confidentialTransferAndCall(address,bytes32,bytes,bytes)
0x537d3c50confidentialTransferAndCall(address,bytes32,bytes)
0xe064b9bbconfidentialTransferFrom(address,address,bytes32,bytes)
0xeb3155b5confidentialTransferFrom(address,address,bytes32)
0x34c45743confidentialTransferFromAndCall(address,address,bytes32,bytes,bytes)
0xc7b8a75econfidentialTransferFromAndCall(address,address,bytes32,bytes)
0xe8a3d485contractURI()
0x313ce567decimals()
0xb6363cf2isOperator(address,address)
0x06fdde03name()
0x46083bfdonConfidentialTransferReceived(address,address,bytes32,bytes)
0xd4febb96setOperator(address,uint48)
0x95d89b41symbol()

Events (3)

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

0x67500e8d0ed826d2194f514dd0d8124f35648ab6e3fb5e6ed867134cffe661e9ConfidentialTransfer(address,address,bytes32)
0x921a218a75d18e8ec5704851e6b234a85725b21a2521ce889622c35dedc1fa12OperatorSet(address,address,uint48)
0xa6c96fecfa9a02a37fe3ea97f26fd2443f70bc3393be0489ee62bce1cc660ccdAmountDisclosed(bytes32,uint256)

Depends on (1)

Proposals this one names in its requires field.

What the specification covers

Compare with

Parsed from the canonical specification · discussion