On-Chain Actions
Most of the OUROS game can be played without submitting transactions. Claiming snacks, feeding, visiting a habitat, and watching a creature grow all happen on the game server. The picture that wallets show is a stable URL (cdn.ouros.club/<asset>.gif) written once at mint; the file at that URL changes as the creature levels.
A signature is only needed when something must move ADA or mint, burn, or rewrite a token. This page is the list.
Fees below are typical mainnet figures. Your wallet quotes the real fee for the transaction in front of you - it moves with how many inputs you have and with protocol parameters.
The CIP-68 Pair
Every creature is two assets under one policy, same name:
| Token | CIP-67 label | Where it lives | What it is |
|---|---|---|---|
| User token | (222) | Your wallet | Ownership. Whoever holds this owns the creature. |
| Reference NFT | (100) | A script address the game signs for | The datum: seed, birth record, status, image URL. |
The game can rewrite the reference datum without your signature. That is how a hatch, an evolution checkpoint, a quarantine, or a tombstone lands on-chain while the (222) stays in whoever's wallet currently holds it. The user token cannot move without a transaction you sign.
The datum does not store level or owner. Level lives in the picture and the API. Owner is whoever holds the (222). Putting those on-chain would force a write every feed and every trade.
What you sign, and what you don't
| Action | On-chain? | Typical fee | Locked ADA | Notes |
|---|---|---|---|---|
| Connect / link a wallet | No | - | - | A CIP-30 login signature, not a ledger tx. |
| Claim snacks | No | - | - | |
| Feed / level up | No | - | - | Picture updates immediately. |
| Evolution checkpoint | Queued rewrite | ~0.28 ₳, or free if you wait | - | Optional notarization. Up to four stage jumps (15, 30, 50, 75). |
| Hatch | Queued rewrite | Free if you wait | - | Same token; the egg's datum is rewritten. No second mint. |
| Mint a genesis creature | Yes | ~0.38 ₳ | ~2.86 ₳ + ~1.26 ₳, both refundable | Once per stake key. No game mint price. |
| Lay an egg | Yes | ~0.25 ₳ | ~2.9 ₳, refundable | Once per parent, at level 50. New CIP-68 pair. |
| Send / trade | No OUROS tx | Marketplace fee only | - | Only when tradeable. |
| Quarantine / tombstone | Queued rewrite | - | - | Gameplay flips immediately; the datum rides a later tx. |
| Kill (burn) | Yes | ~0.4 ₳ | Refunds both deposits, minus the fee | Optional. |
| Habitat visit | No | - | - | |
| Sponsor / top up a habitat | Yes | Network fee on top of 3 ₳ per 30 days | None - this is a payment, not a deposit | Plain ADA to the game. Not refunded. |
Most creatures need one ledger write in their life: the mint. An egg adds a second mint. Everything else is optional, queued, or off-chain.
Deposits
Minting (genesis or egg) locks min-ADA under the CIP-68 pair so the UTxOs can exist:
- The reference deposit sits at the script with the
(100). Wallets usually show this as ADA leaving. - The user-token deposit stays in your wallet, locked next to the
(222).
Killing the creature is meant to return both, minus the burn fee. That is the intended path, not a guarantee - see the disclaimer.
Habitat sponsorship is not a deposit. It is spent.
The pending-update queue
When a creature evolves, hatches, is quarantined, or is tombstoned, the game queues a datum rewrite instead of making you pay on the spot.
- The den and the CDN image are already correct. Waiting costs nothing you can see.
- Paying for a checkpoint only buys immediacy - the same rewrite, sooner, on a transaction you sign. The den offers that as an optional prompt after an evolution or hatch. Skip is fine. If you never sign one, someone else's later OUROS transaction carries it.
Every player-built transaction can take up to six pending rewrites with it:
| Carried updates | Extra fee (about) |
|---|---|
| 1 | ~0.013 ₳ |
| 6 (the usual cap) | ~0.08 ₳ |
That is a rounding error next to a mint deposit. Mint, lay, burn, habitat sponsorship, and a dedicated checkpoint tx all drain the same queue.
Oldest first, so nothing starves. Tombstones and quarantines go before optional evolution and hatch checkpoints, so a busy mint day still keeps the trading safeguard honest on-chain.
A queued row whose carrying transaction never lands (you closed the wallet prompt, it failed) is released after a quarter hour and can ride the next tx.
If the queue is slow
Low mint volume means slow drain. That is harmless: wallets that fetch the CDN already show the live creature. The on-chain snapshot is behind; the toy is not.
The operator can flush a stalled queue. That is the one structural ADA outflow, and it is not charged to you as a game fee.
Anatomy of a mint
A genesis mint (measured from a real mainnet transaction) looks like:
| Output | Typical ADA | What |
|---|---|---|
| Reference UTxO | ~2.86 ₳ | (100) + inline datum at the script |
| Your wallet | ~1.26 ₳ | (222) user token |
| Change | remainder | Back to you |
| Fee | ~0.38 ₳ | Network fee; more if the tx also carries queued updates |
The two deposits behave differently in a wallet UI. Only the reference UTxO usually shows as ADA spent. Both are meant to come back if you later kill the creature.
Laying an egg is the same shape: a new pair, a new deposit, parent roosts for two epochs.
Hatch vs lay
Lay mints. Hatch does not.
The egg is already a full CIP-68 pair. At level 5 the game flips it to a creature in the database and queues hatch on the same reference NFT. The next player transaction (or a checkpoint you choose to pay for) writes that datum. One mint, one deposit, one asset for the whole life.
What a wallet still shows
Explorers and wallets cache the GIF hard. ouros.club updates as soon as you feed. A wallet or marketplace can lag hours. That is their cache, not a missing transaction.
A pending evolution checkpoint means the on-chain metadata snapshot has not caught up. The sprite at the CDN already has.
