Security and limits
This page lists what an organism does not do and what can go wrong. It is written before anyone asks.
What it does not do
- It does not guarantee a price. It spends a share of fees on burns. It does not defend a level, and it can be out-sold.
- It does not make money. Fees are spent on buys that are burned. The treasury shrinks by design. There is no yield and no inventory to sell back.
- It is not audited. There is no Terrarium contract to audit. The engine is plain code in the folder you run, with tests, but it has not had an outside review. Read it.
- It does not remove custody. See Custody and the exit.
What can go wrong
| Risk | What happens | What limits it |
|---|---|---|
| RPC outage | claims and burns fail and are retried the next beat | the journal shows claim failed / burn failed; nothing is spent on the books |
| Key lost or leaked | the wallet's funds are lost | nothing: this is custody. Keep the key off shared machines |
| Price moves while a burn is built | the buy fills at a different price | each buy carries a minimum-out guard (3% on the curve, 2% plus the coin's tax in a pool) and reverts beyond it |
| A wrong model answer | an order is trimmed or held back | it cannot raise an order or fire a hook; caps do not depend on it |
| A bug | an unexpected order | the caps are checked before building; the daily ceiling and the gas reserve bound the damage |
| The coin graduates | it leaves the curve for a Uniswap v4 pool | the organism follows it there: price and buys come from the pool, with a price-impact limit. Between graduation and the pool's creation it waits, see Graduation |
| A thin pool | a drip would move the price | every pool buy is cut down to the size whose estimated price move stays within 4% |
| A lost receipt on a dev payout | the transfer is mined but the answer is lost, and the balance cannot be read | the amount stays owed and is retried: in that rare case one payout can be sent twice, to the same address and never past the gas reserve |
| A lost receipt | a burn is mined but the caller is told it failed | the wallet balance is compared before and after; if it dropped, the burn is counted. If the balance cannot be read either, the order is counted against the day's ceiling |
| Fake coin with the same name | a holder buys the wrong one | the address is published in two places; paste any address into Verify |
Graduation
A Pons coin starts on a bonding curve and later moves to a Uniswap v4 pool. The organism handles both: it reads where the coin trades and buys there. The details, and what is still not covered, are in Graduation.
The key
The organism needs the private key of the wallet that receives the fees, in .env on the machine that runs it. With your own wallet that is the key of a wallet that holds your funds: the code limits what the program does with it, but anyone who reads .env can do anything. Keep it on a machine you trust, never in a repository, never in a chat.
Model keys
ANTHROPIC_API_KEY is read from .env by the runner and sent only to the model provider's API. Use a key with a spending limit. The battery limits what the organism may spend on thinking in accounting terms; the provider's limit is the real wall.
Reporting a problem
Open an issue on the repository once it is public, or message the official X account. Never send a private key to anyone, including us.