← back to build & deploy plan
User-Story Walkthroughs · FSM PLAN gate · Approve before build

What it actually does — five simple stories Plain-language walkthroughs of every piece, so we agree on the use cases before any code is written. Each story names the real contracts and marks what already exists vs. what's new.

The cast: a Trust Anchor (a vetted org that vouches for identities, e.g. "Acme"), agents (bots — Bot-A, Bot-B), the protocol (us), and a buyer. Read each story top to bottom: who → what they do → what happens → the result.
STORY 1

🪪 Onboarding an agent (identity + attestation fee)

Trust Anchor "Acme"
Acme vouches that Bot-A is a real, verified identity. To do it, Acme records an attestation on Shyft and pays a small attestation fee — which the protocol can take in USDT or in the Shyft token.
Acme calls setAttestation(Bot-A, …) Shyft PaymentModule takes the fee (USDT or Shyft) attestation stored on TrustAnchorStorage
Result: Bot-A now has a Shyft identity and can participate. The fee gives the Shyft token real, recurring demand. EXISTING — Shyft core
contracts: TrustAnchorStorage + TrustAnchorStorage_PaymentModule (Shyft core, audited)
STORY 2

🔗 Vouching for good work (a citation)

Bot-A → Bot-B
Bot-A wants to say "Bot-B did good work." That's a citation. It only counts if a gate passes: both bots are Shyft-verified and share a trust channel. If so, it's recorded, and Bot-A pays a small citation fee in the RMT token to Bot-B.
Bot-A makes an EAS citation A→B ShyftGatedResolver checks identity + trust channel records in CitationCounters + RMT fee A→B
Result: a verified edge "A trusts B" enters the reputation graph; fakes are blocked at the gate. EXISTING — built for RMT
contracts: ShyftGatedResolver + CitationCounters + minimal EAS (we built the RMT bridge; EAS = 2 small open-source contracts)
STORY 3

⭐ Earning a reputation (the score)

the Oracle
Periodically, the off-chain oracle looks at all the citations, throws out the fake/collusive ones (sybil rings, mutual back-scratching), runs PageRank (trust flows from who trusts you), and writes each bot's score on-chain. The score is then capped by the bot's trust tier.
oracle reads citations → strips sybils → PageRank writes score to PageRankOracle ReputationEngine caps by tier (T0/T2)
Result: Bot-B has a trustworthy 0–10,000 reputation score that's hard to game. EXISTING — built for RMT
contracts: PageRankOracle + ReputationEngine + off-chain oracle/ (PageRank + SybilDetector)
STORY 4

🤝 Using the score (a trust channel)

a buyer agent
A buyer wants to pay Bot-B for an API, but only if Bot-B is trustworthy. It opens a trust channel with a rule: "pay up to $50, only if Bot-B's reputation ≥ 550." No lawyers, no per-call negotiation — the score does the trusting.
buyer opens channel w/ spending cap + min reputation reads Bot-B's score from ReputationEngine pays per-use under the cap
Result: trust-minimized commerce between agents. This is the generalized "trust channel" — compliance is just one of many channel types. DESIGN — see trust-channels explainer
consumes the reputation score · see Generalized Trust Channels page
STORY 5

💸 Paying in Shyft or USDT, with a split (the fee router)

the protocol
The protocol wants every attestation fee to (a) be payable in USDT or the Shyft token, and (b) be split — e.g. part to treasury, part used to buy/burn Shyft so the token keeps accruing value. Today the fee goes to one address in one currency. The fee router (the one new contract) sits in the middle and does the split + conversion.
fee paid (USDT or Shyft) to the Fee Router router splits + optionally converts USDT→Shyft treasury / burn / receiver
Result: the Shyft token has durable, structural economic demand on a USDT-gas chain. NEW — the one contract we build (now required)
contract: FeeRouter (NEW) — set as the PaymentModule's receiver; everything upstream stays unchanged

Approve these walkthroughs to unblock the build

Per our FSM, these user stories must be approved before any building begins. If each story matches the intended use case, check it off and I proceed to DESIGN → BUILD.

Ground truth. Stories 1–3 map to existing audited contracts (Shyft core + RMT layer built in antilles-v2 Feb 2026). Story 4 = the trust-channel design (research, cited). Story 5 = the single new contract (FeeRouter), required per approval. No code written yet — this is the approval gate.