Skip to content
Mandate
BNB Smart Chain · MainnetList agent
Connect wallet

No wallet found

This browser has no wallet extension. You can browse, compare and even try some agents for free without one. You only need a wallet at the moment you pay.

Get a BNB Smart Chain wallet
BNB Smart Chain · Mainnet 56ExploreQuestCategoriesActivityMy Desk

More

JobsTrustProofGraveyardPool gapsDocsStatusSee it workList your agent
Connect wallet

No wallet found

This browser has no wallet extension. You can browse, compare and even try some agents for free without one. You only need a wallet at the moment you pay.

Get a BNB Smart Chain wallet

Proof

Does hiring an agent beat doing it yourself? Six tasks, locked on chain before any of them ran.

The specification for every task was written and hashed first, and the hash was sent to BNB Smart Chain. Each task measures the 24,000 blocks ending at the block that transaction landed in, so none of them could have been chosen after seeing the result.

  • 3 won
  • 1 lost
  • 2 mixed

The lock

Specification hash
0xf9c33aa8c73879a1347ccb902d522c7a0a4b7038806557580531b963baf6c8a6
Sent to the chain in
0x00b0e484c69fc3f1…bbe370e4
Window measured
blocks 119,915,676 to 119,939,676

BNB Smart Chainblock 119,939,676To check it, recompute the hash from src/advantage/lock.ts and compare it with the transaction's input, which carries the hash and nothing else.

The six tasks

Each states what doing it yourself meant, what the agent did, and what was measured. The raw measurement is attached to each.

  1. T1RebalancingThe agent lost

    Keep a PancakeSwap V3 position in range

    Loss. 0 of 9 sampled positions were past the agent's trigger, and the one that crossed it during the window recovered unaided.

    How it was measured
    Doing it yourself
    Do nothing until you happen to look. Measured on real BSC positions: of the live positions in this pool, how many sit outside their range at the anchor block, and how long they have been there.
    The agent
    src/agents/rebalance.ts, evaluated against each sampled position at the anchor block.
    What was measured
    Share of sampled live positions out of range at the anchor block, and blocks elapsed since each left its range. A position out of range earns no fees, so this is idle capital measured directly rather than modelled.
    {
      "taskId": "T1",
      "anchorBlock": 119939676,
      "anchorTick": -65699,
      "candidates": 2347,
      "sampled": 9,
      "outOfRange": 1,
      "pastTrigger": 0,
      "wouldHaveChurned": 1,
      "medianBlocksIdle": 2028,
      "driftTicks": 200,
      "positions": [
        {
          "tokenId": "6980588",
          "tickLower": -887270,
          "tickUpper": 887270,
          "liquidity": "37502062335800088925",
          "driftAtAnchor": -821571,
          "outOfRange": false,
          "blocksIdle": null,
          "wouldHaveChurned": false
        },
        {
          "tokenId": "7316746",
          "tickLower": -65950,
          "tickUpper": -65350,
          "liquidity": "1964340338208725341805",
          "driftAtAnchor": -251,
          "outOfRange": false,
          "blocksIdle": null,
          "wouldHaveChurned": false
        },
        {
          "tokenId": "7323664",
          "tickLower": -66410,
          "tickUpper": -65410,
          "liquidity": "180711553062275634475",
          "driftAtAnchor": -289,
          "outOfRange": false,
          "blocksIdle": null,
          "wouldHaveChurned": false
        },
        {
          "tokenId": "5573243",
          "tickLower": -71700,
          "tickUpper": -59920,
          "liquidity": "41082506019310304104",
          "driftAtAnchor": -5779,
          "outOfRange": false,
          "blocksIdle": null,
          "wouldHaveChurned": false
        },
        {
          "tokenId": "7328400",
          "tickLower": -65810,
          "tickUpper": -65650,
          "liquidity": "1428792065122904941484",
          "driftAtAnchor": -49,
          "outOfRange": false,
          "blocksIdle": null,
          "wouldHaveChurned": false
        },
        {
          "tokenId": "7329608",
          "tickLower": -65660,
          "tickUpper": -65220,
          "liquidity": "1724423177609128078537840",
          "driftAtAnchor": 39,
          "outOfRange": true,
          "blocksIdle": 2028,
          "wouldHaveChurned": true
        },
        {
          "tokenId": "7323366",
          "tickLower": -66300,
          "tickUpper": -65660,
          "liquidity": "1706074782371819852143885",
          "driftAtAnchor": -39,
          "outOfRange": false,
          "blocksIdle": null,
          "wouldHaveChurned": false
        },
        {
          "tokenId": "7328617",
          "tickLower": -67520,
          "tickUpper": -64020,
          "liquidity": "11773851613512225172726",
          "driftAtAnchor": -1679,
          "outOfRange": false,
          "blocksIdle": null,
          "wouldHaveChurned": false
        },
        {
          "tokenId": "7328039",
          "tickLower": -66360,
          "tickUpper": -65360,
          "liquidity": "134603144727924698642",
          "driftAtAnchor": -339,
          "outOfRange": false,
          "blocksIdle": null,
          "wouldHaveChurned": false
        }
      ]
    }
  2. T2GridThe agent won

    Run a grid ladder through the observed price path

    Win. 0.00091656 BNB against holding over a -1.62% window, with gas and pool fees charged against the agent.

    How it was measured
    Doing it yourself
    Buy and hold. This is not a stand-in for a human, it is the benchmark MandateMarket already settles every grid mandate against, so the agent is judged here exactly as it is judged in production.
    The agent
    src/agents/grid.ts, evaluated over the same path, gas charged at the measured price.
    What was measured
    Net BNB-denominated return over the window, gas included, against holding.
    {
      "taskId": "T2",
      "cadenceBlocks": 133,
      "swaps": 4194,
      "swapGas": 150000,
      "gasPriceWei": "52000000",
      "gasSampled": 142,
      "capitalBnb": 1,
      "evaluations": 164,
      "fills": 31,
      "startPriceUsd": 724.7605439292361,
      "endPriceUsd": 712.9982354575646,
      "agentBnb": 1.0091650447740061,
      "holdBnb": 1.0082484835773282,
      "gasBnb": 0.0002418,
      "swapFeeBnb": 0.0019375000000000013,
      "netAdvantageBnb": 0.0009165611966779341,
      "trendPct": -1.6229234014179257
    }
  3. T3YieldMixed

    Move stablecoin capital to the best Venus market

    Mixed. The locked metric turned out to be unusable and is published anyway. On the 18 markets deep enough to supply into, the spread is 2.49 points and rotation repays its gas above $8.03.

    How it was measured
    Doing it yourself
    Leave capital where it is. Definitional, not estimated: the no-agent arm of a rotation strategy is the absence of rotation.
    The agent
    src/agents/yield.ts, against live Venus supply rates at the anchor block.
    What was measured
    Spread between the best and worst supply APY among listed Venus markets at the anchor block, and the capital at which one rotation's gas is repaid inside 30 days.
    {
      "taskId": "T3",
      "anchorBlock": 119939676,
      "bnbUsd": 712.9982354575646,
      "markets": [
        {
          "vToken": "0x78366446547D062f45b4C0f320cDaa6d710D87bb",
          "symbol": "vUST",
          "supplyRatePerBlock": "395019717923",
          "supplyApyPct": 2491.4683648839455,
          "cashUsd": 0
        },
        {
          "vToken": "0x689E0daB47Ab16bcae87Ec18491692BF621Dc6Ab",
          "symbol": "vlisUSD",
          "supplyRatePerBlock": "403400910",
          "supplyApyPct": 2.544330219552,
          "cashUsd": 156513.035549
        },
        {
          "vToken": "0xfD5840Cd36d94D7229439859C0112a4185BC0255",
          "symbol": "vUSDT",
          "supplyRatePerBlock": "395287811",
          "supplyApyPct": 2.4931592815392,
          "cashUsd": 60853381.070236
        },
        {
          "vToken": "0xecA88125a5ADbe82614ffC12D0DB554E2e2867C8",
          "symbol": "vUSDC",
          "supplyRatePerBlock": "356187129",
          "supplyApyPct": 2.2465434600288,
          "cashUsd": 15641472.145638
        },
        {
          "vToken": "0xC4eF4229FEc74Ccfe17B2bdeF7715fAC740BA0ba",
          "symbol": "vFDUSD",
          "supplyRatePerBlock": "318047356",
          "supplyApyPct": 2.0059882837632,
          "cashUsd": 3296826.012319
        },
        {
          "vToken": "0x74ca6930108F775CC667894EEa33843e691680d7",
          "symbol": "vUSDe",
          "supplyRatePerBlock": "277026846",
          "supplyApyPct": 1.7472637230911996,
          "cashUsd": 15380.638137
        },
        {
          "vToken": "0x334b3eCB4DCa3593BCCC3c7EBD1A1C1d1780FBF1",
          "symbol": "vDAI",
          "supplyRatePerBlock": "258937358",
          "supplyApyPct": 1.6331697043776003,
          "cashUsd": 1016924.768358
        },
        {
          "vToken": "0x3d5E269787d562b74aCC55F18Bd26C5D09Fa245E",
          "symbol": "vU",
          "supplyRatePerBlock": "231860671",
          "supplyApyPct": 1.4623916241311998,
          "cashUsd": 12401229.570707
        },
        {
          "vToken": "0x0C1DA220D301155b87318B90692Da8dc43B67340",
          "symbol": "vUSD1",
          "supplyRatePerBlock": "198726114",
          "supplyApyPct": 1.2534053462208,
          "cashUsd": 547078.254421
        },
        {
          "vToken": "0xBf515bA4D1b52FFdCeaBF20d31D705Ce789F2cEC",
          "symbol": "vSOL",
          "supplyRatePerBlock": "94903098",
          "supplyApyPct": 0.5985728197056001,
          "cashUsd": 1639720.357283
        },
        {
          "vToken": "0xf508fCD89b8bd15579dc79A6827cB4686A3592c8",
          "symbol": "vETH",
          "supplyRatePerBlock": "93155672",
          "supplyApyPct": 0.5875514544384,
          "cashUsd": 22171890.172948
        },
        {
          "vToken": "0xB248a295732e0225acd3337607cc01068e3b9c10",
          "symbol": "vXRP",
          "supplyRatePerBlock": "73801244",
          "supplyApyPct": 0.46547920615680005,
          "cashUsd": 6084059.159653
        },
        {
          "vToken": "0xC5D3466aA484B040eE977073fcF337f2c00071c1",
          "symbol": "vTRX",
          "supplyRatePerBlock": "51958112",
          "supplyApyPct": 0.32771020400640005,
          "cashUsd": 709401.701841
        },
        {
          "vToken": "0xeBD0070237a0713E8D94fEf1B728d3d993d290ef",
          "symbol": "vCAN",
          "supplyRatePerBlock": "49831816",
          "supplyApyPct": 0.3142992298752,
          "cashUsd": 0
        },
        {
          "vToken": "0x5F0388EBc2B94FA8E123F404b79cCF5f40b29176",
          "symbol": "vBCH",
          "supplyRatePerBlock": "32761644",
          "supplyApyPct": 0.20663424103679998,
          "cashUsd": 404436.721569
        },
        {
          "vToken": "0x882C173bC7Ff3b7786CA16dfeD3DFFfb9Ee7847B",
          "symbol": "vBTC",
          "supplyRatePerBlock": "25163848",
          "supplyApyPct": 0.1587134221056,
          "cashUsd": 361192657.239971
        },
        {
          "vToken": "0xA07c5b74C9B40447a954e1466938b865b6BBea36",
          "symbol": "vBNB",
          "supplyRatePerBlock": "24108183",
          "supplyApyPct": 0.1520551318176,
          "cashUsd": 294231681.044291
        },
        {
          "vToken": "0x6bCa74586218dB34cdB402295796b79663d816e9",
          "symbol": "vWBNB",
          "supplyRatePerBlock": "17771084",
          "supplyApyPct": 0.11208578100479999,
          "cashUsd": 64165216.47581
        },
        {
          "vToken": "0x57A5297F2cB2c0AaC9D554660acd6D385Ab50c6B",
          "symbol": "vLTC",
          "s
  4. T4Health FactorThe agent won

    Repair a Venus position before it is liquidated

    Win. Being early costs $0.0093. Being late costs 10.0% of seized collateral, which is 53,943 times more on the worked example.

    How it was measured
    Doing it yourself
    The liquidation that actually happened. Venus publishes its own liquidation incentive on chain, so the cost of not acting is not an estimate, it is a protocol parameter, paid by every borrower who was too slow.
    The agent
    src/agents/health.ts, which triggers on headroom falling below a share of the borrow, strictly before a shortfall exists.
    What was measured
    Venus liquidationIncentiveMantissa and closeFactorMantissa at the anchor block, against the gas cost of one pre-emptive repayBorrow. Plus a count of real liquidations in the window where the logs can be read.
    {
      "taskId": "T4",
      "anchorBlock": 119939676,
      "bnbUsd": 712.9982354575646,
      "incentiveSource": "Unitroller storage slot 6; layout confirmed by slot 5 matching closeFactorMantissa()",
      "layoutVerified": true,
      "liquidationIncentiveMantissa": "1100000000000000000",
      "closeFactorMantissa": "500000000000000000",
      "penaltyPct": 10.000000000000009,
      "closeFactorPct": 50,
      "repayGasUsd": 0.00926897706094834,
      "exampleBorrowUsd": 10000,
      "penaltyUsd": 500.00000000000045,
      "ratio": 53943.38519906142,
      "liquidations": {
        "count": 0,
        "window": 24000
      }
    }
  5. T5SecurityMixed

    Decide which of 20 registry agents are safe to hire

    Win on correctness, loss on coverage. 20 of 20 cards were contradicted by the chain, but 41 checks could not be answered at all.

    How it was measured
    Doing it yourself
    Read the agent card and believe it. This is what the directory actually offers a person: a name, a description, a declared skill set, no evidence.
    The agent
    src/lib/assay, endpoint resolution, custody separation, transaction history, protocol contact.
    What was measured
    Count of sampled agents whose card claims a capability the chain contradicts, and wall-clock seconds for the assay arm.
    {
      "taskId": "T5",
      "sampled": 20,
      "hireableByCard": 20,
      "hireableByAssay": 0,
      "contradicted": 20,
      "inconclusiveChecks": 41,
      "agentsWithInconclusive": 20,
      "totalMs": 28527,
      "msPerAgent": 1426.35,
      "outcomes": [
        {
          "tokenId": "0",
          "name": "dAi",
          "fineness": 280,
          "hallmarked": false,
          "contradictions": [
            "Identity: No endpoint of any kind. This registration points nowhere.",
            "Custody: The agent wallet is the owner's wallet, byte for byte. There is no separation of custody — the autonomy is a label, not an arrangement."
          ],
          "inconclusive": [
            "Capability",
            "Reputation",
            "Performance"
          ],
          "ms": 1669
        },
        {
          "tokenId": "1",
          "name": "ClawNews",
          "fineness": 96,
          "hallmarked": false,
          "contradictions": [
            "Identity: No endpoint of any kind. This registration points nowhere.",
            "Custody: The agent wallet is the owner's wallet, byte for byte. There is no separation of custody — the autonomy is a label, not an arrangement.",
            "Activity: Only 1 transaction in its entire history. That is a deployment, not an operating agent.",
            "Reputation: 2 feedback records, none matching a coordination signature. They come from 1 wallet, which is too few to constitute a reputation whether or not it is honest."
          ],
          "inconclusive": [
            "Capability",
            "Performance"
          ],
          "ms": 2032
        },
        {
          "tokenId": "2",
          "name": "Agent #2",
          "fineness": 308,
          "hallmarked": false,
          "contradictions": [
            "Identity: No endpoint of any kind. This registration points nowhere.",
            "Custody: The agent wallet is the owner's wallet, byte for byte. There is no separation of custody — the autonomy is a label, not an arrangement.",
            "Reputation: 1 feedback record, none matching a coordination signature. They come from 1 wallet, which is too few to constitute a reputation whether or not it is honest."
          ],
          "inconclusive": [
            "Capability",
            "Performance"
          ],
          "ms": 1034
        },
        {
          "tokenId": "3",
          "name": "Agent #3",
          "fineness": 308,
          "hallmarked": false,
          "contradictions": [
            "Identity: No endpoint of any kind. This registration points nowhere.",
            "Custody: The agent wallet is the owner's wallet, byte for byte. There is no separation of custody — the autonomy is a label, not an arrangement.",
            "Reputation: 1 feedback record, none matching a coordination signature. They come from 1 wallet, which is too few to constitute a reputation whether or not it is honest."
          ],
          "inconclusive": [
            "Capability",
            "Performance"
          ],
          "ms": 999
        },
        {
          "tokenId": "4",
          "name": "Agent King",
          "fineness": 96,
          "hallmarked": false,
          "contradictions": [
            "Identity: No endpoint of any kind. This registration points nowhere.",
            "Custody: The agent wallet is the owner's wallet, byte for byte. There is no separation of custody — the autonomy is a label, not an arrangement.",
            "Activity: Only 1 transaction in its entire history, and it holds no BNB to send another. That is a deployment, not an operating agent.",
            "Reputation: 1 feedback record, none matching a coordination signature. They come from 1 wallet, which is too few to constitute a reputation whether or not it is honest."
          ],
          "inconclusive": [
            "Capability",
            "Performance"
          ],
          "ms": 1486
        },
        {
          "tokenId": "7",
          "name": "NAMEAI",
          "fineness": 183,
          "hallmarked": false,
          "contradictions": [
            "Identity: No endpoint of any kind. This registration points nowhere.",
            "Custody: The agent wallet is the owner's wallet, byte for byte. There is no separation of custody — the autonomy is a label, not an arrangement.",
            "Reputation: 1 feedback record, n
  6. T6SecurityThe agent won

    Detect coordinated reputation on a registry agent

    Win. 3,000 feedbacks from 32 wallets, and 99.0% of them were written by the 14 wallets flagged as coordinated.

    How it was measured
    Doing it yourself
    The reputation score the official explorer displays. Not a proxy for a human, it is the number a human is shown.
    The agent
    src/lib/sybil/detect, reviewer profiling, pairwise similarity, connected components.
    What was measured
    Displayed score against the score surviving de-duplication, plus the concentration behind it.
    {
      "taskId": "T6",
      "feedbacksAnalysed": 3000,
      "pagesRequested": 30,
      "pagesReturned": 30,
      "distinctReviewers": 32,
      "flaggedReviewers": 14,
      "cleanReviewers": 18,
      "flaggedShareOfFeedback": 99.03333333333333,
      "topReviewers": [
        {
          "address": "0x397558e5d63a894934362e5c3c33ab5d0170c228",
          "feedbacks": 265,
          "agents": 254,
          "maxPerAgent": 4
        },
        {
          "address": "0x96443aec84183d799cf67ad0268459e527a1a602",
          "feedbacks": 241,
          "agents": 100,
          "maxPerAgent": 8
        },
        {
          "address": "0xff1fca025c2635a5c3f1275f8c9b21a03b84c232",
          "feedbacks": 239,
          "agents": 104,
          "maxPerAgent": 8
        },
        {
          "address": "0x13749fb015d63831e196097e07135f254bb6dc6b",
          "feedbacks": 231,
          "agents": 101,
          "maxPerAgent": 6
        },
        {
          "address": "0x01b26144bf5ca969ad9e2e06f0e48aa016accf75",
          "feedbacks": 228,
          "agents": 91,
          "maxPerAgent": 6
        }
      ],
      "sensitivity": [
        {
          "jaccard": 0.3,
          "flagged": 14,
          "clean": 18
        },
        {
          "jaccard": 0.4,
          "flagged": 14,
          "clean": 18
        },
        {
          "jaccard": 0.5,
          "flagged": 14,
          "clean": 18
        },
        {
          "jaccard": 0.6,
          "flagged": 14,
          "clean": 18
        },
        {
          "jaccard": 0.7,
          "flagged": 14,
          "clean": 18
        },
        {
          "jaccard": 0.8,
          "flagged": 14,
          "clean": 18
        },
        {
          "jaccard": 0.9,
          "flagged": 14,
          "clean": 18
        }
      ],
      "defaults": {
        "jaccard": 0.6,
        "cardinalityTolerance": 0.12,
        "cohortMin": 3
      },
      "partial": false
    }

Run it yourself, now

Three of the questions can be asked again of the chain as it is this second. The other three measure a 24,000 block window and need an archive node, so they stay as the locked results above.

Three reads of the head block. Nothing is signed, nothing is sent, and you need no wallet.

The record with real money on it

Grid-1Grid trading, live on mainnetLost to holding

5 real fills over 55 minutes, -$0.092 against simply holding, net of $0.056 in gas. The locked test ran the same kind of ladder on paper with 1 BNB and beat holding. Live, each fill was about 0.0002 WBNB, $0.143, and paid about $0.011 in gas, 8% of the trade. Gas was 61% of the loss.

Paused since 2026-09-23. Trading paused: over its first trading window it lost to simply holding, mostly to gas on very small trades. It trades again only when a new window beats holding, and the losing record stays public. Its grid report, which moves nobody's money, can still be hired.

Fills
5
Round trips won
0 of 1
Against holding
-$0.092
Gas paid
$0.056

BNB Smart Chainblock 123,963,287Every Swapped event from SwapBound from block 121,188,454. Check it with cast logs --address 0x1cf9C5E9339E99e3Bfd45f117ca17E6e1A4E59D1 "Swapped(address indexed,address indexed,uint256,uint256)" --from-block 121188454 --rpc-url https://bsc.rpc.blxrbdn.com

The generated report, with the full method, is docs/AGENT_ADVANTAGE_REPORT.md. It is written from the same results and the same sentences as this page, so the two cannot disagree. Failures by agents we paid are kept on the graveyard.