yescrow
Escrow for private domain sales

Sell a domain without trusting a middleman.

The buyer locks USDC in a smart contract. When the registry's own records show the domain has moved, the seller is paid automatically. Nobody, including yescrow, can take the money out.

  • 1% fee, from the seller's payout
  • Buyers need no ETH
  • Disputes decided by Kleros
northwind.ioTransfer proven
Paid to the seller automatically in
2d 14h 03m
registry
Identity Digital RDAP
registrar
3862 → 1068 ✓ buyer's
record time
2026-10-18 14:02 UTC
proof
zkTLS, verified on-chain ✓
locked
12,500.00 USDC
seller gets
12,375.00 USDC
Example deal
How a deal works

Four steps, every deadline enforced on-chain.

The terms are fixed when the deal starts. A party who goes quiet can't stall it: each step has a deadline, and what happens after it is decided in advance.

  1. 01

    Agree and lock

    Buyer and seller agree on the domain, price and deadlines. The buyer locks the price in USDC with a signature; no ETH needed. The other side accepts.

  2. 02

    Transfer

    The seller unlocks the domain and hands over the transfer code, and the buyer moves it to their registrar. Or, inside one registrar, the seller sets the buyer's nameservers and pushes it.

  3. 03

    Proof

    A zkTLS proof of the registry's own RDAP record shows the domain arrived at the buyer's registrar. The contract checks it on-chain; yescrow submits it for you.

  4. 04

    Check and release

    The buyer checks the domain is in their account during the challenge window. If nobody objects, the seller is paid automatically. If something is wrong, Kleros decides.

What is protected

Clear about what it covers, and what it doesn't.

Protected

  • Nobody, including yescrow, can withdraw or redirect the funds.
  • The seller is paid only after a passing registry proof and the challenge window, the buyer's confirmation, a settlement, or a Kleros ruling.
  • No transfer by the deadline means a full refund to the buyer.
  • A blocked wallet on one side can't trap the other side's money: each party withdraws their own.

Not protected

  • Which account holds the domain. The proof shows the registrar, not the account, so the buyer must check their account during the challenge window.
  • A same-registrar push rests almost entirely on that account check: its proof only shows the nameservers changed.
  • Reversals after payout: a transfer dispute can be filed up to 12 months later, and UDRP cases and court orders can also take a domain back.
  • Circle, USDC's issuer, can freeze USDC at any address, including the escrow.
Fees

One fee, taken only when the seller is paid.

1%

Of the amount paid to the seller. The buyer locks the price and the seller locks nothing: a $5,000 sale pays the seller $4,950.

0 ETH

Gas for buyers. You fund, accept, confirm and withdraw with signatures; the relayer pays the gas and can't change what you signed.

ETH fee

Kleros's arbitration fee, paid by each side only if there is a dispute. The winner gets theirs back. On a small deal it can be large next to the price.

Who you rely on

No keys at yescrow. Three outside parties, named.

Kleros

A decentralized court on Arbitrum. Its jurors decide disputed deals, and only those. Its governor can upgrade the court, so it is a trust point for disputes.

Reclaim

Attests that a registry's RDAP response is genuine (zkTLS). A compromised attestor could forge a proof; the buyer's challenge window is the backstop.

Circle

Issues USDC and can freeze it at any address. Each party withdraws their own balance, so a freeze on one can't trap the other.

yescrow

Runs this website, the API and a relayer that only pays gas. None of them holds a key that can move or freeze deal funds; anyone can run their own.

Questions

Frequently asked

Do I need ETH to buy a domain?

No. Buyers lock USDC by signing a USDC transfer authorization, and the yescrow relayer submits it and pays the gas. The signature names the exact deal, so it can fund nothing else. You only need a little ETH if you open or answer a dispute.

What if the seller never transfers the domain?

If the registry doesn't show the domain at your registrar before the transfer deadline, the deal can be refunded in full. Anyone can trigger the refund once the deadline passes; the yescrow service does it within a minute.

What if the transfer is done but the buyer goes quiet?

Once the registry shows the move, the buyer has the challenge window to object. If they don't, the seller is paid automatically. A silent buyer can't hold the money.

What if the transfer happened but the proof fails?

For example, the registry's server is down. The seller opens a dispute before the transfer deadline, and Kleros jurors decide from the evidence.

Can yescrow freeze or take my money?

No. The contract has no owner, admin, pause or upgrade function, and pays only the deal's buyer, seller, fee address and referrer. Circle, which issues USDC, can freeze USDC at any address, including the escrow; yescrow can't prevent that.

Which domains work?

.com, .net, .ai, .io, .org, .xyz, .app and .dev. Their registries publish RDAP, which the proof is made from. Subdomains and other endings are not supported.

What happens in a dispute?

The side that opens it pays the Kleros arbitration fee in ETH; the other side must pay the same fee before the deadline or lose by default. Jurors then answer one question: was the domain in the buyer's account after the deal started? The winner gets their fee back. The two sides can settle at any time. Read the dispute guide.

Is this real money?

Not yet. This is the testnet version on Arbitrum Sepolia with test USDC. The contracts, the Kleros court and the registry proofs are real; only the chain is a test network.

More in the guides for sellers, buyers and disputes, and the glossary.

For agents

The same API the website uses.

Agents can check a domain, quote a deal and draft it, then hand a signing link to a person. A human wallet signs every step that moves money. Counterparty text is always returned apart from the deal's fields and marked untrusted.