MIRAGE GARDEN

Live objects. Every holder. Every community.

Unipeg proved the idea: token balances can create real on-chain objects. We saw that and wanted everyone to have it - not just one experiment, but a permissionless primitive any community can launch on Base.

Explore marketLaunch your LOA

Unipeg was when someone figured out that token balances could create real on-chain objects, rather than just receipts. Live things that exist as long as you hold. We liked the idea but saw room for expansion.

The project built it for itself. It was closed, narrow, not something anyone else could use. No custom thresholds. No custom art. No way to launch your own version for your own community. Just one experiment that quietly decided not to grow.

We decided to change that. Mirage Garden takes that core idea — balance creates object — and makes it a permissionless primitive. Any token. Any threshold. Any renderer. Any seed logic. Built for Base, open to everyone.

Balance-native

You hold it. You have it.

Your LOA is active as long as your token balance stays above the interval. The moment you sell enough to drop below, it goes dormant. No stale receipts. No rarity farming loop.

Any token. Any threshold.

Creator-configurable rules

Pick the token design, the interval, the renderer. 1 token = 1 object slot. Or 621. Or 10k. Whale tiers, meme tiers, faction gates — whatever fits your community.

Open to everyone

For communities and builders

Deploy permissionlessly on Base. Plug in a default seed, a Uniswap V4 swap hook, or a custom module for GameFi, quests, Farcaster, or social campaigns. All on-chain.

How LOAs work
01A creator deploys a LOA — token settings, support interval, max objects, renderer.
02Any wallet holding ≥ 1 interval of the source token has object capacity. No separate mint gate.
03The wallet calls claim() to take ownership of specific object IDs within their capacity.
04Sell enough tokens to drop below the interval? Your LOA capacity shrinks. Unsupported objects become Dormant.
05Buy enough support back and sync? Dormant LOAs reactivate oldest-first.
100% on-chain art. Trait images live in contracts. No IPFS. No external URLs. Your LOA renders the same way in ten years.
NFT vs uPEG vs LOA
Normal NFTuPEGLOA
What is itA collectible you minted or bought — a receipt of past actionYour uPEG balance maps to an on-chain objectYour live token balance creates a live object that can go dormant
How you get oneMint, buy, allowlist, claimTied to uPEG balance modelHold above the interval set by the creator
What happens when you sellNothing — you keep the NFT foreverDepends on uPEG balance behaviorBalance drops below interval, the object becomes Dormant instead of being farmed again
Custom thresholdNone — static ownershipLimited (uPEG units only)1 token, 69, 621, 10k, whale tier — creator picks the interval
On-chain renderingSometimes (often IPFS / centralized)Yes — SVG/pixel artYes — creator-pluggable renderers, always on-chain
LOA vs BOA

LOAs and BOAs are both soTokens. The difference is what happens to the object layer when live token support changes.

LOABOA
Best forMost new launches: liquid tokens with object memoryStricter bound-object communities that want harsher consequences
When support is lostObject stays assigned and becomes Dormant until support returnsObject can unbind, burn, or attempt auto-follow depending on launch policy
Holder experienceLess confusing: people can sell tokens without wondering where the object vanishedMore severe: selling can intentionally break or remove the object relationship
Token liquidityPrimary design goal. The token stays liquid while unsupported objects sleepStill sellable, but the object side is intentionally more bound and punitive
Anti-farmingDormancy prevents simple buy, mint, sell, repeat rarity loopsHarsh unbind/burn rules discourage dumping by making the loss immediate
Why choose itYou want a standard people can understand, trade around, and keep coming back toYou want legacy peg behavior, high-stakes access, or a deliberate no-takebacks object
FOR BUILDERS

Build anything on top

Mirage Garden is a public foundry, not a closed product. Wire LOAs and BOAs into a game, Farcaster mini-app, quest system, token-gated social layer, or launchpad. The same object layer can serve art, access, progress, debt state, or community reputation.

Seed modules
Custom seed modules
Plug in birth events for GameFi actions, quest completions, social campaigns, or custom contract logic.
Renderers
Custom renderers
Output any on-chain SVG or metadata format. The default layered renderer composites weighted trait layers. Bring your own for generative art, animated SVGs, or custom metadata schemas.
LOA default
Dormant, not gone
LOAs keep the object assigned when support is lost. Sync can reactivate dormant objects when the wallet has enough support again.
BOA policy
Bound when you want bound
BOAs keep the classic peg-style edge: unbind, burn, or experimental auto-follow behavior can be chosen at launch.
Tiers
Multiple tiers, one token
Use intervals to shape member, holder, whale, faction, or collector layers around the same token economy.
Birth records
On-chain provenance
Every object stores minter address, block number, birth path, and gate balance at birth. Queryable on-chain forever.
Weighted rarity
Seed-driven, deterministic
Each object gets a seed at birth. The layered renderer uses it to select one trait per layer using weighted probability — fully on-chain, reproducible, no oracle needed.
Royalties
Creator royalties
Royalty percent is set at deploy and stored in the ledger. The market reads the rule on every sale and routes the creator cut automatically.
Max supply cap
Hard cap at deploy
maxObjects is set once at deploy and enforced at the contract level. No admin override. Once the cap is hit, no new claims are possible.
Read the docs →Deploy a rule →