Every contract Myrias uses, and every power its owner holds, written plainly. Addresses show pending until they are published. Once published, each links to the block explorer.
Contracts
| Contract | Address |
|---|---|
| $MYR token | pending |
| Swap hook | pending |
| Flock vault | pending |
| Compass | pending |
| Team treasury (multisig) | pending |
explorer links appear once addresses are published
Only trust addresses shown here or announced by @myriasco.
$MYR token
The token. Supply 1,000,000,000. It carries no claim on any funds. See $MYR.
Swap hook
A hook on the $MYR pool. It takes the 1% fee on the ETH side of every $MYR swap, buys and sells, and sends it to the treasury multisig in the same transaction. The pool itself charges no LP fee.
LP locker
Holds the launch liquidity position forever. It has no function to remove liquidity or move the position. Anyone can call collect(), which sends any accrued fees to the treasury.
Compass
Holds every holder's compass, weight and rank.
ready()— true once the contract is configured and live.point(target, amount),add(amount),withdraw(amount),clearCompass()— deposit and point, deposit more, withdraw (immediate, never locked), stop pointing. The compass contract holds deposits; the owner has no function that can move them.compassOf(holder),balancesOf(holder)(active and waiting deposit),depositOf(holder),weightOf(holder),rankOf(holder)— read a holder's state.settleRank(holder)— anyone can settle a holder's finished calls into their rank.registerTarget(token),addCandidate(token, replace)— anyone can register a coin and put it on the candidate list once enough weight points at it.- Events:
CompassSet,CompassCleared,CallSettled(account, positionId, target, outcome),RankChanged(account, rank, netCalls).
Flock vault
Holds ETH and positions, runs the turn and the exits.
ready()— true once live.turnReady()— true when a turn can be called.turn()— anyone can call it whenturnReady()is true.continueTurn()— anyone can fill the next chunk of the current buy.pokeExits()— anyone can run the exit rules between turns.lastTurnAt(),nextTurnAt(),turnCount(),totalValue(),openPositionCount(),openPositions(),getPosition(id)— read state.- Events:
Turn(turnId, target, weight, size, caller, reward),TakeProfit,StopLoss,MaxHold,PositionClosed(id, outcome, wethOut),Withdrawn(token, to, amount).
Team treasury
A multisig controlled by the team. It receives swap fees and controls the flock vault.
Admin powers
The owner of these contracts can:
- Withdraw any amount of any token or ETH from the flock vault, at any time. Every withdrawal emits
Withdrawn(token, to, amount)and appears in the app ledger. - Fund the vault. Send ETH into it, in any amount, when the team chooses.
- Change vault parameters, within hard limits. Size per turn (up to 10%), chunks (1–8), slippage (up to 5%), take profit (1.2–5×), stop (10–60%), max hold (1–24 hours), max open positions (up to 12), caller reward (capped at 0.05 ETH). Every change emits
ParamsChanged. - Close a stuck position.
forceClose(id)frees the slot of a position that cannot be sold; the tokens stay in the vault. - Change eligibility inputs. The liquidity floor (0.5–1,000 ETH), a denylist of coins that can never be targets, and a coin's pool: only to a pool at least 1.5× deeper, with 24 hours of its own history or 24 hours after proposing it (
proposePool, thenrefreshPool). A coin whose pool has died (ineligible) can be moved to its deepest pool at once. - Change the swap fee and its recipient. The fee can be set between 0% and 3%.
- Transfer ownership. Hand any of the above to another address.
The owner cannot pause turns, change the cadence, change the rank ladder, change anyone's weight or rank, mint $MYR, or remove the launch liquidity. None of those functions exist.
These powers are real. The vault is team-controlled, and nothing in the contracts stops the owner from using them.
Verifying
Once the addresses are live:
- Open each link above and check the source is verified on the explorer.
- Check the owner of each contract, and that the treasury is a multisig.
- Read
Withdrawnevents on the flock vault to see every movement out. - Compare the live parameters with the numbers on this site. They come from one config file; if they drift, tell @myriasco.
The app and these contracts
The app reads these contracts directly. Every write button, like Set compass or Call turn, is enabled only when the address is set and the contract reports ready(). Until then it is disabled and marked pending.