Skip to content
Reference

Contracts and admin powers

Addresses, and every power the owner holds.

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

ContractAddress
$MYR tokenpending
Swap hookpending
Flock vaultpending
Compasspending
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 when turnReady() 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:

  1. 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.
  2. Fund the vault. Send ETH into it, in any amount, when the team chooses.
  3. 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.
  4. Close a stuck position. forceClose(id) frees the slot of a position that cannot be sold; the tokens stay in the vault.
  5. 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, then refreshPool). A coin whose pool has died (ineligible) can be moved to its deepest pool at once.
  6. Change the swap fee and its recipient. The fee can be set between 0% and 3%.
  7. 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 Withdrawn events 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.

searchesc
follow us