KaspaForge
Networkchecking DAAchecking Nodechecking
CovenantsToccata KeysLocal CustodyNone
Statuschecking
Security GitHub
Kaspa Escrow · non-custodial · Kaspa covenants · mainnet

An escrow that physically can't steal

Escrow for KAS deals without a money-holding middleman. The money sits in an on-chain Kaspa covenant — even our arbiter can only resolve a dispute toward the buyer, the seller, or the visible service fee. Any other payout simply isn't expressible in the covenant, so the network rejects it.

Keys never leave your browser · on-chain Kasia chat as evidence ·
Arbiter decision input 250 KAS in escrow covenant Buyer refund / split Seller release / split timeout → default side arbiter · us · anyone else the network rejects such a transaction
Don't have KAS? Swap it on the spot. Fund the deal straight from BTC, ETH, SOL, USDT or USDC — across all their major networks — right at the funding step. No separate exchange, no extra tab.
Swaps are handled by SimpleSwap, an independent third-party exchange — not part of Kaspa Escrow. Your funds are in SimpleSwap's custody only for the duration of the swap; our non-custodial guarantee begins once KAS lands on the deal's funding address. Rates and available currencies are set by SimpleSwap and may change. Not financial advice.
Mechanics

A deal in three steps

1 · Terms & invite

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).

2 · Buyer locks the funds

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.

3 · Resolution

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 ▸

Why it's safer than a chat-group guarantor

Six things a human middleman can't give you

Pays only the deal's parties

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.

On-chain chat — the case file

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.

Three-layer dispute resolution

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.

Auto-release protects the seller

"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.

Timeout protects everyone

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.

Open source, offline recovery

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 →

Mainnet · security · verification
Disputes

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.

Claimsboth sides state what they ask for and why
Revealone side deliberately opens the chat to the arbiter — a chat key can't move funds
AI verdicta non-binding recommendation — refund, payout or split — in minutes; it just speeds agreement
Signaturethe conceding party accepts by signing; the server never moves money
24 h passno acceptance — a human arbiter takes the case
Privacyuntil reveal, the arbiter sees only ciphertext; after the deal closes, the revealed copy is wiped
HonestyAI advises, a human is the final arbiter, the covenant pays only the deal's parties — fairness is the arbiter's call on evidence
Amicable exitrelease / refund stay available at any moment of the dispute
Escrow keysnever leave your browser — at no stage, dispute included
Don't trust — verify

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.

Choose a move above ↑
Security boundary

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
Your devicedeal keys are generated and stay in your browser; the chat key can't move funds
Kaspa L1the covenant admits a fixed set of outcomes — the network itself rejects anything else
Our roleinterface, ciphertext relay, arbitration on revealed evidence — never custody
If we vanishrecovery sheet + timeout — the deal closes without us
Technical scheme

From two browsers to one covenant

Two browsersbuyer + seller keys, local signing
Signed transitionsfund · release · refund · dispute
Kaspa L1 covenantoutcomes capped: buyer · seller · fee

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.

Fees

Creating a deal is free. You pay for the outcome

0.5%release, refund or mutual · min 1.2 KAS

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.

2%dispute goes to arbitration · min 5 KAS

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 EscrowChat-group guarantor
Who holds the moneyan on-chain covenant — nobodya person you have to trust
Can the middleman stealno — the network rejects any other destinationyes — reputation is the only barrier
Fee0.5% amicable · 2% arbitration3–10%
Evidenceon-chain Kasia chat: E2E photo/video, anchored on-chain — can't be silently altered or backdatedscreenshots anyone can forge
If the middleman vanishestimeout returns the funds by itselfmoney is gone
FAQ

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.

Non-custodial: we never hold your funds. The escrow covenant is open source and unaudited — verify before you send. Minimum deal 50 KAS. Every spend path in the covenant pays a party of the deal — the operator can't redirect funds; the fairness of a verdict is the arbiter's judgement on the evidence you provide. This is a tool, not financial or legal advice.

Open a protected deal in two minutes

Free to create · 0.5% amicable outcome · deals from 50 KAS · survives even without us