Salvage (“Salvage”, “we”, “us”) operates a scanner and a non-custodial settlement protocol for ERC-20 tokens stranded in smart contracts, at usesalvage.xyzand the Base App Mini App. By connecting a wallet, registering a find, registering a claim, or otherwise using Salvage, you agree to these terms. If you don't agree, don't use the app.
Salvage finds stranded funds and builds the safest available path to return them — recovery always requires the contract's owner to act. No tool, including Salvage, can force that. Registering a claim or a find does not guarantee any tokens will ever be recovered, and Salvage makes no promise about whether or when an owner will act.
The scanner's “Recoverable” verdict reflects what its triage checks can detect in a contract's ABI and ownership — the presence of a rescue function, an active owner, verification status. It does not verify that the owner can or will actually use that function. A rescue function gated behind a timelock, or an owner pointing at a multisig that's lost its signers, can still read as “Recoverable” today. Treat every verdict as “a path plausibly exists,” never as a guarantee.
Every claim is settled under one of two fee splits, frozen at the moment the claim is registered and enforced by the router contract itself — not by Salvage, and not open to renegotiation afterward, by us or by you:
There is no fee for registering a claim or a find, and no fee is ever charged unless a recovery actually settles. Which split applies is determined by whether a finder had already registered the find before the claim was signed — see below.
Finder priority goes to whoever registers a find first, full stop. Registration is timestamped and enforced by a unique constraint at the moment it's written — first writer wins, and that record is what determines the finder credited on a claim, not a later claim of having spotted it earlier. If you believe a registration is fraudulent or made in bad faith, contact us (see below); we can investigate, but we cannot alter a claim's fee split once it has settled on-chain — see the next section.
Salvage is non-custodial by design: recovered tokens flow directly from the stranded contract to a claim's own deterministic deposit address, and settle()— callable by anyone, not just us — splits them automatically the moment it's funded. We never hold, route, or have the ability to redirect a settlement. This means we also cannot reverse one, adjust a split after the fact, or manually resolve a dispute over a settled claim — there is no admin key or override path, by design, and we would not use one if it existed.
Salvage never DMs you first, never asks for payment before funds move, and never asks for your seed phrase or private key. If anyone contacts you promising guaranteed fund recovery in exchange for an upfront fee, that is not Salvage and it is a scam — reporting it to us (see below) helps us warn others.
Salvage is provided “as is,” without warranty of any kind. Scan results, triage verdicts, USD value estimates, and outreach message drafts are best-effort and may be inaccurate or incomplete. You are responsible for verifying any contract, address, or transaction yourself before relying on it — every claim and settlement is a public, verifiable on-chain transaction, and we encourage you to check it.
To the fullest extent permitted by law, Salvage and its operator are not liable for any loss arising from your use of the app or protocol — including a contract owner never acting, a scan or triage result that turns out to be wrong, or a transaction you sign through Salvage's interface. You interact with smart contracts, including Salvage's own router, entirely at your own risk.
If these terms change materially, we'll update the date at the top of this page. Continued use of Salvage after a change means you accept the updated terms.
Questions about these terms, or something to report: gethelp.salvage@gmail.com.