MantlePass turns a wallet's whole on-chain history into one number any contract can read — a composable, sybil-resistant reputation primitive. Because it's soulbound, a high score can't be bought or borrowed; it has to be earned.
Gate or weight allocations by trust score. Filter farm wallets (thin, brand-new, single-purpose) and reward genuine users — veteran, diversified, clean — with zero KYC. The score reflects real history a sybil can't cheaply fake.
Give agents a trust check before they act. An agent reads a counterparty's MantlePass on-chain and decides whether to trade, lend, or follow — reputation for the agent economy. Ships as an Animoca Minds skill: "score 0x… on Mantle".
Lending markets offer better terms to trusted wallets; launchpads allowlist by reputation; perps scale leverage by score. Read getLatestScore() straight from the contract — no oracle, no off-chain call, no extra trust assumption.
Weight votes or gate proposal rights by trust and veteran status, so one actor can't spin up a hundred fresh wallets to swing a vote. Pure on-chain, verifiable by anyone.
Mints and gated communities can prioritize by on-chain standing instead of snapshot lists or paid WL — real users in, bots out.
Surface a counterparty's trust level before an OTC swap, loan, or deal — a portable, glanceable reputation that travels with the wallet.
Why it works as a primitive: on-chain (any contract reads it directly) · soulbound (can't be bought or transferred) · sybil-resistant (priced on history, not a snapshot) · permissionless & KYC-free (pure on-chain behavior).
Every passport reads on two separate axes, so nothing is double-counted:
1 · Trust level — one word derived only from the 0–100 score. It's the headline verdict, and it sets the color (green / amber / red).
2 · Badges — what the wallet has actually done (holdings + activity). Each is an independent yes/no rendered as a constant-grey icon; a wallet can earn many.
The score answers "how trustworthy?"; the badges answer "what kind of wallet?" — they never overlap. That's why the headline is a trust level, not a badge name.
| Level | Score | Meaning |
|---|---|---|
| ELITE | 90 – 100 | Top-tier — deep, proven history |
| TRUSTED | 70 – 89 | Strong, well-established wallet |
| ESTABLISHED | 50 – 69 | Solid track record |
| EMERGING | 30 – 49 | Building history |
| RISKY | 1 – 29 | Thin or risky profile |
| DORMANT | 0 | Empty / no activity |
| FLAGGED | — | On the exploiter / sanctions blocklist — overrides the score |
Earned independently from holdings and activity. Each badge is a single boolean check:
| Badge | Earned when |
|---|
The base 0–100 score is deterministic from on-chain data — same wallet, same score, no AI needed for the number. It blends the wallet's portfolio (size and how diversified across asset categories), history (age, number of transactions, distinct protocols used, days active), and hygiene (failed-transaction ratio). Sanctioned / known-exploiter addresses are blocklisted and forced to 0 (FLAGGED).
The optional AI report layers qualitative verdicts and a written summary on top of that number — it explains the score, it doesn't replace it.
Soulbound — an ERC-721 whose transfer/approve functions revert, so it can't be sold or moved. One per wallet: re-scanning updates it in place (EIP-4906 metadata refresh) instead of minting duplicates, so the passport always reflects the latest score.
The art is a 100% on-chain SVG rendered from tokenURI — no IPFS image, no server — showing the score, trust level, and the full badge grid. The detailed report is pinned to IPFS and linked from the token. See example passports →
MantlePass also runs as a Minds skill — scan any Mantle wallet from chat. Equip: Minds Bazaar ↗ → Third-Party tab → search MantlePass_Wallet_Analyzer → Equip, then DM "score 0x… on Mantle".