إنتقل إلى المحتوى الرئيسي

What is a BOA?

Quick Definition

A BOA is a Bound Object Asset. It is the current name for strict balance-bound object systems such as UniPeg-style objects and earlier Mirage-compatible BOA collections.

The short version:

source-token balance -> supported BOA slots
claim -> specific object IDs
object transfer -> object ID + source-token interval move together

If a wallet holds 10 tokens and a project sets interval = 1 token, the wallet can support 10 BOA objects. If the wallet later drops to 7 tokens, sync applies the BOA lost-support policy to the excess objects.

The core invariant​

Every BOA protects this invariant:

valid objects owned by wallet <= floor(sourceToken.balanceOf(wallet) / interval)

Unlike a token-gated NFT mint, BOA ownership stays coupled to live balance. The object and the balance that backs it are intentionally strict.

BOA versus LOA​

LOA is the recommended v1.2 path for most projects: unsupported objects become Dormant and can reactivate when support returns.

BOA is harsher: unsupported objects can unbind, burn, or attempt auto-follow depending on launch settings. That can be useful for high-stakes access, diehard-holder mechanics, and historical provenance where loss is part of the design.

Lineage​

BOA is the class that contains UniPeg-style objects, AGENTZ v1.0.1, and other strict balance-bound object designs. Older names are historical; new public Mirage launches should use LOA, BOA, and soToken language.

Seed modules​

Uniswap v4 hooks are one useful seed source, not the whole protocol.

Creators can use seed modules for:

  • default transaction-derived seed
  • Uniswap v4 swap context
  • GameFi actions
  • quests or social campaigns
  • custom developer modules

Seed modules may influence birth seed, birthPath, provenance, and renderer context. They must not bypass balance capacity, sync, ownership, max object count, or object-plus-interval transfer semantics.

On-chain art policy​

Mirage soToken art and renderer output should stay on-chain. Weighted layered rendering is supported through media storage and renderer contracts.