Indexing Rules

Transaction data must

  • Transaction's CallData must contain data:;rule=esip6, and the transaction's blobs CBOR object's field contentType must be application/json, with text/plain allowed only for blocks up to 19577001 (for backward compatibility).

  • We may consider changing the CallData rule from data:;rule=esip6 to data:;rule=esip6,protocol=blob20 for the protocol operation to be observable through CallData instead of requiring inspection of Blobs.

  • The content of inscriptions must be a valid and parseable JSON object, not a JSON string or JSON5.

  • All JSON fields and values are case-insensitive (the indexing process converts them to lowercase), but they cannot contain spaces, zero-width characters, or other non-standard characters.

  • Formatting characters such as spaces, newlines, and tabs are allowed between fields, but non-standard characters such as zero-width characters are not permitted.

  • Numeric field values can be represented as either numeric or string types, but they must consist only of digits and decimal points; expressions such as positive or negative signs, commas, or scientific notation are not allowed.

  • The first deployment of a ticker is the only one that has claim to the ticker.

  • The value of the protocol field must be "blob20", case-insensitive.

  • Index implementations in different programming languages must ensure that content starting with a UTF-8-BOM is properly cleaned.

  • Tickers are case insensitive (BLOB=blob=Blob...).

  • The first mint to exceed the maximum supply will receive the fraction that is valid. (ex. 69,000,000 maximum supply, 68,999,242 circulating supply, and 1000 mint blobscription = 758 balance state applied)

  • All number values cannot exceed the JavaScript max number (2^53 - 1).

Last updated