A deal in three steps
One side creates the deal: role, type (goods / OTC / service), amount, conditions. The other opens the invite link, sees exactly the same terms and joins. Each side's key is generated in their own browser and saved to your master key file (your Desk profile).
The buyer sends KAS to their own funding address and presses "Lock into escrow" — the browser assembles the on-chain contract. The browser also re-computes the escrow address itself and refuses to fund if the server's parameters differ. From that moment nobody holds the money: the covenant does.
Happy? The buyer releases — the seller is paid. Seller backs out? Refund. Something wrong? Open a dispute — an AI mediator reads the deal and your on-chain chat and proposes a fair outcome in minutes; if either side isn't satisfied, a human arbiter steps in. Everyone silent? Auto-release protects the seller. Arbiter never rules? The emergency timeout returns funds to the default side — the deal can't hang, even if we vanish. Funds stay locked in the covenant until the deal closes; only then does the winning side withdraw their payout to their own wallet.
Dispute window presets: 24–120 h in one-day steps, plus 7 days — the deal creator picks one (defaults follow the type: goods 72 h, OTC 24 h, service 120 h), and the joining party sees it before joining. While the window is open, the buyer can dispute; once it closes, funds flow to the seller on their own.
OTC deals get an extra layer. When the counter-payment is a supported crypto — USDT/USDC across Tron, TON, Ethereum, BSC, Polygon, Arbitrum and Base, native TRX/TON/ETH/BNB, or BTC/LTC — the seller's payment to the buyer's fixed address is verified live on that blockchain: both sides see a “payment confirmed on-chain” badge once the amount, the recipient and the confirmations all match. It's a signal, not an action — release still needs the buyer's signature. Order is enforced: the buyer locks the KAS first, and the seller's pay button only appears once the escrow is funded. More in the docs ▸
Six things a human middleman can't give you
The covenant admits a fixed set of outcomes, and in every one the money goes to the buyer, the seller, or the visible service fee. There is no "send elsewhere" path in the script — a guarantor's honesty stops being a factor.
The deal chat is not a website chat. It is on-chain messaging on the Kaspa BlockDAG, built on the Kasia protocol: every message is an end-to-end encrypted transaction in the ledger; photos and videos travel encrypted, their fingerprints anchored on-chain — the thread can't be silently forged, edited or backdated, not even by us. End-to-end encrypted; reveal is voluntary during dispute. In a dispute, this chat is the case file.
First — settle amicably, one click either way. Then — an AI mediator reads the revealed chat and proposes an outcome within minutes. Its verdict is a non-binding recommendation: it only helps the sides agree fast. Nothing moves until a party accepts it with their signature; if no one does within 24 hours, a human arbiter rules. The AI never touches money, and the covenant caps where funds can go no matter who decides.
"Got the goods and went silent" doesn't work here: if the buyer neither releases nor disputes within the window, the escrow pays the seller automatically.
If a dispute stalls and the arbiter misses the contract deadline, funds return to the default side by themselves — no permission from us needed. The deal survives even our disappearance.
The covenant and the arbiter tool are open (GitHub). Your recovery sheet reopens the deal on any device, the escrow is watchable on any explorer, and the on-chain timeout means it can never hang. Recovery & offline →
When things go wrong, the process is a rail — not a favor
AI mediator · Non-binding recommendation
The buyer opens a dispute and the funds freeze in the covenant. From there, resolution runs on a visible track:
Want the protocol-level view first? Read the Escrow security documentation and the guide to Kaspa covenant mechanics.
Try to break the escrow
Pick an attack. The outcome is decided by the covenant on Kaspa, not by our word — a payout it can't express is a transaction the network rejects.
What the arbiter can rule — and what nobody can do
The arbiter can
- rule all funds to the buyer
- rule all funds to the seller
- rule a split between the two
The arbiter cannot
- take any funds
- send funds to a third party
- change the fee address
- change the deal amount
- move funds without a dispute path
From two browsers to one covenant
The deal chat rides the same BlockDAG (Kasia protocol) as encrypted transactions; the server relays ciphertext and never holds a key. Protocol details in Docs.
Creating a deal is free. You pay for the outcome
The normal ending: the deal resolves amicably. The fee is enforced by the contract itself and shown before you confirm — it can't quietly change.
Only if a dispute reaches a verdict. The covenant enforces the service fee on every normal resolution — release, refund, mutual settlement and arbitration alike. The one path with no service fee is the emergency timeout, when the arbiter never ruled.
| Kaspa Escrow | Chat-group guarantor | |
|---|---|---|
| Who holds the money | an on-chain covenant — nobody | a person you have to trust |
| Can the middleman steal | no — the network rejects any other destination | yes — reputation is the only barrier |
| Fee | 0.5% amicable · 2% arbitration | 3–10% |
| Evidence | on-chain Kasia chat: E2E photo/video, anchored on-chain — can't be silently altered or backdated | screenshots anyone can forge |
| If the middleman vanishes | timeout returns the funds by itself | money is gone |
Fair questions
Do you hold the money?
No. The deal's funds sit in an on-chain Kaspa covenant. The contract admits a fixed set of outcomes, and in every one the money goes strictly to the buyer, the seller, or the service fee. Sending it anywhere else — including to the arbiter — is a transaction the network will not accept.
How is this different from a Telegram escrow guy?
A classic guarantor holds your money — you trust a person. Here nobody holds it: the covenant script does. Theft isn't "against the rules" — it simply isn't expressible in the covenant, so the network rejects it. And it costs 0.5% instead of the usual 3–10%.
What if the seller ships nothing?
Open a dispute within the dispute window. Both sides state their claims, one side reveals the deal chat to the arbiter, the AI mediator proposes an outcome, and a party executes it with their signature. Not accepted in 24 hours — a human arbiter rules. All evidence is the E2E deal chat with photos and videos, anchored on-chain.
What if the buyer goes silent after receiving the goods?
The dispute window protects the seller too: if the buyer neither releases nor disputes, the escrow auto-releases to the seller when the window closes.
What if your site disappears mid-deal?
The deal is an on-chain contract with an emergency timeout: if the arbiter never rules by the contract deadline, funds go to the default side by themselves. The contract and offline tools are open source — the deal outlives the website.
Who sees our chat?
Only the two of you. The deal chat is on-chain messaging on the Kaspa BlockDAG (Kasia protocol): every message is an end-to-end encrypted transaction, anchored on-chain — the thread can't be silently forged or backdated. The server relays only ciphertext. The arbiter can read it only if one side deliberately reveals it during a dispute — and the decrypted copy is wiped when the deal closes. A chat key cannot move funds.
What do I need to keep safe?
Your master key file — the encrypted profile in your Desk. Your deal key and service token are saved there automatically; back it up once (Desk → Export key file). Lose the master file and its password with no backup and you lose access to your side of the deal (the funds themselves still follow the deal's normal paths or the timeout). We never store or ask for private keys.
How tested is it?
The contract is unaudited but passed a full on-chain cycle and adversarial attacks on our test range (52/52 in the VM), plus live mainnet dispute runs. Deals start at 50 KAS.