Skip to main content

EOA Verification

A standalone contract name the EOA Registry that allows for user addresses to submit a signed message verifying that there is a private key associated with the account and that it is not an undeployed contract address.

Off-chain order books SHOULD be aware of collections they are servicing that have set a transfer security level requiring the token recipient to be a verified EOA and follow the steps below to verify the user address with the collection's transfer validator.

  1. Determine if the user's EOA has already been verified with the collection's transfer validator. This may be through the off-chain order book's indexed event logs or by calling the isVerifiedEOA(address) function. If the EOA has been verified, no further action is required.
  2. Request a wallet signature using the personal_sign method with the message EOA.
  3. Call either the verifySignature(bytes) or verifySignatureVRS(uint8, bytes32, bytes32) function from the user's EOA with the signature data obtained in step 2. This transaction will be recorded on-chain and require the user to pay gas. The verifySignatureVRS function is slightly more gas optimized and should be the default method utilized.

EOA Registry Functions

verifySignature

Function called by an EOA with their signature data, as a bytes array, to verify their address is an EOA. The EOA Registry checks the signature against a predefined value and if it is valid updates the verified EOA mapping to mark the account as a verified EOA.

function verifySignature(bytes calldata signature) external;

verifySignatureVRS

Function called by an EOA with their signature, split into v, r, and s values for gas efficiency, to verify their address is an EOA. The EOA Registry checks the signature against a predefined value and if it is valid updates the verified EOA mapping to mark the account as a verified EOA.

function verifySignatureVRS(uint8 v, bytes32 r, bytes32 s) external;

isVerifiedEOA

Function called to check if a specified account has previously verified with the EOA Registry.

function isVerifiedEOA(address account) public view override returns (bool);

Limit Break

TwitterLimitBreak.comMedium

© 2026 Limit Break International, Inc. All rights reserved.

Privacy PolicyTerms of ServiceCookie PolicyDo Not Sell My Info