Skip to main content
Change page

ERC-1363 Payable Token Standard

Page last update: April 4, 2025

Introduction

What is ERC-1363?

ERC-1363 is an extension interface for ERC-20 tokens that supports executing custom logic on a recipient contract after transfers, or on a spender contract after approvals, all within a single transaction.

Differences from ERC-20

Standard ERC-20 operations like transfer, transferFrom and approve, do not allow code execution on the recipient or spender contract without a separate transaction. This introduces complexity in UI development and friction on adoption because users must wait for the first transaction to be executed and then submit the second one. They must also pay GAS twice.

ERC-1363 makes fungible tokens capable of performing actions more easily and working without the use of any off-chain listener. It allows to make a callback on a receiver or spender contract, after a transfer or an approval, in a single transaction.

Prerequisites

To better understand this page, we recommend you first read about:

Body

ERC-1363 introduces a standard API for ERC-20 tokens to interact with smart contracts after transfer, transferFrom or approve.

This standard provides basic functionality to transfer tokens, as well as allow tokens to be approved so they can be spent by another on-chain third party, and then make a callback on the receiver or spender contract.

There are many proposed uses of smart contracts that can accept ERC-20 callbacks.

Examples could be:

  • Crowdsales: tokens sent trigger instant reward allocation.
  • Services: payment activates service access in one step.
  • Invoices: tokens settle invoices automatically.
  • Subscriptions: approving annual rate activates subscription within the first month’s payment.

For these reasons it was originally named "Payable Token".

The callback behavior further expands its utility, enabling seamless interactions like:

  • Staking: tokens transferred trigger automatic locking in a staking contract.
  • Voting: tokens received register votes in a governance system.
  • Swapping: token approvals activate swap logic in a single step.

ERC-1363 tokens can be used for specific utilities in all cases that require a callback to be executed after a transfer or an approval received. ERC-1363 is also useful for avoiding token loss or token locking in smart contracts by verifying the recipient's ability to handle tokens.

Unlike other ERC-20 extension proposals, ERC-1363 doesn't override the ERC-20 transfer and transferFrom methods and defines the interfaces IDs to be implemented maintaining backward compatibility with ERC-20.

From EIP-1363 (opens in a new tab):

Methods

Smart contracts implementing the ERC-1363 standard MUST implement all of the functions in the ERC1363 interface, as well as the ERC20 and ERC165 interfaces.

A smart contract that wants to accept ERC-1363 tokens via transferAndCall or transferFromAndCall MUST implement the ERC1363Receiver interface:

A smart contract that wants to accept ERC-1363 tokens via approveAndCall MUST implement the ERC1363Spender interface:

Further reading

Was this article helpful?