Sui-native · proof of personhood

Prove a real human
did a real thing.

PoR is a privacy-preserving credential on Sui that proves you're a real human — not a bot or an AI agent. Tiered assurance any app can require in a few lines. Soulbound, on-chain, yours.

Credentials minted
2
Live assurance levels
0
Gas the user pays
The problem

The internet can't tell who's real anymore.

Airdrops and points programs leak value to sybil farms. Reviews, signups and votes drown in bots. And now AI agents are flooding every app — indistinguishable from people. The missing primitive is simple: a way to prove a real human is on the other end, that any app can check and no farm can cheaply fake.

Today · no proof of real
30–90%

Share of a typical airdrop that can be captured by sybils and farms. The reward for being human is being outnumbered by bots.

With PoR · proof of real
Farming stops paying

Gate the claim on a PoR credential. Real users sail through with a passkey; farms hit a wall that costs more to scale than it returns.

What it is

One credential. Composable trust.

A soulbound, time-stamped object on Sui that carries an assurance level. Apps require a minimum level; PoR proves the holder meets it — without exposing who they are. You don't manage it, you just hold it.

🪪

Soulbound & yours

Non-transferable and bound to you — it can't be sold, lent, or farmed across wallets. It lives in your wallet, not our database.

🛡️

Private by design

Apps verify "holds a valid credential at level X" — not your identity, your device, or your history. We aggregate signals; we don't hoard your data.

🔌

A few lines to gate

Drop one check into your claim, login, or action. If the caller isn't a verified human at the level you require, it simply doesn't pass. Live on npm: npm install por-sdk

Assurance — two dials, not a ladder

Compose the proof you need.

Personhood isn't one number. PoR splits it into two independent axes — how hard the credential was to earn and whether it's tied to a unique person. Require any combination; PoR proves the floor without ever becoming a honeypot.

Effortour edge
How costly the credential was to create — the part no one else has. PoR owns this axis.
liveL0
Device + live human
A real person on a real device, proven with a passkey. No seed phrase, no gas.
live · testnetL2
Real-world action
Proof a human kept doing something real over time — so a fake costs a real person, continuously.
Uniquenessborrowed · optional
Whether the credential maps to one unique person. Always borrowed, never manufactured — PoR verifies an external proof, it never captures your biometrics.
live
None
A base credential makes no one-person claim. The honest default.
live · testnet+
External-signal dedup
Verify a World ID or ZK-passport proof for one-human dedup and account recovery, composed into your one Sui credential. The verifier is live on testnet — bring the signal; PoR never captures biometrics.
Stack them. A real-world-action human who's also passport-unique is stronger than either alone — and because the uniqueness layer is borrowed, PoR aggregates it without ever hoarding your data. Set the floor; the gate enforces it on-chain in one call.
How it works

Three steps. Sub-second. Zero friction.

Prove

Tap your device passkey — Touch ID, Face ID, or PIN. That single gesture proves a live human is present on a genuine device.

Mint

We verify and mint a soulbound credential straight to your Sui wallet. We sponsor the transaction — you pay no gas and need no seed phrase.

Gate

Any app can now require your credential before a claim or action — checked on-chain, in one call.

Why Sui

Built where identity is native.

PoR isn't bolted onto a chain — it uses what makes Sui different.

🧱

Composable objects

A credential is a first-class object other contracts can reference — so gating is a primitive, not a workaround.

Cheap & sub-second

Mint at the scale of an airdrop without the cost making it pointless. Millions of credentials, economically.

🔑

Real onboarding

Sponsored gas and seedless sign-in mean a real person can get verified in seconds — no wallet gymnastics.

Live on-chain

Not a mockup. Read live from the chain.

This is a real deployment. The credential count below is fetched in your browser directly from Sui's public RPC — the on-chain registry, right now. Core contracts are live on Sui mainnet too — public minting runs on testnet while we validate with design partners.

Credentials minted (testnet)
Max per device (dedup)
testnet + mainnet
Networks live
connecting to fullnode.testnet.sui.io …
Live integration

First production gate: a game where being human pays.

Acre is a location land game on Sui testnet: walk your city, claim real-world parcels, and let verified visits pay your land tax. Its check-in attestor gates every visit on a PoR credential, so the rewards for showing up can't be farmed by a script spinning up fifty wallets.

🥾

What it gates

Every attested check-in — the action that earns tax forgiveness, defends land from forced buys, and unlocks cheap local minting — requires an unexpired L0 credential.

🧱

How it's wired

The same check the SDK ships: one owned-object query for a RealHumanCredential, level + expiry verified, cached. A few lines in their attestor.

Running now

Live on testnet: uncredentialed wallets are refused with a verify link; credentialed humans check in gas-free. Try it — get verified here, then go claim your block.

Live integration

Second production gate: humans verify free, agents pay.

The sui-x402 facilitator is the first x402 service to settle AI-agent payments on Sui — live on mainnet. Its demo API uses one PoR check as the discriminator: a verified human reads free; an agent with no credential pays per call. A real human is the line between the two.

🧑

Humans free

Sign once with your credential and the same endpoint waives payment — the RealHumanCredential check is the door.

🤖

Agents pay

No credential? The request returns HTTP 402 and the agent settles USDC on Sui to read. Differential pricing for the agentic internet.

Live on mainnet

A real payment has settled through the facilitator on Sui mainnet — non-custodial, zero fees. The same PoR check, a second product.

Honest by design

What this is — and isn't.

Nobody has "solved" uniqueness without something heavy. We don't pretend to. We sell assurance levels, honestly.

Assurance, not a guarantee

PoR raises the cost of a fake identity above what an attacker can extract. It's a spectrum you tune — not a magic "one human" oracle.

Mainnet, honestly

Core contracts are live on Sui mainnet (unaudited — audit before scale); the first credential is already minted there. Public minting runs on testnet until pilots open.

Privacy first

We aggregate signals into a credential; we don't become a honeypot of identities. Raw biometrics and keys never touch our servers or the chain.

Prove you're real.

Mint your soulbound Proof-of-Real credential with a single passkey tap — no gas, no seed phrase, on Sui testnet.