For exchanges and on/off ramps
Credit a deposit on a rule you chose.
A deposit that is credited too early is a loss. A deposit credited too late is a support ticket and a customer who leaves. The rule sits between those two, and it should be yours rather than whatever a provider decided to call “confirmed”.
The problem
One word for many settlement models. Bitcoin settles probabilistically and never claims otherwise. Ethereum finalises a checkpoint. An OP Stack rollup is a sequencer promise until its batch lands on Ethereum. Flattening those into a boolean loses the only thing that matters.
Deposits are credited from a stream you do not control. If the stream is behind, you credit late. If it is wrong, you credit something that did not happen, and the reconciliation is manual.
Reorganisations are rare and expensive. The case you cannot test in staging is the one that costs money. A system that never distinguishes “seen” from “irreversible” has no way to handle it at all.
Shared addresses need routing. On XRPL, Stellar and TON the address is the exchange; the tag, memo or comment is the customer. Crediting without one is crediting the wrong account.
What StoneReason does
You pick the rule
A watch carries a finality policy. Ship on detection if the amount is small and you have decided that is your risk; wait for the chain’s own final condition if it is not.
The native condition travels too
Whatever policy you chose, the response also carries what that chain actually says: the condition, whether depth is even meaningful on it, and what “final” means there. Both, always, because they are different claims.
Occurrence identity, not a guess
A receipt names the payment the way the chain names it. A repeat is recognised rather than credited twice, and a reconciliation has something stable to join on.
What works today
- Deposit watching on 9 networks: arbitrum, avalanche, base, bsc, celo, polygon, stellar, ton and xrpl.
- Routing values enforced where the chain needs one, refused at creation rather than silently unmatched.
- Balance reads on 6 networks for reconciling a hot wallet against what the chain says.
- A request log in your own dashboard: every call with its id, network, method, outcome and latency.
What it does not do
No withdrawals. Broadcasting is not on the Beta surface, and StoneReason never holds a key in any case.
No compliance screening. No provider is connected. Every
assessment would read UNKNOWN, which is not the same as no concerns,
so the surface is absent rather than reassuring.
No historical backfill. A watch starts from the chain head at the moment you open it. There is no archive to replay a deposit from last month.
Ethereum, Tron, Solana and Bitcoin deposits are not served here. They need a Data plane this deployment does not run, and a watch on one is refused with that reason.