A plain text artifact
Marker drops, content type text/plain, a 45-byte body. The simplest valid Drop.
Interactive · client-side only
Paste a Drops leaf script, or a whole reveal transaction, and this page pulls it apart field by field: what each push is, which rule governs it, and whether it passes. It also decodes the two Pact body profiles.
This tool is one static JavaScript file with no network calls and no storage. Nothing you paste is transmitted, logged, cached or sent to any server, including the one serving this page. You can read the source, or work offline: save this page and its stylesheet and script, and it still runs.
This tool needs JavaScript. Everything it checks is written out as normative rules on the specification page, and the same cases appear with expected results on the test vectors page. Nothing here is available only through the tool.
Each button loads a real, self-consistent leaf. The hashes are genuine SHA-256 values and the creator key is a valid secp256k1 point, so the checks below are doing real work rather than replaying a stored answer.
Marker drops, content type text/plain, a 45-byte body. The simplest valid Drop.
Marker drops-pact, content type application/vnd.drops.pact-seed, a 184-byte record. The decoder also unpacks the Seed's eight fields.
Marker drops with the reference content type. The body is 176 bytes of strictly serialized JSON, and the decoder checks the serialization too.
The first sample with one bit changed in the hash push. Structurally perfect, cryptographically wrong, and therefore not a Drop.
| Check | Rule |
|---|---|
| Exactly ten chunks: five data pushes and the OP_DROP, OP_CHECKSIG sequence, with no trailing bytes | D-1, D-2, D-3 |
Every push uses its minimal opcode, and no field is a one-byte value that Script would fold into OP_1 to OP_16 or OP_1NEGATE | D-4, D-15 |
Marker is drops or drops-pact, and bip110-op-drop is refused with an explanation | D-6, D-7 |
| Content type is ASCII, at most 80 bytes, and matches the restricted-name grammar with no parameters | D-8, D-9, D-10 |
| Hash field is 32 bytes and equals SHA-256 of the body, computed live from your input | D-12, D-13 |
| Body is 1 to 256 bytes | D-14 |
| Creator key is 32 bytes and a real point on secp256k1, tested by evaluating the curve equation | D-18, D-19 |
Pact Seed bodies: 184 bytes, DPSE magic, zero reserved bytes, known network and floor tags, valid engine id with zero padding | Pacts 1 |
| Pacts reference bodies: exactly four keys, sorted order, no whitespace, and a byte-exact re-serialization | Pacts 5 |
A leaf script does not contain its own commitment. Two things therefore stay out of reach of any tool that is given only the leaf:
A leaf that decodes cleanly here is a well-formed candidate. It is not yet a Drop.