Quick Start

Create an Ethscription in 60 Seconds

Ethscriptions.comarrow-up-right has an easy creation toolarrow-up-right, but if you want to go step-by-step:

  1. Convert an image (max size: ~90KB) to a Base64-encoded data URI (data:image/png;base64,...) using a service like base64-image.dearrow-up-right. The Ethscriptions protocol supports all data URIs but images work best.

  2. Convert the data URI to hex using an online tool like hexheroarrow-up-right.

  3. 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.

  4. After a few moments it should appear on this site.

circle-info

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

  1. 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.

  2. Send a 0 ETH transaction to the new proposed owner, including the Ethscription ID in the "Hex data" field.

circle-info

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.comarrow-up-right! 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-indexerarrow-up-right 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:

Method
Description

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

Last updated