Appearance
How funds are held
The escrow contract
While an offer is open, its side of the trade sits in the Peerkets escrow contract on Polygon — shares for a sell offer, pUSD for a buy offer. The contract enforces a few simple rules:
- Funds only go to the two people in a deal. A fill pays the maker and the taker. Cancelling or returning an expired offer sends the unfilled part back to the maker. There is no other way out.
- Both sides move together. A fill swaps shares and pUSD in the same transaction — if anything fails, nothing moves.
- Cancel any time. The maker can always cancel, and anyone can return an expired offer's funds to its maker.
- Every deposit is accounted for. The contract only opens an order or fills one if the funds it needs have actually arrived, and it tracks exactly how much it owes to open offers.
No approvals
Polymarket wallets can't approve outside contracts to move their funds, and Peerkets never asks for that. Instead, each action sends your side into the escrow and calls the escrow in the same signed transaction. Nothing is left behind, and no app holds a standing permission over your wallet.
The admin
The contract has an admin, held by the Peerkets team. The admin can only pause new offers and fills — for example if a bug were found. It cannot move, freeze or redirect anyone's funds, and cancelling and returning funds keep working while paused. The admin role can be handed over only in two steps, and can be given up permanently.
The contract cannot be upgraded. Any future version would be a new contract.
Your keys
- Peerkets never sees your wallet's private key.
- Your relayer API key stays in your browser tab and is never sent to Peerkets' servers.
- Peerkets' servers only read public blockchain data.
Checks done so far
- 64 automated tests on the contract, including attempts to steal funds through re-entry and randomised tests that the contract always holds what it owes.
- Static analysis with Slither and Aderyn: no high-severity findings.
- Real trades between separate wallets on Polygon mainnet.
The contract has not yet had an external audit. See Risks & restrictions.
Contract addresses: Developers → Contracts.