Quick Start
Create an Ethscription in 60 Seconds
Ethscriptions.com has an easy creation tool, but if you want to go step-by-step:
Convert an image (max size: ~90KB) to a Base64-encoded data URI (
data:image/png;base64,...) using a service like base64-image.de. The Ethscriptions protocol supports all data URIs but images work best.Convert the data URI to hex using an online tool like hexhero.
Send a 0 ETH transaction to the person you want to own the Ethscription with the hex data from (2) in the "Hex data" field.
After a few moments it should appear on this site.
Duplicate Content: By default, duplicate content is rejected—only the first ethscription with a given data URI is valid (uniqueness is determined by the SHA256 hash of the full data URI, including headers). To allow duplicates, add rule=esip6 to your Data URI (e.g., data:image/png;rule=esip6;base64,...). See ESIP-6 for details.
How to Transfer Ethscriptions
Find the id of the Ethscription you want to transfer. An Ethscription's id is the transaction hash of the transaction that created it. It looks like this:
0xcdb372580242c1c1bbcd2914ddbdb609b33d2e2e163c6595e164cb4dc6665153. You can get this from Etherscan or from this site.Send a 0 ETH transaction to the new proposed owner, including the Ethscription ID in the "Hex data" field.
Bulk Transfers: You can transfer multiple ethscriptions in a single transaction by concatenating their IDs (without 0x prefixes) in the hex data field. See ESIP-5 for details.
How to Track Ethscriptions
You can use ethscriptions.com! However, if you don't want to rely on a third party, you have two options:
Option 1: Traditional Indexer
Run your own indexer that follows the protocol specification. The ethscriptions-indexer is open source.
Option 2: Ethscriptions AppChain
Run an AppChain node to get cryptographic state with Merkle proofs. The AppChain derives L2 state from L1 calldata using a deterministic pipeline—no trust required.
Where to Inscribe
You can create ethscriptions by posting calldata to Ethereum L1:
L1 Calldata
Send a transaction with a Data URI in the hex data field
L1 Event
Smart contracts can emit ethscriptions_protocol_CreateEthscription events (ESIP-3)
The AppChain observes both methods and translates them into L2 transactions.
Next Steps
Protocol Specification - Detailed rules for creating and transferring
AppChain Overview - Learn about the L2 derivation pipeline
Collections - Create curated NFT collections (AppChain only)
Fixed Denomination Tokens - Create fungible tokens (AppChain only)
Last updated