ord envelope, ACTION tags
Inscription standard
The DogeSoft v1 envelope, registered ACTION tags, and the JSON body for collection deploy and mint.
Every DogeSoft inscription is an ord envelope on Dogecoin L1. The
action tag is how the indexer, wallet, inscriber and Launch all agree what a given
inscription is — a DRC-20 transfer, an NFT sale, a launchpad mint — without a smart contract.
The canonical registry lives in the inscriber
(GET https://inscriber.dogesoft.io/standard) and is mirrored in the
wallet. If you're inscribing through DogeSoft, you send an ACTION plus
a content-type the registry already knows. You do not invent a parallel tagging scheme.
Envelope
DogeSoft v1 is a standard ord envelope. For DRC-20 (plain text) the body is positional —
OP_1 [content-type] OP_0 [data] — so MyDoge and Doggy Market can read
it. For every other action, including launchpad, an ACTION push sits between content-type and the body
marker:
OP_FALSE OP_IF "ord"
OP_1 [content-type]
[ACTION] // omitted on DRC-20 text/plain
OP_0 [payload]
OP_ENDIF
Registered actions
| ACTION | Content-type | What it is |
|---|---|---|
TRANSFER / SWAP / ADD_LP / REMOVE_LP / CLAIM | text/plain;charset=utf8 | DRC-20 Coins |
LIST / BUY / CANCEL / auction ops | image/* or video/* | Doginals marketplace |
TOKENIZE | application/pdf | Real-world asset |
LAUNCHPAD_DEPLOY | application/json | Collection deploy |
LAUNCHPAD_MINT | application/json | Collection mint |
BRIDGE_L1_* / BRIDGE_L2_INTENT | text/plain;charset=utf8 | L1 ↔ DogeOS bridge |
Launchpad JSON
Dogecoin has no native collection object. DogeSoft Launch
(launch.dogesoft.io) is the catalog; the chain sees
individual inscriptions. A mint is this body, content-type
application/json, action LAUNCHPAD_MINT:
{
"p": "dogesoft",
"op": "LAUNCHPAD_MINT",
"slug": "bored-doge-club",
"id": "7",
"max": "100"
}
Deploy uses the same p with
op: "LAUNCHPAD_DEPLOY", plus name and
price. Do not add a private
"launchpad": "yourbrand" field — the indexer already keys collections
off slug / collection_id.
How you inscribe
window.dogesoft.inscribe() does not exist. Two supported paths:
-
Platform mint — Launch calls
POST https://inscriber.dogesoft.io/inscribe(projectlaunchpad) and the inscription lands on the connected wallet. -
User-signed — your backend (or
POST /prepareon the inscriber) builds an unsigned PSBT; the user signs withwindow.dogesoft.signPSBT. See PSBTs.
Building a mint page or a holders-only room? Skip envelope bytes. Use the drop-in scripts on Launch for builders.