pango

Robinhood Chain / EIP-7702

Sign it with a promise.

Pango wraps your transaction in a promise about what you must own when it ends. If the promise breaks, the chain refuses the whole thing, as if you had never sent it. No scanner, no guess: the outcome is part of what you sign.

EIP-7702no owner, no feefunds stay in your walletchecked on the real chain
0traps refused
Throw a trap at it

Side by side

The same transaction, twice.

Left: a plain transaction. Right: the same one with a promise. Both run the rules of the real contract.

The gap

What it says. What it does.

A wallet shows you what a transaction says it will do. The chain only cares what it did. Everything you lose in a single click lives in that gap.

0.05ETH, said the site

The claim that costs ten times more

"Pay 0.05, receive 2,000." It takes 0.5 and sends nothing.

1

The buy that pays someone else

The ETH leaves. The tokens go to a stranger. The screen said "success".

∞

The approval you did not read

A swap plus "approve everything, forever". It is still open next month.

The idea

Check the end, not the promise on screen.

You send your calls together with a list of checks. Pango runs the calls, reads your balances and allowances, and compares them with what you said you would accept.

  1. Your wallet borrows Pango once (EIP-7702).
  2. You send the batch and the promise to your own address.
  3. One check fails, the whole transaction reverts.

How it works

your batch 1 buy() 2 approve() 3 swap() the promisechecked atthe very end KEPTthe state is saved BROKENall of it undone

The lab

Try to get past it.

Pick a trap, make the site behave badly or honestly, edit the promise, turn the guard off. Every verdict comes from the same rules as the contract, checked against the real one.

Even when you forget

Four rules you do not have to write.

What you did not name cannot go down

ETH and every token on your watchlist must end at least where they started, unless a check says otherwise. A forgotten token cannot be swept in silence.

Approvals need a cap

An approval is refused unless the same batch says how much can still be spent at the end. "Approve 100, use 100, leave 0" passes. "Unlimited" does not.

No permit signatures inside

Permits grant spending from a signature. They are blocked inside a guarded batch.

Nothing reaches back in

A call that targets your own account is refused, and only you can call the guard. No owner, no fee, no upgrade.

Proof, not promises

Run on the real chain.

Nothing is deployed and no transaction is sent. The script signs a real EIP-7702 authorization with a fresh wallet and asks Robinhood Chain what would happen: one good buy on a live Pons curve, then nine traps. Each trap is refused by the chain itself.

25
contract tests
1,500
random batches, JS vs contract
9
traps refused live

How it is checked

$ node scripts/real-chain-check.mjs chain 4663 block 85794454 (Robinhood Chain, Nitro v3.12) live Pons curve 0xc58915...05DF fresh wallet, EIP-7702 authorization signed, never sent NOMINAL buy 0.001 ETH, lose at most 0.001, receive at least 1 ok tokens really received 577,047.7759 TRAPS, refused by the chain promise 2x what the curve pays CheckFailed tokens sent to another wallet CheckFailed nothing declared about ETH WatchFailed ETH sent to an unknown address WatchFailed unlimited approval, undeclared ApprovalNotDeclared approval left open AllowanceTooHigh permit signature in the batch PermitBlocked call aimed at the wallet itself SelfCall unreadable asset Unreadable control: without the delegation, nothing runs

Versus the usual ways

Why not a warning screen?

Warning screens and simulationsSlippage settingPango
Methodpredicts, then hopesone number on one swapchecks the final state
Tokens sent to another walletoften missednot coveredrefused
Hidden approvalshown, easy to skipnot coveredrefused unless capped
Token that blocks salesguess from historynot coveredrefused by a test sale
Can a site still fool it?yes, it is a predictionyesnot past your numbers
Where your funds arein your walletin your walletin your wallet

One minute

See it first.

The idea, the traps, and the chain saying no.

Read this part

What it is not.

Not audited, not deployed by us yet. The contract is written, tested and run against the real chain. Start small.

Only as strong as your promise. Pango enforces the numbers you write and guards what you name or watch. It does not guess what a good number is.

Not a hiding place. It does not hide your transaction or reorder anyone. It caps the damage.

All limits and risks