Send crypto like a text.
Ferry turns crypto into a link. Drop it in any chat, and whoever opens it claims the money. No wallet address to ask for, no gas for them to find.
- < 1¢
- to claim on-chain
- 0
- addresses to copy
- Any
- wallet, any chat
How it works
Three steps. One transaction each side.
Deposit
Pick a token and an amount. Your wallet locks it in the Ferry escrow contract on Robinhood Chain, in one transaction.
Share the link
Ferry mints a one-time key for that deposit and puts it in the URL. Paste it in iMessage, Telegram, Slack, a QR code, anywhere.
They claim
The recipient opens it, picks a wallet, taps claim. Their browser signs with the link key and a relayer pays the gas.
Why Ferry
Built like infrastructure. Feels like a message.
Non-custodial
Funds sit in a ~150-line escrow contract, never on a Ferry server. Read every line on Blockscout.
Gasless for recipients
Claims are signature-authorised, so a relayer can submit them. New users don't need ETH to receive ETH.
Cancel anytime
Sent it to the wrong chat? Cancel from your wallet and the funds come straight back. Optional expiry, too.
Private by design
The secret lives in the URL fragment, which browsers never send to servers. Ferry can't see it, and neither can we.
Rich previews
Every link unfurls into a card showing the amount and token, in iMessage, Telegram, Slack, X, Discord.
Any wallet
Claim to a Coinbase Wallet, Rainbow, MetaMask, a smart account, or just paste an address. No sign-up.
Under the hood
The link is a key. The key is the only thing that can claim.
Every link maps to a fresh keypair. The contract stores only the public address. To claim, the holder signs a message naming the recipient, so a relayer can pay gas but can't redirect the funds.
Try it nowfunction claim(address claimKey, address to, bytes sig) {
Link storage l = links[claimKey];
require(!l.claimed && !expired(l));
bytes32 digest = claimDigest(claimKey, to);
require(recover(digest, sig) == claimKey); // link holder
l.claimed = true;
pay(l.token, to, l.amount); // → recipient
}FAQ
Questions, answered.
Whoever holds the link can claim it, so treat it like cash. Share it over a private channel, and set an expiry if you want a time limit. If it leaks before it's claimed, cancel it from your wallet.
Stop asking for addresses. Send a link.
Takes about ten seconds. Works with the wallet you already have.
Create a link