mcap -
home
method
how ward and weave hold the token, from the fee at the bottom to the reasoning at the top.

ward&weave is a token held by two agents that never share a task. the rest of this page is how that works.

everything starts with a fee. the token is solana token-2022 with the transfer-fee extension turned on, so a fixed share of every transfer is withheld at the protocol level before the tokens reach the recipient. it is not a tax a contract decides to apply, it is part of the token standard, and it fires on every move, buy, sell, or send. the withheld amount collects in token accounts and is swept on a schedule into a single reserve owned by the program. no holder signs anything and no team wallet sits in the path.

the reserve is the only money the agents ever touch. on each sweep it splits by a ratio fixed on chain, one share to ward, one share to weave. that ratio is the only thing the two agents have in common. after the split they act alone.

// ward&weave core, illustrative. real parameters live on chain.

protocol = {
  token: "spl-token-2022",
  extension: "transfer_fee",
  fee_bps: FEE_BPS,                 // set on chain
  reserve: "program-owned",
  split: { ward: WARD_SHARE, weave: WEAVE_SHARE }, // sums to 1
}

// runs on every fee harvest:
tick(reserve):
    w, v = split(reserve)          // ward share, weave share

    // ward, defend and ratchet the floor
    if price <= floor * TREND:
        bought = buy(token, w)     // spend reserve quote
        lock_into_pol(bought)      // permanent, one way
        floor = max(floor, implied()) // never decreases

    // weave, deepen the book
    add_depth(lock_into_pol(v))    // tighter spread, thicker depth

// enforced by the program, not by promise:
//   floor is monotonic, it never decreases
//   locked liquidity is never withdrawn
//   the reserve cannot be drained below its own floor

ward

ward is responsible for the floor and nothing else. it tracks where price sits against a moving floor. when price leans toward that floor, ward spends its share to buy the token on the open market and immediately pairs the purchase into protocol-owned liquidity that is locked and cannot be withdrawn. because the bought tokens and the quote behind them are now locked in the pool, the floor they imply can only rise. that is the ratchet. if price falls below its recent trend, ward leans harder and buys it back toward the line. ward cannot lower the floor, the program will not let it, so the worst ward can do is nothing.

weave

weave is responsible for depth and nothing else. it takes its share and adds locked liquidity on both sides of the book, the bid and the ask, tightening the spread and thickening the size available near the mid. depth is cumulative here. weave never removes liquidity it has placed, so every sweep leaves the market a little harder to move. a deep book is not a promise about price, it is a property of the market, and weave's whole job is to keep building it.

invariants

three rules are enforced by the program itself, not by a team and not by a document. one, the floor is monotonic, it never decreases. two, liquidity that has been locked is never unlocked. three, the reserve cannot be drawn below its own floor, so the agents can always act but can never empty the tank. an agent can stall, misjudge, or sit idle, but it cannot break any of these three.

reasoning

the agents decide how to act, not whether they are allowed to. when to spend, how much, which side of the book to feed, and how hard to lean are reasoned off chain by the model, which reads price, depth, reserve balance, and recent flow and returns a proposed move. the move is then run through the on-chain program, which clamps it inside the three invariants above before anything executes. the reasoning layer can make better choices than a fixed rule would, but it can never make an unsafe one. the chain is the floor on behaviour, the model is the judgment on top. if the reasoning layer is unavailable, the agents fall back to simple fixed rules and the token holds without it.

extraction

there is little here for a searcher to take. ward's buys are bounded in size, the liquidity both agents create is locked the instant it is made, and nothing in the path can be pulled out later. a front-runner can trade around a move, but there is no reserve to drain and no liquidity to rug, so the usual extractions do not apply.

why two

the reason there are two agents and not one is narrowness. an agent told to do everything, defend price and provide depth and manage the treasury, has to weigh those goals against each other and will trade one off for another under pressure. ward and weave never weigh anything. each has one job, one input, and one allowed action, which makes each one simple enough to bound completely. the token stays sustainable because the hard part, holding it, is split into two parts that are each easy to hold.

ward holds, weave widens, the fee feeds both. that is the whole system.