The art is the payload
Each plate is a single SVG. That SVG is the inscription โ the same
bytes are served to this page and written to Dogecoin. There is no export step,
no rendered copy, and no second art path that could quietly drift away from the
asset. The gallery calls
/capi/c/group/art/<id>.svg, which returns exactly what the
mint engine hands to the signer.
Deterministic by construction
Nothing in the generator is random. The drawing seed is a SHA-256 counter
stream, and every angle comes from a fixed half-degree lookup table, rounded to
whole pixels before it reaches the file. The same plate number always produces
the same traits and the same bytes โ on any machine, on any Python, forever.
scripts/verify.py re-runs the whole collection in a fresh
interpreter and compares a SHA-256 fingerprint of all ten payloads; a mismatch
fails the build.
The traits ride inside the artwork
The full trait list is written into the SVG's <desc> as
compact JSON, so the attributes are on-chain and travel with the art rather than
living in a database somebody has to keep hosting. The marketplace manifest is
generated from the same function that writes that JSON, so the two
cannot disagree.
What it costs
A doginal is paid for by the byte, so on a high-detail collection the artwork is the budget. The target was 100 DOGE for all ten, and the art was tuned to fit it rather than the budget being written up to fit the art.
| Plate | Payload | Chunks | Txs | Cost |
|---|---|---|---|---|
| 01 GENESIS | 40,681 B | 170 | 29 | 9.59 |
| 02 HANDSHAKE | 42,834 B | 179 | 30 | 10.07 |
| 03 CONSENSUS | 43,913 B | 183 | 31 | 10.33 |
| 04 ROOT | 39,430 B | 165 | 28 | 9.29 |
| 05 FORK | 45,227 B | 189 | 32 | 10.65 |
| 06 KEY | 42,748 B | 179 | 30 | 10.05 |
| 07 CHAIN | 40,865 B | 171 | 29 | 9.62 |
| 08 NODE | 39,530 B | 165 | 28 | 9.31 |
| 09 UPTIME | 45,993 B | 192 | 32 | 10.80 |
| 10 TRUST | 40,583 B | 170 | 29 | 9.57 |
| Total | 412 KB | 1,763 | 298 | 99.27 |
Cost is network fee at the engine's 0.20 DOGE/kB floor โ four
times the rate that has been confirming reveals in practice โ plus the
0.001 DOGE inscription output itself. Payload data is pushed in 240-byte script
chunks, capped at 1,500 bytes of partial script per transaction, which is what
sets the transaction count: one commit plus a chain of reveals per plate.
scripts/cost_check.py prices
the run with the engine's own quoting formula and with an independent
re-derivation written from the doginal envelope, then refuses to pass unless the
two agree. A single formula compared against itself proves nothing.
Why so large on purpose
Roughly 42 KB per plate is a deliberate choice, not bloat. It buys the engine-turned guilloche at a resolution where the rope pattern actually reads, a routed circuit substrate with real pads and 45-degree runs, and a twenty-six-person constellation โ the density is what "high detail" means when every byte is paid for and permanent. Every payload stays far under the 32,767-chunk ceiling where doginal encoders are known to corrupt.
The ten
Each title is a word that means the same thing to a machine and to a group of people. That is the entire collection: crypto, computers, friends and family are not four subjects here, they are one subject with four vocabularies.
| Plate | To a machine | To a group |
|---|---|---|
| GENESIS | the first block, height zero | the day it started |
| HANDSHAKE | SYN, SYN-ACK, ACK | the oldest protocol there is |
| CONSENSUS | the longest chain wins | everybody lands on the same answer |
| ROOT | uid 0, the top of the tree | where you came from |
| FORK | two valid histories | the one on the table |
| KEY | 256 bits nobody can guess | the one that opens the door |
| CHAIN | each block signs the last | four generations |
| NODE | one machine, its own copy | one person who counts |
| UPTIME | the one that always answered | showing up, for years |
| TRUST | don't trust, verify | the part a machine cannot do |
The API
GROUP is served by the shared crypto engine's generic collection API โ the engine was not modified to add this collection, and this collection holds no money code of its own.
| Endpoint | Returns |
|---|---|
/capi/c/group/collection | supply, inscription state, per-plate bytes, trait table, all ten items |
/capi/c/group/item/<id> | one plate, with the exact JSON written on-chain |
/capi/c/group/art/<id>.svg | the exact bytes that get inscribed |
/capi/c/group/rarity | the trait counts |
/capi/c/group/manifest.json | marketplace manifest |
Status
All ten plates are generated, published and verified. Nothing is inscribed yet โ inscribing is a funded, gated run that spends real DOGE, and it happens once, deliberately.