What is Taoscription?
Taoscription is the first inscription & token protocol on Bittensor L1 (Subtensor). It enables anyone to permanently inscribe data — text, images, SVG, code, or any file — and deploy fungible tokens (TAO-20) directly on the Bittensor blockchain using system.remark extrinsics. Inscriptions are free. TAO-20 tokens use enforced fees to prevent bot spam.
[001] How it Works
The protocol utilizes Bittensor's native system.remark to record arbitrary data on-chain. Inscriptions can be raw data (text, SVG, images) or structured JSON for NFT collections and TAO-20 tokens. All inscriptions are indexed, rendered in the Explorer, and permanent.
{
"p": "tao-20",
"op": "deploy",
"tick": "TAOS",
"max": "21000000",
"lim": "420"
}
This is the actual deploy of $TAOS — the first TAO-20 token on Bittensor. Anyone can now mint 420 tokens per TX for 0.001 TAO.
[002] Key Features
-
check_circle
L1 Sovereignty
Data is stored directly in the Subtensor state, requiring no off-chain storage like IPFS.
-
check_circle
Fair Launch Mechanics
Open participation without pre-mines or whitelist requirements.
-
check_circle
Native Integration
Seamlessly compatible with existing Bittensor wallets (Talisman, Polkadot.js, SubWallet).
-
check_circle
Raw Inscriptions
Inscribe raw data directly — no JSON wrapper needed. Text, SVG, images go straight into the remark.
-
check_circle
TAO-20 Fungible Tokens
Deploy and mint BRC-20 style tokens with enforced fees. 4-letter tickers, first come first served.
[003] Supported Formats
| Format | MIME Type | Max Size |
|---|---|---|
| Plain Text | text/plain | 100 KB |
| SVG Vector | image/svg+xml | 100 KB |
| PNG / JPEG | image/png, jpeg | 350 KB |
| JSON / Code | application/json | 100 KB |
* Maximum size is constrained by block gas limits and system.remark payload capacity.
02 Creating an Inscription
To create an inscription on Bittensor L1, you need a Polkadot-compatible wallet (Polkadot.js, Talisman, or SubWallet) with a small amount of TAO for transaction fees.
Steps:
- Connect your wallet on the Inscribe page
- Choose your format: Text or File upload
- Upload or paste your content
- Review the fee (0.001 TAO platform + gas)
- Click Inscribe — your wallet signs a
utility.batchAll(transfer fee + remark) - Wait for block confirmation (~12 seconds)
- Your inscription is permanently on Bittensor L1
03 Supported Formats
| Format | MIME Type | Max Size |
|---|---|---|
| Text | text/plain | 100 KB |
| SVG | image/svg+xml | 100 KB |
| Image | image/png, jpeg, gif, webp | 350 KB |
| JSON | application/json | 100 KB |
| Code | text/javascript, html, css | 100 KB |
| HTML | text/html | 100 KB |
04 Fees & Costs
Taoscription uses a hybrid fee model. Inscriptions are free to encourage adoption. TAO-20 tokens require fees to prevent bot spam.
Inscriptions
Raw inscriptions are visible in the Explorer regardless of payment. The indexer is an open protocol — any system.remark on Bittensor is indexed.
TAO-20 Tokens
TAO-20 fees are strictly enforced. Operations without proper payment to the treasury are ignored by the indexer. This prevents bots from minting entire supplies for free.
Other
All fee transactions use utility.batchAll — the user signs a single TX that atomically transfers the fee and inscribes the data. If the TX fails, no TAO is spent.
05 Protocol Specification
All Taoscription operations use system.remark extrinsics on Bittensor L1 (Subtensor/Finney) with structured JSON payloads.
Protocol identifier: "p": "tao-nft"
06 Operations
| Operation | Who | Description |
|---|---|---|
| deploy | Creator | Create a new collection |
| mint | Buyer | Mint via batchAll(transfer + remark) — user signs directly |
| inscribe | Anyone | Inscribe arbitrary data on-chain |
| transfer | Owner | Transfer ownership of an inscription |
| list | Owner | List inscription for sale |
| buy | Buyer | Buy a listed inscription |
| burn | Owner | Permanently destroy an inscription |
Example: Inscribe Operation
{
"p": "tao-nft",
"op": "inscribe",
"type": "image/svg+xml",
"name": "My First Inscription",
"data": "<svg>...</svg>"
}
Example: Transfer Operation
{
"p": "tao-nft",
"op": "transfer",
"symbol": "MYART",
"id": "42",
"to": "5Gzzz...NEW_OWNER_SS58"
}
07 TAO-20 Token Standard
TAO-20 is a fungible token standard on Bittensor L1, inspired by BRC-20 on Bitcoin. Anyone can deploy and mint tokens using system.remark with JSON payloads.
Key rules:
- Ticker: exactly 4 letters (A-Z) — e.g. TOAD, MEME, DOGE, PEPE
- First come, first served — the first valid deploy claims the ticker forever
- Fixed 8 decimals for all tokens
- Fees enforced — deploy/mint/transfer without payment are ignored
- Fair launch — no pre-mines, everyone mints at the same fee
08 Deploy a TAO-20 Token
Create a new fungible token. Fee: 0.01 TAO.
{
"p": "tao-20",
"op": "deploy",
"tick": "TOAD", // exactly 4 letters A-Z
"max": "21000000", // max supply
"lim": "1000" // max amount per mint
}
Sent via: utility.batchAll([balances.transferKeepAlive(treasury, 0.01 TAO), system.remark(JSON)])
If the ticker already exists or the fee is not paid, the deploy is silently ignored.
09 Mint TAO-20 Tokens
Mint tokens from an existing deployment. Fee: 0.001 TAO per mint.
{
"p": "tao-20",
"op": "mint",
"tick": "TOAD", // ticker to mint
"amt": "1000" // amount (must be ≤ lim)
}
Sent via: utility.batchAll([balances.transferKeepAlive(treasury, 0.001 TAO), system.remark(JSON)])
Validation: ticker must exist, amount ≤ limit per mint, total minted + amount ≤ max supply, fee paid.
Anti-bot: Every mint costs 0.001 TAO. To acquire 10,000 mints, a bot must spend 10 TAO (~$3,000). Fair for everyone.
10 Transfer TAO-20 Tokens
Send tokens to another address. Fee: 0.0005 TAO.
{
"p": "tao-20",
"op": "transfer",
"tick": "TOAD",
"amt": "500",
"to": "5Gxxx...RECIPIENT_SS58"
}
Sent via: utility.batchAll([balances.transferKeepAlive(treasury, 0.0005 TAO), system.remark(JSON)])
The indexer verifies the sender's balance from the cryptographic signature of the TX. You can only transfer tokens you own.
11 Transfer Inscriptions
Transfer ownership of any inscription (text, SVG, image, etc.) to another address. Use the inscription's #ID from the Explorer.
{
"p": "tao-nft",
"op": "transfer",
"id": "442",
"to": "5Gxxx...RECIPIENT_SS58"
}
Sent via: system.remark(JSON) — no fee required, only network gas (~0.0001 TAO).
Security: The indexer verifies ownership from the cryptographic signature of the TX. You can only transfer inscriptions you own.
12 Marketplace
The marketplace allows listing, buying, and trading inscriptions. All operations are on-chain via system.remark.
v1: OTC Trading — transfers are peer-to-peer via system.remark. Buyers and sellers coordinate off-chain (Discord, Telegram) and settle on-chain.
v2: Escrow Marketplace (coming soon) — automated list → buy flow with on-chain escrow via the indexer. The buyer pays TAO, the indexer verifies payment and transfers the inscription atomically.