Docs · Shibanaut v0.5
Reference for the International Shiba Station collection. Covers the shipping spec — trait catalog, on-chain art layer stack, the five-contract suite, and the placement system that pins each token to a station slot.
Shibanaut is a fully on-chain generative collection on Ethereum mainnet.
SVGs render directly from tokenURI() — no IPFS, no Arweave,
no server. Mints are gated by a Uniswap V4 afterSwap hook
on the canonical $ISS pool.
Chain choice rationale. Post-Pectra/Fusaka, sustained mainnet gas at ~0.1 gwei makes the swap+mint mechanic economically comparable to L2 alternatives (~$0.12 per mint at $3,000 ETH). Mainnet wins on durability, decentralization, and collector prestige for a permanent fully-on-chain collection. Testnet: Sepolia.
Six trait categories. Body is mandatory; the other five overlay onto a canonical sprite that already bakes in the bubble dome, the white suit baseline, the happy face, and a small utility tool in the right paw.
Body
| ID | Name | Weight | Notes |
|---|---|---|---|
| 0 | Cream | 25% | Palette swap |
| 1 | Red | 30% | Canonical sprite |
| 2 | Sesame | 25% | Palette swap |
| 3 | Black & Tan | 15% | Palette swap |
| 4 | White | 5% | Palette swap · rarest body |
Suit
| ID | Name | Weight | Notes |
|---|---|---|---|
| 0 | Standard White | 45% | No overlay — baked into body |
| 1 | Mission Red | 25% | GPT generation |
| 2 | Steel Gray | 20% | Palette-snapped from Deep Blue |
| 3 | Cargo Yellow | 10% | Palette-snapped from Cargo Orange |
Glasses
| ID | Name | Weight | Notes |
|---|---|---|---|
| 0 | None | 35% | No overlay |
| 1 | Round Spectacles | 20% | |
| 2 | Aviators | 15% | |
| 3 | Visor Shades | 15% | |
| 4 | Monocle | 10% | |
| 5 | Gold Aviators | 5% | Founder-locked · re-rolls for tokenId ≥ 101 |
Emblem
| ID | Name | Weight | Notes |
|---|---|---|---|
| 0 | None | 40% | No overlay |
| 1 | Mission Patch | 30% | |
| 2 | Star | 20% | |
| 3 | Skull | 10% |
Accessory
| ID | Name | Weight | Notes |
|---|---|---|---|
| 0 | None | 40% | Baked utility tool remains visible |
| 1 | Coffee Mug | 25% | |
| 2 | Wrench | 15% | |
| 3 | Flag | 12% | |
| 4 | Bone | 8% |
Backpack
| ID | Name | Weight | Notes |
|---|---|---|---|
| 0 | None | 50% | No overlay |
| 1 | O2 Tank | 25% | |
| 2 | Solar Panels | 15% | |
| 3 | Jetpack | 10% |
Combinatorics: 5 × 4 × 6 × 4 × 5 × 4 =
9,600 unique combinations across a 2,000-supply collection.
Expected duplicate trait sets: ~420. Mint block timestamps in metadata
distinguish otherwise-identical mints.
Render order is back-to-front. Body is always present. Backpack is the only layer drawn behind it; everything else stacks on top.
Five contracts. The Descriptor is forked from Nouns and holds all the RLE trait bytes; the rest are project-specific.
tokenURI() defers to the Descriptor.
afterSwap hook. The single entry point that
triggers a mint. See the
Hook page for the full flow.
tokenURI(uint256) returns a base64-encoded JSON data URI.
The image is itself a base64-encoded SVG inlined in the JSON — no
external resource is ever required to render a Shibanaut.
// tokenURI(1337) → data:application/json;base64,... decoded: { "name": "Shibanaut #1337", "description": "Resident of the International Shiba Station...", "image": "data:image/svg+xml;base64,PHN2Zy4uLg==", "attributes": [ { "trait_type": "Body", "value": "Sesame" }, { "trait_type": "Suit", "value": "Cargo Yellow" }, { "trait_type": "Glasses", "value": "Aviators" }, { "trait_type": "Emblem", "value": "Star" }, { "trait_type": "Accessory", "value": "Wrench" }, { "trait_type": "Backpack", "value": "Solar Panels" }, { "trait_type": "Mint Block", "display_type": "number", "value": 18742019 } ] }
Each token gets a permanent slot on the station the moment it mints.
Placement is sequential: tokenId
N takes slot N in the canonical manifest.
The manifest is published off-chain alongside the frontend, read once
at load time, and never mutated.
Slots are partitioned into five modules so the station feels like a crewed habitat instead of a uniform grid.
| Module | Slots | Notes |
|---|---|---|
| Command Deck | 100 | Tokens 1–100 (founder window) |
| Habitat | 200 | Largest cluster · general crew |
| Observatory | 60 | |
| Hydroponics | 60 | |
| Cargo Dock | 80 | |
| Total | 500 | Sized for v1 supply at realistic adoption |
Capacity scales by adding new wings to the station, not by inflating existing modules.
These do not block contract work but must be resolved before mainnet launch.
- Mint threshold — USD value of $ISS needed in a swap to trigger a mint.
- V4 pool fee tier — 0.30% or 1.00%.
- Initial liquidity — amount of $ISS + ETH seeded into the pool.
- Supply cap re-confirmation — currently 2,000.
- Founder window size — currently 100 (locks Gold Aviators).
- Station art production path — commission, AI-generate, or hybrid.