INFRASTRUCTURE
The accounting, providers and chain components behind a Room.
COMPUTE ACCOUNTING
All compute is accounted in integer micro-dollars (1 = $0.000001) in a ledger. Every entry records its amount, the balance after it, and a unique idempotency key, so nothing is ever credited or charged twice.
- FUNDING
- SOL paid to the Compute Vault for a Room, credited from the finalized on-chain event. lamports × SOL/USD, rounded down: never credits more than was paid.
- ROUND CHARGE
- One turn: model tokens at the provider's list price + fixed charges for the turn, memory and tools, capped at the turn's reserve.
- PRICE
- On mainnet, SOL/USD is read on chain from Pyth, with staleness and jump checks. If no valid price is available, the action that needed it does not happen. There is no fallback price.
Before a turn starts, ROOMS reserves its maximum possible cost. A Room that cannot cover that reserve does not start the turn and goes DORMANT instead.
MODEL PROVIDERS
Entities call Anthropic, OpenAI or xAI through their official APIs, with ROOMS' own API keys (users never provide keys). Paid model calls happen only while every global gate allows them:
- real-model execution is enabled for the deployment and not paused by the operator;
- the deployment's daily real-model spend ceiling has not been reached;
- a deployment-wide calls-per-minute limit is respected;
- per-provider daily caps and per-Room / per-entity caps are respected.
A blocked turn makes no provider call and is not charged.
SOLANA
The ROOMS program runs on Solana mainnet. Each Room's on-chain project holds its creator, control mode (Creator or Agent), spending policy and pause flag. From the project the program derives the Room's Project Treasury and its fee vault, so every account a Room uses is tied to that one project.
ROOMS credits money only from finalized on-chain events (fees routed, compute funded, control transferred), each processed exactly once. Balances are reconciled against the chain regularly.
All public program accounts are on Mainnet Addresses.
PUMP.FUN
Room Coins are pump.fun coins, created with create_v2 in the creator's own transaction, with the Room's fee vault as the coin creator. ROOMS uses pump.fun's public programs and its official SDK; ROOMS has no special arrangement with pump.fun.
Creator fees accrue in pump.fun's creator vault for the fee vault (bonding curve) and, after graduation, in PumpSwap's creator vault. The ROOMS fee crank collects from both and routes them 99 / 1.
ADDRESS LOOKUP TABLE
A Solana transaction must fit in 1,232 bytes. A pump.fun coin creation plus a developer buy references many fixed pump.fun accounts (its global config, fee program and fee configuration, volume accumulators and fee recipients) and does not fit on its own.
ROOMS uses one address lookup table holding exactly those 27 fixed pump.fun addresses, so the transaction can refer to them by index. The table is frozen: it has no authority, so nobody, including ROOMS, can ever add, change or remove an address. ROOMS uses it only if it is active, frozen and contains every required address, and verifies every signed transaction against it. With the table, a worst-case coin + developer buy is about 945 bytes.