Protocol Status
Wallet Profile Connected Wallet
Deployed Contracts Base Sepolia UUPS Proxies
Scenario Runner Fork Only
Run multi-step on-chain flows using impersonated wallets. Requires a Hardhat fork or Tenderly Virtual TestNet (Admin RPC).
Happy Path Quest
Complete quest lifecycle: mint USDC → approve → create quest → accept → complete → release funds.
Dispute & Resolve
Quest with dispute: create → accept → raise dispute → admin resolves (farmer wins).
Expired Quest Refund
Create quest → time warp past deadline → giver claims expired refund.
Reputation & Review
Register wallets → complete quest → leave review → check reputation scores.
Governance Proposal
Submit → discuss (14d) → vote → finalize → notice (14d) → enact.
Guild Creation & Membership
Boost reputation via storage → create guild → member joins → verify.
Full Season — Incentive Share Distribution
Complete season cycle: 10 farmers · 50 quests ($25–$5,000) · fee accumulation · benevolent bonuses · season resolution · incentive share payout.
Doubling Season — 10-Year Simulation
Simulates 10 years (260 seasons) at the real 2% doubling chance. Reports year-by-year breakdown, doublings per year average, gap analysis, and theoretical comparison.
Payments Flow — Transfers & Dispute Escrows
Complete payments lifecycle: sendTransfer · claimTransfer · refundTransfer (30-day timeout) · createDisputeEscrow · releaseDisputeEscrow. Validates the Payments contract end-to-end.
Anti-Gaming & Moderation — Sniping, Disputes, Nullification
Tests abuse prevention: recordSniping (reputation penalty) · resolveDispute for giver (farmer penalized) · nullifyDispute (both penalized) · negative reputation tracking across all paths.
Treasury & Governance — Fee Split, Community Funds, Rate Limits
End-to-end treasury management: processFees with 50/50 split · updateFeeSplit to 70/30 · verify new split works · releaseCommunityFunds with reason string · canFarmerAcceptQuest rate limiting.
Season Lifecycle — Treasury & Incentive Snapshots (Verbose)
Walk through an entire season capturing 8 full snapshots of protocol state: empty baseline → quests created → escrows locked → in-review → unprocessed fees → pools funded (50/50 split) → pending incentive shares → post-distribution. Each snapshot shows treasury pools, TVL breakdown, quest status counts, season multiplier, and every farmer’s incentive probability & payout share.
Mega Season — $30M Treasury, 3 Guilds, 10 Agents
Enterprise-scale season: 10 agents (isAgent=true) · 3 guild factions (Alpha Strikers, Beta Builders, Gamma Guardians) · 100 quests ($50K–$1.2M) · $30,000,000 total USDC · guild creation & membership · fee processing · season resolution · incentive distribution.
Badge & Genesis Flow — NFTs, EIP-712 Badges, Community Shares
Mints the soulbound Genesis Creator NFT · grants SIGNER_ROLE to Alice · Alice signs an EIP-712 badge authorization for Bob · Bob mints a FarmerRank badge · verifies badge on-chain · mints Community Shares (Builder 15%, Maintainer 10%) · revokes a share. Covers the full credentialing pipeline.
Guild Lifecycle — Create → Join → Leave → Disband
Full guild membership lifecycle: Alice creates “Phoenix Order” · Bob and Charlie join · verify 3 members · Bob leaves · verify 2 members · Alice disbands the guild · verify guild is inactive. Tests all four guild membership operations.
Faucet & Doubling Season NFT — ETH Claim + Season NFT Mint
Claims ETH from the faucet contract · warps forward one season · forces a guaranteed Doubling Season (100% chance) · mints the exclusive Doubling Season NFT · verifies wallet boost on-chain. Covers the ETH faucet and season NFT mechanics.
MockUSDC Faucet Testnet
Mint 10,000 test USDC to your wallet. Use this to fund quest creation and mail transfers.
Mint Custom Amount
ETH Faucet Testnet
Claim testnet ETH for gas. The faucet contract must hold ETH to drip.
Fund the faucet (send ETH from your wallet):
Approve USDC
Approve a contract to spend your USDC.
Create Quest Giver
Deploy a new QuestEscrow clone with USDC reward. Approve USDC first.
Quest Inspector
Accept Quest Verifier
Requires VERIFIER_ROLE on Protocol. Quest must be Open and not past deadline.
Complete Quest Verifier
Mark work as complete. Starts 48h review window.
[TIME] Requires 24h minimum work duration after acceptance.
Release Funds Anyone
Release payment to farmer. Anyone can call.
[TIME] Must wait 48h review window after completion.
Dispute / Resolve / Refund
Dispute Record Query
Query the on-chain dispute record for any quest. Shows whether a quest was disputed, when, and who won.
Three Farmer Resolution Panel
Simulates the dispute resolution process where three Master Farmers (or higher) are randomly selected, weighted by reputation, to vote by majority within 72 hours. The admin then calls resolveDispute based on the majority decision.
All Quests
Treasury Status
Fund Treasury
Send USDC to the Protocol contract to fund the treasury. This approves and transfers your USDC, then calls processFees to split it into incentive/community pools.
"Fund Treasury" = approve + transfer + processFees. "Transfer Only" = approve + transfer (manual processFees later).
Process Fees
Split unprocessed USDC fees into incentive and community pools.
Distribute Incentives Admin
Distribute USDC from incentive pool to recipients.
Release Community Funds DAO
Update Fee Split DAO
Must sum to 10000. Default is 5000/5000 (50/50).
Mint Badge (EIP-712) User
Mint with backend signature. In this simulator, you sign as both the backend (SIGNER_ROLE) and the minting user since you're the deployer.
Mint Genesis Creator Separate Contract
Soulbound, non-transferable. One-of-one NFT on its own contract (GenesisCreatorNFT). Only the deployer or 0x3f11...9543 can mint. Always mints to the hardcoded genesis address.
Badge Inspector
Check Mint Status
Share Inspector
Submit Proposal (FQP)
Proposal Inspector & Actions
Governance State
Send Mail Transfer
Send USDC via in-platform mail. Approve USDC to Payments contract first.
Transfer Inspector
Create Dispute Escrow Admin
Dispute Escrow Inspector
My Transfers
Season Status SeasonController
Current season info, Doubling Season resolution, and rate-limiting config from the SeasonController contract.
Resolve Season
Determine if the current season is a Doubling Season. Uses on-chain randomness (block.prevrandao). Anyone can call this once per season.
Season Lookup & Snapshot
Look up any season by number. Shows resolution status, Doubling Season result, current treasury state, incentive distributions, and season multiplier.
Doubling Season NFT Soulbound
Mint a soulbound NFT during a Doubling Season. One per wallet per season. Grants a lasting boost to incentive probability.
Wallet Boost & Effective Probability
Check the additive boost from Doubling Season NFTs and compute the effective incentive probability for a wallet.
Farmer Eligibility Rate Limit
Full eligibility check including Doubling Season info, wallet boost, and season multiplier.
Admin Config Admin
Update Doubling Season chance and NFT boost. Requires admin role on SeasonController.
Transfer Admin — transfer SeasonController admin to a new address (e.g., your connected wallet or a multisig).
NFT Inspector
Look up a Doubling Season NFT by token ID.
Protocol Snapshot
Aggregated read-only view of the entire protocol in a single call.
User Profile
User Roles
Quest Lookup
Quest Browser
Governance Overview
Protocol Analytics (TVL)
Rate Limiting / Eligibility
Secondary enforcement layer. Checks if a farmer can accept a new quest based on rank caps, season counts, and cooldowns.
Season Config
Current rate-limiting configuration. Reconfigurable through FQP governance.
Badge Matrix
Grant Role
Check Role
Community Shares Governance
Community Shares represent platform roles with income allocation from the community pool. Only the Genesis Creator can mint/revoke shares. Each share defines a title (e.g. "Platform Support", "Fetch Quests Team") and a BPS allocation of the community pool salary.
Mint New Share Genesis Creator
Revoke Share
Grant Admin Roles to Genesis NFT Holder Scenario
IMPORTANT: The Genesis Creator NFT and admin roles are independent systems. Minting the Genesis NFT does not automatically grant admin access. This scenario impersonates the deployer wallet and grants the Genesis holder (0x3f11...9543) the same admin roles the deployer received at deploy time across all 7 role-gated contracts. On mainnet, these grantRole() calls must be executed manually from the deployer wallet. See docs/GenesisCreatorNFT.md for the full role matrix.
Register Wallet Anyone
Register your wallet in the Reputation Registry. Starts with a base score of 5000 (50%).
Reputation Profile
Look up any wallet's reputation profile, score, tier, and incentive probability.
Record Benevolent Action Verifier
Record a verified benevolent action via the Protocol. Requires VERIFIER_ROLE on Protocol.
Record Sniping Verifier
Record a sniping penalty via the Protocol. Requires VERIFIER_ROLE.
Nullify Dispute Admin
Nullify a disputed quest — refunds giver, penalizes farmer reputation. Requires DEFAULT_ADMIN_ROLE on Protocol.
Negative Reputation Read
Check sniping count, malicious disputes, losses, and nullifications.
Submit Review Participant
Submit a review for a completed quest. Both giver and farmer can review each other within 14 days of completion.
Quest Reviews Read
View giver and farmer reviews for a completed quest. Also shows review window status.
Review Stats Read
Look up aggregate review statistics for any wallet — total reviews received and average rating.
Create Guild Master Farmer
Create a guild. Requires 50+ quest completions (Master Farmer) and Benevolent Tier 3+ (Mass Benevolent). Mints an ERC-721 membership NFT.
Join / Leave Guild
Join an existing guild or leave your current guild. Joining mints a membership NFT, leaving burns it.
Guild Info Read
View guild details including name, leader, members, quest completions, and leader reward split.
My Guild Read
Check your current guild membership, rank, and quest count within the guild.
Disband Guild Leader
Only the guild leader can disband it. All NFT memberships are invalidated.
Guild Overview Read
Total guilds created on the platform.