This page follows one thing the whole way down: a promise. It starts as a sentence somebody
wrote, becomes terms nobody can edit, gets compiled into code nobody typed, deployed to a
public chain, paid through on a live chain, settled by a command, and finally turned into
a reputation that decides who gets the next job.
Every address and transaction below is real and opens on a public explorer. You don't need to
know anything about crypto to follow it — the first stop assumes you don't.
Sui testnet · Base Sepolia (84532). Nothing here is mainnet — and the page says so.
18
contracts on-chain
6
Sui packages
1
EVM contract live + source-verified
13
hardened in security passes
The whole way down
One promise, eight stops
Read it in order and you'll have followed a single obligation from the moment somebody said
it out loud to the moment it changed who the system trusts. Nothing below is a mock-up.
01It starts as a sentence somebody says out loudan idea — not yet an obligation, and most ideas should never become one
02The terms are compiled into a contractnobody types it; it is generated from the same file that defines the brain
03It lands on a chain shaped like the ideaa relation becomes a shared object because that is what a shared object is
04It is deployed, and labelled honestlya real package id you can open — on testnet, and the page says so
05A payment goes through, and the payer never learns a chain was involvedone tap, about sixty seconds, no wallet and no gas
06The payment clears wherever value settlespay on one chain, claim on another — the coupon carries the proof
07The command runs, and the promise settlesgreen is kept and adds weight; red is broken and adds drag
08The record decides who gets the next jobreputation stops being a rating we control and becomes a fact you can check
The last stop feeds the first: a settled promise is what decides who is trusted with the next idea.
01The ideasomeone says what they will deliver
Start here if you don't do crypto
A contract here is a promise you can't edit afterwards
Forget tokens and wallets for a moment. Strip a smart contract back and it is a very short,
very stubborn agreement: these are the terms, this is the one thing
that decides whether they were met, and neither can be changed once it starts.
That's the whole idea, and it's the part that's useful whether or not you care about
blockchains. Most agreements go wrong not because someone lied, but because the terms quietly
moved — the spec grew, the definition of "done" softened, and by the end nobody can say what
was actually agreed. A promise recorded this way cannot do that.
1Someone writes down what they will deliverand one command that proves it — written while it still fails
2The terms are hashed and recorded before any work startsafter this point they cannot be edited, which is the entire value of writing them
3The work happens off chain, at normal speedthe chain is not watching; it is waiting
4The command runs. Green is kept, red is brokenand the verdict is final — nobody can un-settle it, including us
No wallet, no tokens, no crypto knowledge required to read that.
02The contractnobody types it — it is compiled
The part that is genuinely unusual
Nobody wrote this contract
Almost every smart contract in the world is hand-written by a human, then audited by other
humans hoping to catch what the first one meant but didn't say. Ours isn't written at all.
It is compiled — from the same file that defines the platform's brain.
// GENERATED — DO NOT EDIT
module one_generated::promise {
public struct Promise has key {
id: UID,
maker: address,
oracle: address,
terms_hash: String,
promise_state: u64,
...
Read the two sides again. Nobody decided that maker
and oracle should be blockchain addresses. They are the two
roles of a relation, and a rule in the generator turns any role into a typed address. Change the
schema, re-run the compiler, and the contract changes with it. Change the contract by hand and the build
refuses you: the header says so, and a test pins the emitted lines.
SEVEN OF THE TWENTY-FOUR PINNED LINES
maker: address,the relation role became a typed address — no special-casing
oracle: address,the second party, by shape
transfer::share_object(o);@sui:shared → both parties see one object
promise_state: 0,you cannot mint a promise that is already partly kept
promised_at: clock::timestamp_ms(clock),the time comes from the chain, never the caller
assert!(sender == promise.oracle, ENotOracle);only the attester can settle it
If the compiler ever emits something else, the test goes red and nothing ships.
What the software enforces and what the chain enforces cannot drift. They are the same
declaration, read twice.
03The chainwhy this mapping is possible at all
Why this is a Sui project and not a chain-agnostic one
The brain is made of objects. So is Sui.
The compiler above only works because of a correspondence that most chains cannot offer. Our
knowledge graph describes the world as objects with owners and relationships between them.
Sui's Move describes the world the same way. So the mapping isn't a convention we invented and
documented — it falls out of the two models being the same shape:
entity→owned object
a thing that exists on its ownone signer, no consensus
The fast path. A scoped agent wallet is one — only its controller can move it, and it never queues behind anyone.
relation→shared object
a fact binding two or more partiesseveral parties, one contract
A promise binds a maker and an oracle. Both must see the same object, so it is shared — and its roles become typed addresses automatically.
harden→frozen object
a route proven often enough to trustimmutable, forever
Once a path is a highway, nobody edits it — not us, not the owner. What was proven stays proven.
On an account-based chain there is nothing for a relation to become. You would hand-write a
mapping, maintain it forever, and hope it stayed true. Here, a relation
is a shared object because that is what a shared object is — a fact several parties hold
at once. Sui's object model is not a deployment target we chose. It is the reason the compiler
can exist at all.
04Deployedlive, and plainly labelled
Where this actually is
Deployed, and plainly labelled
The compiled package is live. You can open it right now and read the generated code on chain —
it is the one at the top of the list, and it is the only one on this page nobody typed.
Contains promise and substrate —
both emitted from schema/sui.tql, neither hand-edited.
Six Sui packages, all on testnet, chain id 4c78adac. Nothing
here is mainnet, and this page will say so until the day it isn't. The estate is real, the
addresses resolve, the transactions happened — and it is still testnet. Anyone who tells you the
difference doesn't matter is selling something.
05Money movesa real payment, a real claim
Proven end-to-end
Crypto checkout with the crypto removed — proven live
One tap to pay. About sixty seconds to final settlement. No wallet setup, no seed phrase, no gas —
the customer never learns a blockchain was involved. And this is not a demo claim: the verifier is live
with its full source published on Basescan, and a real coupon was signed and claimed on-chain.
Read the transaction yourself.
06The mechanicspay anywhere, claim on the destination
How it fits together
Pay on any chain. Claim on the destination. The contract does the rest.
1
Pay on any chain
A user pays in SUI, ETH, USDC, SOL, or BTC. The worker verifies the payment on the source chain — it stores nothing.
2
The worker signs a coupon
A stateless worker signs a coupon binding the recipient, amount, and payment. On EVM the signature is EIP-712, bound to one contract on one chain.
3
Claim on the destination
The user submits the coupon to the destination contract — the Sui verifier or the EVM Universal Verifier.
4
The contract enforces every rule
Signature, supply cap, and anti-replay nonce are all checked on-chain. Only then does it mint ONE or release USDC. Blockchain is the source of truth.
07Settlementkept or broken — and what that buys
What it unlocks
Reputation stops being a platform's opinion
Look once more at the last two lines of that schema. A promise owns
strength and resistance —
and those are the exact two numbers every routing path in the system already carries. That is not
a coincidence; it is the point.
A KEPT PROMISE
settles green, and adds weight to the party that made it. The system routes more work
toward whoever keeps their word.
A BROKEN ONE
settles red, and adds drag. Nobody bans anyone. The work quietly stops arriving —
which is how reputation works everywhere else, made explicit.
So an agent's track record is not a star rating we control and could edit. It is the accumulated
settlement history of promises it made in public, on a chain we cannot rewrite, in the same
vocabulary the router reads when it decides who does the next job. An agent that has never
worked for you can still arrive with a record you can check — and one that breaks its word
cannot start again under a new name with a clean one.
Deliver, and the system sends you more work. Break your word, and the work routes away.
The other half: an agent that cannot overspend
Reputation handles the agent that breaks its word. It does nothing about the agent that means
well and spends your money anyway. So the budget is not a setting in our software — it is a
separate contract on the same chain, and the transaction that would breach it does not get
refused politely. It fails.
A POLICY
lives in the application, is enforced by the application, and is exactly as trustworthy as
the application. Which is to say: as trustworthy as whoever can deploy it.
A SPEND CAP ON CHAIN
is enforced by the chain. We cannot raise it on your behalf, an agent cannot argue with it,
and a bug in our code cannot get past it. AI safety as infrastructure, not intention.
08What it is worththe same machinery, in your business
Why it matters
What the contracts do for your business
These aren't a science project. They're the plumbing for getting paid, selling online, and putting
AI agents to work — without a middleman taking a cut or holding your money.
One pattern runs through all of them: replace "trust our dashboard" with "read the chain."
An affiliate program without a blockchain is a black box — partners see the commissions the merchant chooses
to show them, and have to take the payout on faith. A payment link in someone's database can be re-pointed
after you share it. A spending limit in an admin panel is a suggestion. Put those rules on a public chain
and both sides can verify them — nobody has to trust, and nobody can cheat.
A concrete example
A customer in São Paulo buys your $49 course.
They pay in one tap. About a minute later the money is sitting in a wallet only you control —
no bank, no chargebacks, no 3% processor fee. The customer never had to learn what a crypto wallet is.
You keep 99%, not 97%
The gateway takes a 1% fee, not 2.9% + 30¢. On a $49 sale you keep $48.51 instead of $47.28.
Payment Gateway
Paid in ~60 seconds, for good
Settlement is instant and final on-chain — no 2–7 day hold, and no chargebacks to fight months later.
Claim Verifier
Zero crypto knowledge required
You sponsor the tiny network fee, so the customer just pays. No wallet setup, no seed phrase, no drop-off.
Merchant Auth
The money is yours
Funds land in a wallet you hold the keys to — not a processor account that can freeze or claw them back.
ONE Token · your wallet
Card processor
ONE contracts
Fee on a $49 sale
~$1.72
$0.49
Payout time
2–7 days
~60 seconds
Chargebacks
Yes — months of exposure
None — final on-chain
Who holds the money
The processor
You
Where customers can be
Card-network countries
Anywhere on earth
Example math: the deployed gateway's 1% fee vs a typical 2.9% + $0.30 card rate. On 1,000 sales a month that gap is roughly $14,000 a year you keep. Testnet today — the fee logic is the shipped contract.
Accept payments
Get paid from anywhere on earth and keep 99%. Prepaid credits, sponsored fees, and settlement in a minute — no bank, no chargebacks.
Gateway · Verifier · Credits
Sell memberships & products
Launch a subscription, course, or product that manages its own access and can be resold on a secondary market — no Stripe Billing, no cron jobs.
Entity · Subscription · Market
Put AI agents to work safely
Give an agent a hard spending limit it physically cannot exceed, and make every promise it makes provable on-chain.
Spend Cap · Promise · Service
Chain-neutral
One protocol. Any chain.
Live today on two very different chains — and built so the next one is an addition, not a migration.
The coupon design separates where customers pay from where value settles, so no ecosystem is a lock-in.
Sui — the object-native home
Six Move packages: token, gateway, commerce, reputation. Ownership, receipts, and capabilities are
real objects here, not ledger entries — the protocol's natural habitat.
6 packages · object-native
EVM — the same flow in Solidity
The coupon flow rewritten for the EVM: EIP-712 signatures, source-verified on Basescan, claimed live.
One deployment away from Ethereum, Base mainnet, or any EVM chain.
Base Sepolia · source-verified · claimed
The rail — pay from anywhere
Customers already pay in SUI, ETH, USDC, SOL, or BTC. Adding a chain is a signer and a verifier,
not a rewrite — the destination is a choice, not a commitment.
5 payment currencies · N destination chains
Security
Adversarially audited. Hardened twice. Nothing swept under the rug.
The estate went through two adversarial security passes. Findings were fixed, republished, and — for the payment
coupon flow — proven on-chain. The open items that remain are tracked in the open, not hidden.
Pass one — the foundation
3 criticals and 8+ highs fixed and republished to testnet: guaranteed-asset-loss in the marketplace,
an ungated promise settle, a split-brain double-mint in the verifier, a permissionless rewards mint,
gateway fee and overflow bugs, subscription price gaming, and registry-bound admin capabilities.
Pass two — the coupon replay class
EIP-712 domain binding shipped to production so a payment coupon can't be replayed across contracts or chains;
a merchant daily-limit bypass closed; a supply-floor and a fee bound added on Sui. The verifier fix was
deployed and claimed live on Base Sepolia.
What we're honest about
Everything here is on testnet, so no real money is at risk today. A handful of items are known and open —
on-chain enforcement of a promise's self-oracle rule, agent-ceiling uniqueness, and moving capability custody
to a multisig before mainnet. The single-key custody theme is the explicit gate to a mainnet launch.
We'd rather name that than paint a green checkmark over it.
Every contract, in plain English
Tap any contract to see what it does for your business, why it needs a blockchain, and the live code that proves it.
·
What the schema means
The list above is what is deployed. This is what it means. Every node below is a declaration in
schema/sui.tql, and its colour is the on-chain disposition —
the disjointness decision Sui executes against, not decoration. Change the schema, run codegen, and this
picture, the Move module and the TypeScript client all move together.
Build on contracts you can read.
Every address above is live. Open any explorer link, read the source, verify the claims yourself — then start building.