Skip to content

Cheat Sheet — Caps & Limits

Every hard ceiling, spillover threshold, and revert-on-exceed condition in the game.

Chat reward

Cap Value What it bounds Source
Per-message MAI 1 * 10^decimals of the QING asset Reward per CHOA.Chat() call. Computed MAI is clamped if larger. CHOA

Implication: there is no way to earn more than 1 venue-token from a single chat call, no matter how much you hold. Volume > whale. See Venues: Chat Mining.

Personal vs. world holdings (H2O & VITUS)

Both H2O and VITUS enforce the same two-tier overflow:

Cap Value Effect Source
Personal max Meridians[13] If a player's balance would exceed this after a mint, overflow goes to the WORLD contract. H2O, VITUS
WORLD max Meridians[20] If WORLD's balance would exceed this, the overflow burns. H2O, VITUS

Implication: a player who never withdraws will eventually hit Meridians[13] and start unintentionally donating to WORLD; WORLD itself can later start burning. Planning when to withdraw is a real optimization. See Economic: Overflow Play.

Access / admission

Cap Value Effect Source
CROWS VIP threshold 25 * 10^18 Holding ≥ 25 CROWS bypasses all other admission checks at any QING that hasn't set NoCROWS. QING
BouncerDivisor share Asset.balanceOf(x) ≥ Asset.totalSupply() / BouncerDivisor Large-holder auto-bouncer gate. Divisor is per-QING, uint16. QING
Guest-list slot 1 timestamp per UserToken _list[UserToken] = block.timestamp + 1 days. Only the latest entry persists. QING

See Venues: Cover-Charge Tuning, Venues: Guest-List Rotation.

Encryption / crypt queue

Cap Value Effect Source
In-flight crypt count uint64 index range (effectively unbounded in practice; capped by gas and Prune) Exceeding triggers TooManyCrypts(max, count). ENCRYPT
Chromosome minimum Error ChromosomeLength Keys below a minimum length revert. Exact length not numeric-constant; enforced via error. ENCRYPT

Word-game / voting

Cap Value Effect Source
Submissions per user per round uint8 → max 255 Struct field overflow. USERVOTE
Vote index per user uint16 → max 65,535 Supports up to 65,535 distinct submissions per round. USERVOTE
Round counter uint16 → max 65,535 Round rollover would require 65,535 rounds. Not a live concern. USERVOTE
Acronym string min length 3 MinimumLength3 revert. STRINGLIB

See Meta: Word-Games Tactics.

Rate modifier floor

Cap Value Effect Source
Rate-modifier floor 777 If Mod < 777, the rate denominator grows nonlinearly: Rate / ((777 − Mod) · 10^(decimals − 5)). YUE

See Economic: Market Rates.

Range caps

Cap Value Effect Source
Code range (Yeo) Dynamic; output of META.Beat(QingWaat), further divided by Chao. Latitude and Longitude must be within Yeo of QING's position; otherwise OutOfRange. META, WORLD

See Territory: Proximity & Geometry.

Owner-only writes

Many contracts accept only onlyOwners or onlyBouncers callers. A summary of the bouncer cascade (most-to-least privileged):

  1. _staff[cBouncer] == true → authorized.
  2. NoCROWS == false && CROWS.balanceOf(cBouncer) ≥ 25 * 10^18 → authorized.
  3. Asset.balanceOf(cBouncer) ≥ Asset.totalSupply() / BouncerDivisor → authorized.
  4. Map.hasOwner(Asset) && Asset.owner(cBouncer) → authorized.
  5. Otherwise → not a bouncer.

Source: QING.bouncer().

What does NOT have a hard cap

Avoid assuming these are bounded:

  • CO2. Global uint256 accumulator in WAR. Only a practical bound via block gas + time.
  • _taan[Caude][Position] (WAR's high-score map). Monotonically nondecreasing per (Caude, Position). Once someone rolls a huge Waat there, beating it gets harder, but there's no reset.
  • Moments[Soul] in RING. Stores whatever last Iota was computed; there's no ring buffer, just an overwrite.

Quick reference

Hard cap? Value Tag
Per-message MAI 1 token HARD
Personal H2O/VITUS Meridians[13] SOFT (overflows, doesn't revert)
WORLD H2O/VITUS Meridians[20] HARD (burns)
CROWS VIP gate 25 CROWS HARD (gating logic)
Guest-list entry 1 day HARD (timestamp)
ENCRYPT TTL 10 days HARD (timestamp)
Submissions/round 255 HARD (uint8 saturation)
Rate-mod floor 777 SOFT (piecewise formula)