ERC-777
π ERC-777: Advanced Token Standard
ERC-777 is an Ethereum token standard that improves upon ERC-20 by introducing new features and capabilities. This page provides a comprehensive overview of its architecture, core concepts, user flow, and implementation details.
ποΈ Architecture
ERC-777 builds on the foundation of ERC-20 while introducing new functionalities. Here's a high-level overview of the architecture:

π§ Core Concepts
1. Operators π₯
Operators are addresses authorized to send tokens on behalf of a token holder. This concept enhances flexibility in token management.
2. Send Function π€
The send function replaces the transfer function from ERC-20, providing more control and functionality.
3. Hooks π£
ERC-777 introduces hooks that are called before sending and after receiving tokens, allowing for more complex interactions.
4. Backwards Compatibility π
ERC-777 tokens are backwards compatible with ERC-20, ensuring interoperability with existing systems.
πΆ User Flow
Here's a typical user flow for interacting with ERC-777 tokens:

π» Implementation Details
Core Interface (IERC777)
Sender Hook Interface (IERC777Sender)
Recipient Hook Interface (IERC777Recipient)
π Example Implementation
Here's a basic implementation of the ERC-777 standard:
This implementation uses OpenZeppelin's ERC777 contract as a base, which provides a robust and secure implementation of the standard. Developers can extend this base implementation to add custom functionality specific to their use case.
π Key Differences from ERC-20
π€
sendfunction replacestransferandtransferFromπ£ Hooks allow for more complex token interactions
π₯ Operator concept for enhanced authorization
π₯ Built-in burning functionality
π’ Granularity for fractional tokens
ERC-777 provides a more feature-rich and flexible token standard compared to ERC-20, while maintaining backwards compatibility. This makes it an attractive option for projects requiring advanced token functionality.
Last updated
Was this helpful?