Visit our smart contract audit pricing page. It's fast, secure, and easy to use
Cyberscope Full Logo

Signaturescan

Ethereum Function Signature and Method
Selector Lookup

Search for function, event and error signatures stored in the Cyberscope Ethereum Signature Database. 
Enter a human-readable Solidity declaration or a hexadecimal signature to identify the corresponding smart contract method. 

Use Signaturescan to decode function selectors, identify unknown smart contract calls and discover contracts containing
matching signatures.

Explore the Cyberscope
Ethereum Signature Database 

2,000,000+

Function

Signatures

80,000+

Error

Signatures

30,000+

Aalysed

Contracts

200,000+

Event

Signatures

Decode Unknown Smart Contract Signatures

Smart contract transactions often display encoded method selectors rather than human-readable function names.

For example, a transaction involving the selector:

0xa9059cbb

may not immediately reveal which function is being called. Signaturescan searches the Cyberscope Ethereum Signature Database and identifies the corresponding declaration:

transfer(address,uint256)

This allows developers, security researchers and blockchain investigators to understand smart contract interactions more quickly, including transactions involving unverified contracts.

Search in Either Direction

Signature Hash to Method Name

Enter a hexadecimal function selector, event topic or error signature to find potential matching Solidity declarations.

Example:

0xa9059cbb

Result:

transfer(address,uint256)

Method Name to Signature Hash

Enter a Solidity function, event or error declaration to identify its corresponding Keccak-256 signature.

Example:

transfer(address,uint256)

Result:

0xa9059cbb

Find Contracts Containing the Signature

Review available smart contracts in the database that contain the identified function, event or error declaration

Identify Unknown Methods in
Suspicious Transactions 

Unusual Transaction 

During a blockchain investigation, an analyst may encounter a transaction initiated by an unverified smart contract.

Because the source code is not publicly verified, the transaction may display only an encoded method selector such as: 

0xa9059cbb

The selector alone does not clearly explain what action the contract is attempting to perform. 

Signature Search

The investigator can enter the selector into Signaturescan.  The database searches for matching declarations and reveals that: 

0xa9059cbb 

corresponds to:

transfer(address,uint256) 

The investigator can then review contracts containing the same function signature and use the information as additional context during the investigation.

How It Works 

How Signaturescan Builds Its Signature Database

1. Blockchain Code Collection 

Signaturescan collects available verified smart contract source code from supported blockchain networks.

The system processes contract code containing declarations such as:

1. Blockchain Code Collection 

2. Declaration Extraction 

Function, event and custom error declarations are extracted from the contract source code. 

2. Declaration Extraction 

3. Keccak-256 Hash Generation 

Each canonical declaration is encoded using the Keccak-256 hashing algorithm.

For function calls, the first four bytes of the generated hash form the method selector.

3. Keccak-256 Hash Generation 

4. Signature Database Storage 

The relationship between the declaration, its signature and relevant smart contracts is stored in the Cyberscope Ethereum Signature Database. 

Users can search the database using either the human-readable declaration or its hexadecimal signature. 

4. Signature Database Storage 

What Is a Smart Contract Method Signature?

A method signature is the canonical representation of a Solidity function name and its parameter types.

For example:

transfer(address,uint256)

The parameter names are not included in the signature. Only the function name and ordered parameter types are used.

The declaration:

function transfer(address recipient, uint256 amount)

therefore becomes:

transfer(address,uint256)

The canonical signature is hashed using Keccak-256. The first four bytes of the resulting hash form the function selector:

keccak256("transfer(address,uint256)")

Result:

0xa9059cbb

This selector is included in transaction calldata so that the smart contract knows which function to execute.

What Types of Signatures Can You Search?

Function Signatures

Function signatures identify executable smart contract methods.

Example declaration:

approve(address,uint256)

Function selector:

0x095ea7b3

Function selectors use the first four bytes of the Keccak-256 hash.

Event Signatures

Event signatures identify events emitted by smart contracts and recorded in transaction logs.

Example declaration:

Transfer(address,address,uint256)

Events use the complete Keccak-256 hash as the primary event topic.

Custom Error Signatures

Custom errors allow Solidity contracts to return structured error information while using less gas than traditional revert strings.

Example declaration:

InsufficientBalance(uint256,uint256)

Custom errors are also identified through selectors derived from their Keccak-256 hashes.

Main Features

What Can Signaturescan Help You Do? 

Decode Function Selectors 

Convert hexadecimal method selectors into readable Solidity function declarations.

Generate Signature Hashes

Search a function, event or error declaration to identify its corresponding signature.

Investigate Unverified Contracts

Understand which methods may be called even when the smart contract source code is not publicly verified. 

Analyse Transaction Calldata

Identify the likely function represented by the first four bytes of transaction input data. 

Search Events and Errors

Look up signatures associated with emitted events and Solidity custom errors. 

Discover Related Contracts

View available contracts containing the same function, event or error signature.

Support Security Research

Add human-readable context to suspicious transactions, unknown contracts and blockchain activity. 

Why Use Signaturescan?

Understand Encoded Transactions

Translate hexadecimal selectors into readable smart contract methods.

Improve Transaction Monitoring 

Add method-level context to blockchain monitoring and security workflows. 

Accelerate Investigations 

Reduce the time required to identify unknown functions during transaction and contract analysis. 

Research Smart Contract Behaviour

Identify common functions, events and errors across multiple smart contracts and networks. 

Analyse Unverified Contracts 

Gather additional information when source code and method names are unavailable on a block explorer. 

Verify Solidity Declarations 

Check the signature associated with a function before building or reviewing an integration. 

Who Is Signaturescan For?

Smart Contract Developers

Smart Contract Developers

Verify function selectors and event signatures while building, testing or integrating Solidity contracts.

Web3 Projects

Web3 Projects

Review smart contract calls and investigate interactions with protocols, tokens or external applications.

Security Researchers

Security Researchers

Decode unknown transaction methods and investigate potentially malicious contract interactions.

Blockchain Investigators

Blockchain Investigators

Identify the methods used in suspicious or unusual transactions involving unverified contracts.

Compliance and Monitoring Teams

Compliance and Monitoring Teams

Add readable method information to blockchain transaction-monitoring workflows.

Crypto Users

Crypto Users

Understand the function represented by a transaction selector before interacting with an unfamiliar contract.

Interpret Signature Matches Carefully

A hexadecimal selector may occasionally correspond to more than one possible function declaration because selectors contain only the first four bytes of a Keccak-256 hash.

signature visual

This is known as a selector collision.

A matching result therefore does not always prove which function exists inside an unverified contract. Users should review additional information such as:

  • Transaction call data
  • Parameter structure
  • Contract bytecode
  • Verified contract implementations
  • Transaction behaviour
  • Related addresses and contracts

Signaturescan provides useful investigative context, but it does not confirm that a contract is safe or that a specific interpretation is definitive.

Decode Smart Contract Activity in Seconds 

Search millions of function, event and error signatures to identify unknown smart contract methods and better understand blockchain transactions. 

Search using a Solidity declaration or hexadecimal signature. 

Frequently Asked Questions 

Signaturescan is a smart contract signature search tool that allows users to search for function, event and error signatures stored in the Cyberscope Ethereum Signature Database.

Search the Signature Database 

Decode unknown function selectors, identify event and error signatures and investigate smart contract activity with Signaturescan.

Enter a method declaration or hexadecimal signature to begin your search.