17 Trust

FAQ

Plain answers to the questions people ask first.

#Using it

#Can I really get my money back after sending?

Yes, as long as the recipient has not claimed. After a claim the funds belong to the recipient and nobody can reverse that. The line is exact: before the claim transaction is mined, undo works; after, the link no longer exists.

#What if they never claim?

At the expiry anyone can call expireRefund and the full amount returns to you. You can also undo yourself at any time, even after the expiry, as long as nobody claimed.

#Does the recipient need a wallet or ETH?

They need an address to receive to, and they can make one on the spot. They do not need ETH: the claim is a signature that anyone can relay for them, so a relayer pays the gas. Until a relayer exists, the recipient submits the claim and needs a tiny amount of ETH. See Relayer.

#Which assets work?

ETH and standard ERC-20 tokens, including memecoins launched on Pons. Fee-on-transfer tokens work, and the contract records what actually arrived. Tokens that can blocklist, freeze, pause or rebase are not safe, see Security and limits.

From 10 minutes to 90 days, chosen by the sender. The default in the app is 7 days.

By default up to 2 ETH per ETH link, and up to 1% of a token's total supply per token link. These caps limit the damage of a leak while the contract is young. The admin can change them. You can make several links.

#What does it cost?

0.3% when a link is claimed, taken from the amount so the recipient receives the net. Undo and expiry are free. Everyone pays network gas for their own transaction, which at the gas price we measured is a few millionths of an ETH. See Gas and costs.

#Safety

#Can Oopsend take my funds?

The contract has no withdraw function. Funds can only go to the recipient named in a valid claim signature, to the fee accrual (at most 1%, locked when you create the link), or back to you. The admin can only tune the fee up to 1%, change caps and pause new links. See Security and limits.

Whoever holds the whole link, including the part after #, can claim. Treat it like cash. If it leaks, undo it. The part after # is never sent to a server by a browser, so our backend cannot claim your link.

#Can a relayer or a bot steal my claim?

No. The claim signature names the recipient. A relayer, or someone watching the mempool, can submit it but cannot change who gets paid. See The claim signature.

#What if undo and claim happen at the same time?

Whichever transaction is ordered first wins, and the other reverts. The funds are never paid twice.

#Is it live?

Yes. The contract is deployed on Robinhood Chain at 0x7B530e91D9dc24C78Ca2eEE2B494E7dE1B680AC0 and has been exercised there with real transactions. The lab runs the same rules locally if you want to try attacks first.

#Token

#What is $OOPS for?

It is the fee sink. Claim fees accrue in the contract, are swept to a public wallet, and buy back and burn it. You do not need it to use Oopsend. See Fees and token.

#Is there a presale or a team allocation?

No presale. No team allocation beyond any dev buy made on the public curve, which is disclosed with its wallet.

#Technical

#Why a signature instead of a secret hash?

A hash-and-reveal claim puts the secret in the pending transaction, where anyone can copy it and redirect the funds. A signature that includes the recipient cannot be redirected. See The claim signature.

Browsers never send the part after # in an HTTP request. The app's server sees the sender and the id, and never sees the secret.

Yes, the ids. LinkCreated carries the id and the sender is indexed, so you can list your own links from chain events and undo any that are open. The secret is not recoverable, so a link whose secret you lost can be undone but not re-shared.

#Does it work with smart-contract wallets?

The sender can be any account that can receive ETH back, but a contract that rejects ETH would make undo revert until it can receive. The recipient can be any address that accepts ETH or the token. The claim signature is made by the throw-away key, not by the recipient's wallet, so it does not depend on the wallet type.

#Can I build on it?

Yes. See Integrate and Link format.