The debate over cursed ordinal inscriptions

Only four months after the protocol was launched, ord had its first controversial debate regarding what are known as “cursed” inscriptions.

A cursed inscription is simply an inscription that is not currently indexed and identified by ord. This term was coined as a catch-all when some individuals incorrectly used or purposefully misused opcodes to create inscriptions that could not be indexed by ord. These inscriptions would therefore be unrecognized and not given an inscription number.

The issue was first mentioned on April 25 on the ord Github page, and the interim fix proposed by then lead developer Casey Rodarmor was to “Modify ord to recognize the above currently invalid inscriptions, including retroactively in old blocks, but consider these new inscriptions ‘cursed’ and assign them negative inscription numbers.”

Interestingly, the example inscription code on the Ordinals docs website would have been considered a cursed inscription.

There are many ways to create cursed inscriptions. Any inscription with multiple inputs/outputs is considered cursed. As shown above, certain misuse of opcodes such as OP_1 can lead to cursed inscriptions. Alternatively, the introduction of OP_66 intentionally made these types of inscriptions by having an even-numbered opcode which is not indexed by ord. Unless already defined in the spec, even-numbered opcodes are not recognized because they are reserved for future protocol development. The full list of ways to create cursed inscriptions from issue #2045 is as follows:

  • Multiple inscriptions per transaction, for efficient batching.
  • Inscriptions on inputs after the first, which is useful for collections.
  • Multiple inscriptions on the same sat, so that the entire history of a sat doesn’t need to be checked to determine if a new inscription is valid.
  • Inscriptions with unrecognized even headers, so that new even headers don’t cause upgraded clients to disagree about inscription numbers.

There are a couple of specific debates around cursed inscriptions. One dispute concerns the way these inscriptions are currently numbered. Cursed inscriptions are numbered negatively in the order of their creation. Because of this numbering system and naming convention, some people intentionally create inscriptions and collections that appear “cursed” by flipping the image of a positively numbered inscription or using a more sinister image theme when inscribing. The question is: Should these be appended to the index of positively numbered inscriptions or should they keep their negative inscription number when the code is updated?

Additionally, another contentious conversation is what to do about the certain type of cursed inscriptions that used the OP_66 opcode in their creation. Because this opcode is not recognized by ord and even-numbered opcodes are intentionally left out for future development use, it is debatable whether inscriptions using this opcode should be included in the cursed set or if they should be rejected.

Currently, the issue around the even-numbered opcode is listed on the ord Github page. There are many comments in support of including these inscriptions in the index, but the lead maintainers of the protocol seem to be against it. As of now, the developers’ stance is that these inscriptions would be unbound, meaning that they would not be assigned to a specific satoshi.

Remember, ordinal theory works based on a first-in, first-out tracking system for satoshis. Each inscription is assigned to the first satoshi in the genesis transaction when the inscription is created. This type of lens for looking at bitcoin allows images, files, text, etc. to be tracked and transferred. If a cursed inscription is unbound, it would not be associated with a specific satoshi and therefore would be unable to be transferred to another address. Many people who are inscribing are hoping to be able to sell or transfer their inscription to another person. While the inscriptions using this opcode will live forever on the Bitcoin blockchain, if these inscriptions are classified as unbound and unassigned to a specific satoshi, users who minted cursed inscriptions using this opcode would be unable to sell or transfer them.

This is one of the bigger concerns for people who are spending money on transaction fees to create cursed inscriptions. If they are unable to sell them in the future, significant funds would have been wasted on fees. Many users have responded to the Github issue, expressing support for including these inscriptions, but the code’s maintainers are not in favor of recognizing cursed inscriptions using the OP_66 even-numbered opcode.

On May 30, the new lead maintainer of ord, Raphjaph, wrote, “As the protocol currently stands, inscriptions are not valid if they use an unrecognized even tag, so this change already makes a concession by recognizing them. For now, they are unbound, but we might reconsider this and bind them in the future if there are strong reasons.”

Many people who had signed up were disappointed to receive this response. Like Bitcoin, Ord is open-source software, which means users can copy the code if they want to recognize these specific types of cursed inscriptions. The argument over this issue is still ongoing, and the future of Ord is uncertain. At the moment, users who have paid significant amounts in transaction fees might consider switching to a new version of Ord that recognizes their cursed inscriptions, but this is only a theoretical solution.

Regardless, Ordinals are a new technology being developed based on Bitcoin. Whether cursed inscriptions are just a temporary trend or if they will have long-lasting influence depends on how this issue is resolved.