ERCs

ERCs

Token standards and contract-interface standards. Each lives at @ethernauta/erc/<n>, with method bindings generated from the canonical ABI. Most are Callable<T> reads or Signable<T> writes.

import { transfer, balance_of } from "@ethernauta/erc/20";
import { tokens_of_owner } from "@ethernauta/erc/721/extensions/enumerable";
import { balance_of_batch } from "@ethernauta/erc/1155";

What’s shipped

ERCTitlePurpose
20Fungible tokenThe token.
137ENS — domainsName registry.
165Standard interface detectionsupportsInterface.
181Reverse ENS resolutionAddress → name.
721Non-fungible tokenNFTs.
1155Multi-token standardMixed FT / NFT in one contract.
1577ENS — content hashIPFS / Swarm content for ENS names.
2304ENS — multichain addressesNon-Ethereum addresses on ENS.
2612PermitGasless ERC-20 approvals.
2981NFT royaltyRoyalty info per NFT.
3156Flash loansBorrower / lender interfaces.
4494Permit for ERC-721Gasless NFT approvals.
4626Tokenized vaultsYield vaults.
5564Stealth addressesOne-time receiving addresses.
5805Voting delegationDelegation API for governance.
6372Contract clockBlock- or time-based mode.
7683Cross-chain ordersCross-chain intent format.

Generation

Almost every method file in this package is auto-generated by the CLI from the canonical ABI. The selector registry (@ethernauta/erc/registry) is also generated:

pnpm --filter @ethernauta/erc generate

See Tooling → ERC codegen for the regeneration flow and Tooling → Adding a new ERC for the manual portion.

See also