Ethereum works because everyone follows the same standards. A wallet can show any token because tokens implement ERC-20; a marketplace can list any NFT because NFTs implement ERC-721 or ERC-1155. These standards start life as Ethereum Improvement Proposals (EIPs); the ones that define application-level interfaces, such as token standards, are called ERCs.
SemBricks implements these standards in smart contracts and in the software around them. Building to spec matters: a token that deviates slightly from the standard can break in wallets, exchanges and DeFi protocols in ways that only show up after launch.
Standards We Implement
- ERC-721: unique NFTs, each token one of a kind.
- ERC-1155: multiple token types in one contract, for editions, tickets and game items.
- ERC-4626: tokenized vaults, the standard interface for yield-bearing deposits.
- EIP-2612: permit, approving token spending with a signature instead of a transaction.
- EIP-3009: transfer with authorization, signed transfers as used by USDC.
- EIP-1559: the fee market with base fee and priority fee, relevant for every transaction your software sends.
- ERC-6900: modular smart accounts with installable plugins.
- EIP-712 typed data signing and ERC-4337 account abstraction, covered in their own sections.
Why "To Spec" Is Harder Than It Sounds
Standards leave room for interpretation, and the edge cases are where integrations break:
- Return values and events: some well-known tokens do not return a boolean from
transfer. Integrations have to handle that, and new tokens should not repeat it. - Rounding: ERC-4626 vaults must round in the vault's favour; getting it wrong opens the door to share inflation attacks.
- Callbacks: ERC-721 and ERC-1155 safe transfers call the receiver, which creates reentrancy paths if state is updated in the wrong order.
- Signatures: permit and EIP-3009 signatures depend on the chain ID, domain separator, nonces and deadlines; mistakes allow replay on other chains or after a fork.
We build on well-reviewed reference implementations where possible and test against the behaviour the standard requires, not only against our own expectations.
Frequently Asked Questions about Ethereum Standards
What is the difference between an EIP and an ERC?
An EIP is any proposal to improve Ethereum, including changes to the protocol itself, such as EIP-1559. ERCs are the subset of EIPs that define application standards, such as token interfaces. ERC-20 started as EIP-20.
Can you add a standard to an existing contract?
Only if the contract is upgradeable or was designed to be extended. Otherwise, the standard is added through a new contract, for example a wrapper or a migration to a new token.
Do these standards work on layer 2 networks?
Yes. EVM layer 2 networks such as Base and Arbitrum support the same token and signing standards, with small differences in fee mechanics that we account for.
Who owns the code?
Ownership of the source code is set out in the contract, and the code can be fully yours, including documentation and tests.
Build to the Standard
Tell us which standards your project needs and what it must integrate with. We will implement them so wallets, explorers and protocols work with your contracts from day one.
Book a free call about Ethereum standards
EIP-1559 Fee Handling: Transactions That Confirm
EIP-1559 fee handling for wallets, bots and backends: base fee and priority fee estimation, stuck transaction replacement and layer 2 fee differences.
EIP-3009 Transfer With Authorization (USDC) Integration
EIP-3009 transfer with authorization: signed, gasless USDC transfers with random nonces and validity windows, integrated safely into your payment flow.
ERC-1155 Multi-Token Contract Development
ERC-1155 multi-token contracts for game items, tickets and editions: fungible and unique tokens in one contract, with efficient batch transfers.
ERC-4626 Tokenized Vault Development
ERC-4626 tokenized vaults built safely: correct share accounting and rounding, protection against inflation attacks, fees and integration with DeFi.
ERC-6900 Modular Smart Account Development
ERC-6900 modular smart accounts: validation, execution and hook modules for features like session keys and spending limits, and how it compares to ERC-7579.
ERC-721 NFT Contract Development: Implemented to Spec
ERC-721 NFT contracts built to the standard: safe transfers, approvals, metadata, royalties (ERC-2981) and gas-efficient batch minting.