Docs

How Handoff works.

Cash out ETH on Robinhood Chain to PayPal, Revolut, Zelle, your bank or a gift card, person to person. Here is everything you need to trade safely.

Fee1%paid by the seller
Per trade$10 – $5,000min – max
Ways to pay38apps, banks, gift cards
EscrowOn-chainRobinhood Chain vault

Getting started

Handoff is a person-to-person market for ETH on Robinhood Chain. Sellers cash out to the apps, banks and gift cards they already use, and buyers pay them directly. We are the middleman: the seller's ETH waits in an on-chain escrow until the seller confirms the money arrived, and our team resolves any disagreement.

Quick start

  1. Sign in with X. Your handle and your trade history are your reputation. A wallet on Robinhood Chain is created for you at the same time.
  2. Pick an offer, or post an ad. The market lists live offers, best price first. Filter by payment method and amount, or post your own ad with your price, limits and ways to pay.
  3. Get paid, or receive your ETH. Selling: the buyer pays you directly, you check your account and release. Buying: you pay the seller, mark it as paid, and the ETH lands in your wallet once they release.

What you need

  • An X account: it's how you sign in.
  • A wallet on Robinhood Chain. One is created when you sign in; you can also use any 0x address you control.
  • ETH on Robinhood Chain if you sell: the amount you sell plus the 1% fee.
  • A payment account in your own name (PayPal, bank, app…) to pay or get paid.

Cash out (sell ETH)

There are two ways to sell. Either way your ETH is locked in escrow before the buyer pays, and nothing leaves until you release it.

Answer a buy ad

The quickest way to cash out once: someone already wants to buy.

  1. Find a buyer. Open Market → Sell ETH. Buyers are sorted highest price first; filter by how you want to be paid.
  2. Open the trade. Enter the amount, pick the payment method, add where you get paid (saved for next time) and your refund wallet. The price is fixed from now on.
  3. Lock your ETH. Within 30 minutes, send the ETH plus the 1% fee to the trade's escrow, in one transaction. Miss the window and the trade cancels.
  4. Wait for the payment. The buyer only sees your payment details once the ETH is locked. They pay you directly, then mark it as paid.
  5. Release. Check that the money is settled in your own account, then release. The ETH goes to the buyer, the fee to the platform.

Post a sell ad

Best if you sell often: fund once, and buyers come to you.

  1. Create the ad. On Post an ad, pick a price (the market price plus or minus a margin, or a fixed price, within 20% of the market), your limits per trade, up to 12 payment methods with your details, a payment window and your terms.
  2. Fund it once. Deposit ETH into the ad's escrow. It covers as many trades as it can, fee included. Top it up any time from My trades.
  3. Buyers open trades. Each trade sets its ETH aside from the ad's escrow straight away, so the buyer can pay at once.
  4. Release each trade. Check the money, then release. Unused ETH stays in the ad: withdraw it any time from My trades, we pay the gas.

To close an ad, finish its open trades first. Pausing it hides it from the market right away.

Your refund wallet

When you answer a buy ad, you choose a refund wallet. If the trade doesn't complete (cancelled, timed out, or a dispute decided for you), everything in that trade's escrow goes back there automatically, including anything extra you sent. It is fixed when the trade opens and only you set it. Sell ads don't need one: a cancelled trade's ETH simply stays in your ad.

When to release

Release only when the money is settled in your account

Check your own PayPal, bank or app balance, not a screenshot or an email. Pending is not paid. A release can't be undone.

Some payments can be pulled back after you release: card-funded PayPal payments, some bank transfers, stolen gift cards. Prefer instant, irreversible methods and payments from an account in the buyer's name.

Buy ETH

Buying is free: you pay the price in the ad, nothing more. On a sell ad the seller's ETH is already in escrow before you pay.

  1. Pick an offer. The market lists sellers lowest price first. Filter by payment method and amount, and check the seller's completed trades and terms.
  2. Open the trade. Enter an amount within the ad's limits, choose how you pay and the wallet that receives the ETH. The price locks.
  3. Pay the seller. Send exactly the amount shown, with the method you picked, from an account in your own name. Gift cards: post the code in the trade chat.
  4. Mark it as paid. Tap “I've paid” before the payment window ends.
  5. Receive your ETH. The seller checks the payment and releases. The ETH lands in your wallet.

The payment window

Each ad sets how long you have to pay: 15, 30, 45 or 60 minutes, counted from the moment the ETH is in escrow. If it runs out before you mark the payment as sent, the trade cancels itself. You can cancel yourself any time before that.

Paid, but short on time?

Open a dispute from the trade before the window ends and post your receipt in the chat. The ETH stays frozen until our team decides. Never pay twice.

You can have up to 3 open trades at once as the one answering ads. On your own buy ad the seller locks the ETH first: you only see their payment details once it's in escrow, so never pay before.

Paying the right way

  • The exact amount, in one payment.
  • From an account in your own name. Sellers can refuse third-party payments.
  • Don't mention crypto, ETH or the platform in the payment note. Leave it empty or neutral.
  • Keep your receipt until the trade is completed.

The escrow

The escrow is what lets two strangers trade: the seller can't take the ETH back while the buyer pays, and the buyer only gets it once the seller confirms.

How the vault works

  • One route per ad and per trade. Each sell ad, and each trade on a buy ad, has its own escrow route: a separate balance inside one vault contract on Robinhood Chain.
  • Only the operator pays out. Anyone can deposit into a route, but only our operator can send ETH out of it: to the buyer on release, or back to the seller.
  • No double payouts. Every payout carries a unique reference that the vault burns. The same release can't be paid twice or replayed.
  • No backdoor. The owner can pause payouts in an emergency and manage operators. There is no function that lets anyone take ETH out of a route other than an operator payout.
  • Public by design. Deposits, releases and refunds are on-chain transactions anyone can check on the explorer.

Timeouts

ClockLength
Escrow window
A seller answering a buy ad locks the ETH within it, or the trade cancels.
30 min
Payment window
Set by the ad, starts once the ETH is locked. The buyer pays and marks it as paid, or the trade cancels.
15–60 min
After “Payment sent”
Only the seller's release or a decision by our team moves the ETH.
No timer

Cancellations and leftovers

  • On a sell ad, the ETH stays in the ad's escrow, ready for the next buyer or for you to withdraw.
  • On a buy ad, the trade's escrow is refunded to the seller's refund wallet.
  • Anything that lands on a finished trade's escrow later (a late deposit, an overpayment) is swept back to the seller automatically.

Live escrow balances and every movement, with links to the explorer, are on one public page: Proof of escrow.

Trade statuses

Every trade shows one status, with the same colours everywhere.

Waiting for escrowETH in escrowPayment sentReleasingCompleted

Trades on a sell ad skip the first step: the ETH is already in escrow.

StatusMeaning
Waiting for escrowThe seller has 30 minutes to lock the ETH. Buyer: don't pay yet.
ETH in escrowThe ETH is locked. The buyer pays, then marks it as paid within the window.
Payment sentThe buyer says they paid. The seller checks their account, then releases.
ReleasingThe vault is sending the ETH to the buyer. It takes a few moments.
CompletedThe ETH is in the buyer's wallet. Done.
In disputeSomeone flagged a problem. The ETH stays locked until our team decides.
CancelledEnded without a release. The ETH went back to the seller or stayed in their ad.

Who can do what

ActionWho
Mark as paid
While the ETH is in escrow, before the payment window ends.
Buyer
Release
Once the ETH is in escrow; normally after the payment is marked as sent.
Seller
Cancel
The buyer until they mark it paid; the seller only before locking the ETH.
Either
Open a dispute
Once the payment is marked as sent. The buyer can also open one while the ETH is in escrow.
Either

Disputes

A dispute freezes the ETH in escrow until an admin reviews the trade. Open one from the trade room, with a short note on what went wrong. Try the chat first: most issues are just a slow transfer. If a release ever fails on-chain, the trade moves to a dispute on its own and the ETH stays safe in escrow.

When to open one

  • Buyer: you paid and marked it as paid, but the seller doesn't release.
  • Buyer: you paid, and the payment window is about to close.
  • Seller: the buyer marked it as paid, but nothing arrived, the amount is wrong, or it came from someone else's account.
  • Seller: the gift card code doesn't work or was already used.

What proof to post

  • A receipt or screenshot of the payment: date, amount, sender and recipient.
  • The transaction or reference ID from your app or bank.
  • Seller: a screenshot of your account history showing what arrived, or didn't.
  • Gift cards: a photo of the card and of the store receipt.

What we decide

  • Release to the buyer. The payment is proven: the vault sends the ETH to the buyer, as if the seller had released.
  • Return to the seller. No valid payment: the ETH goes back to the seller's ad, or to their refund wallet for trades on buy ads.

The decision is posted in the trade chat. Messages from our team carry a “Team” label.

Fees & limits

One fee, paid by the seller. Buying is free.

Fees
Trade fee
Of the ETH sold, paid by the seller on top of the trade.
1%
Buying
You pay the price in the ad.
Free
Withdrawing unused escrow
Gas paid by us.
Free
Payment method fees
Whatever PayPal, your bank or the card charges.
Theirs
Limits
Trade size
Each ad can set narrower limits.
$10 – $5,000
Payment window
Chosen by the ad.
15, 30, 45 or 60 min
Escrow window
For sellers answering a buy ad.
30 min
Open trades as a taker
Finish or cancel one to open another.
3
Ad price
Market price plus or minus a margin, or a fixed price.
±20%
Payment methods per adUp to 12

Example: selling $100 of ETH

The buyer pays you$100
The buyer receives$100 of ETH
Fee (1%, from your escrow)$1 of ETH
You lock in escrow$101 of ETH

Payment methods

38 ways to pay, sent directly between the two of you. We never touch the money, so every method works the same way: the seller shares where to pay, the buyer pays.

Safety

A few rules cover almost every problem.

  • Release only on settled money. Check your own balance, not a screenshot. Pending is not paid.
  • Same name, same account. Pay and get paid from accounts in your own name. Refuse third-party payments.
  • Keep it in the trade chat. Talk and share proof there: it's what our team reads in a dispute.
  • Gift cards: redeem first. Redeem or check the card's balance before you release, and keep the photo of the card and receipt.
  • Never trade outside the platform. A deal moved to DMs has no escrow and no dispute. Anyone asking for that is a red flag.
  • Keep crypto out of payment notes. Some services freeze those payments.

Terms & risks

We provide the market and the escrow. Trades are between users; we are not a party to the payment between them and do not hold or transmit fiat money. We may ask for identity verification, limit or refuse trades, and decide disputes on the evidence in the trade. Using a payment service to trade crypto may be restricted by its own terms; you are responsible for using it within them and for any taxes on your trades. Crypto prices move fast and on-chain transfers can't be undone. Not affiliated with Robinhood or with any payment method shown. Nothing here is financial advice. Full text: Terms.

For developers

Everything that holds money is on-chain. You don't have to take our word for it: check the vault yourself.

Network
NetworkRobinhood Chain
Chain ID4663
RPChttps://rpc.mainnet.chain.robinhood.com
ExplorerBlockscout

Escrow routes

Each escrow is a route inside the vault, identified by a hash. Ids are the ones in the page URLs: /ads/<adId> and /trade/<tradeId>.

Sell adkeccak256("p2p:ad:<adId>")
Trade on a buy adkeccak256("p2p:trade:<tradeId>")

Trades on a sell ad draw from the ad's route. Anyone funds a route with deposit(routeId). Each payout's reference is the hash of <prefix>:trade:<tradeId>:release (or :fee, :refund…); the vault never accepts the same reference twice, so a retry can never pay twice.

FAQ

Who holds what?

We never touch the dollars: buyers pay sellers directly. We hold the crypto, in an escrow vault on Robinhood Chain, from the moment a trade needs it until it is released or returned.

What if the buyer never pays?

When the payment window runs out without the payment marked as sent, the trade cancels itself. The ETH stays in the seller's ad, or goes back to the seller's refund wallet for trades on buy ads.

What if the seller doesn't release?

Open a dispute from the trade. The ETH can't move while our team reviews the chat and your proof, then releases it to you or returns it to the seller.

Can someone reverse a payment after I release?

Some can: card-funded PayPal payments, bank transfers and stolen gift cards are the usual risks. Release only once the money is settled in your own balance, prefer instant and irreversible methods, and ask for payment from an account in the buyer's name.

Can I cancel a trade?

Buyers can cancel until they mark the payment as sent. Sellers can cancel a trade on a buy ad until they lock the ETH. After that, only a release or a dispute ends the trade.

How long does a trade take?

As long as the payment takes to land. Once the seller releases, the ETH reaches the buyer's wallet in a few moments.

Which crypto can I trade?

ETH on Robinhood Chain for now.

Do I have to trust you?

Yes, as the middleman. The escrow vault only lets our operator pay out, and every payout is a public on-chain transaction with its own reference that can't be replayed. That is what lets two strangers trade: neither has to go first without a guarantee.

Ready to trade?

Every offer on the market is backed by ETH in escrow.