How it works
A scan turns one public address into a list of amounts you can prove are yours. Nothing is shown as claimable on the strength of an index or a price feed alone: each amount comes from running the real claim from your address and measuring what arrives.
1Scan
Detectors look in every place money gets stuck, on every chain, in parallel.
2Simulate
Each candidate's real claim call is replayed from your address at a recent block.
3Prove value
Only what the simulation delivers to your wallet counts, priced by a simulated sale.
4Batch
You choose what to claim. It becomes one transaction per chain.
5Guard
An on-chain check reverts the whole batch unless your balance really rose.
1. The scan
You give us an address. For each supported chain we run a set of detectors in parallel. Each detector knows one place money gets stuck: liquidity positions, launchpad fee vaults, LP lockers and vesting contracts, reward distributors, bridges, staking withdrawal queues, legacy exchanges, and contracts your wallet deployed. The coverage page lists every one.
Detectors use indexers only to discover candidates, for example "this wallet once received a position NFT" or "this wallet deployed these contracts". Indexers are never trusted for amounts. Every balance is read again directly from the chain.
You can watch this happen: each chain lights up as its detectors finish, and findings appear as they are confirmed. A scan needs no wallet connection and no signature.
2. The simulation
For each candidate we build the exact call that would claim it, then run it from your address at a recent block (eth_simulateV1, or eth_call with state overrides where a node does not support it). On Solana the transaction is simulated the same way, with your wallet as the signer.
What "proven by simulation" means
- The claim call is the real one, sent from your address, against current chain state.
- The amount shown is the amount the simulation moved into your wallet, not an estimate from an API.
- If tokens would arrive, we simulate selling them too. The dollar value is what that sale returns. A token that cannot be sold is not counted as value.
- If the simulation does not pay you, the finding is not claimable, whatever an indexer says.
Why some findings are not claimable
- Claimable
- The simulation delivered it to your wallet. It can go into a batch now.
- Unlocks later
- The money is real but locked: a lock that has not expired, a withdrawal still in its waiting period. You see the date.
- Manual steps
- It cannot go into a batch: finishing a bridge withdrawal on Ethereum, or deploying a contract on another chain. You get the exact steps.
- Unsellable
- The token arrives, but its sale fails in simulation, often a honeypot. Claiming it would give you nothing usable.
Findings marked "for your info" carry no claim at all: open approvals you may want to revoke, or balances that are already usable.
3. The claim
When you press claim, your wallet signs a free sign-in message (SIWE) so we know the request comes from the wallet that owns the findings. Then everything is simulated again at the latest block, because balances change.
Your wallet then receives one batch per chain through EIP-5792 wallet_sendCalls. A batch contains, in order:
- 1
Snapshot your balanceGuard
The guard records what your wallet holds before anything else happens.
- 2
The claim calls
One per finding you selected, each to the protocol's own contract.
- 3
Optional sales
If you chose to convert tokens, each swap carries a minimum output.
- 4
Check the differenceGuard
The guard reverts the whole batch unless your balance rose by at least the proven amount.
- 5
The 5% fee
Paid last, only after the check has passed.
- 6
Optional transfer
If you chose another address you control, the rest is sent there.
The batch is atomic: every call succeeds, or none of them happens. There is no state in which you paid a fee for a claim that did not arrive.
Scanning many wallets
Paste up to 100 addresses, EVM and Solana mixed. You get a table with what each wallet can recover and its biggest find. Each row opens a full result where that wallet can claim. Every wallet claims for itself; nobody can claim another wallet's findings.
What stays on your side
Stray prepares the list of calls. Your wallet shows them, holds the keys, and sends the transaction. We never hold funds in between, and the safety page explains what limits a batch even if our own servers were wrong.