Security

Calldata, not custody. The server composes a swap; your wallet signs it; only the contracts below are ever the recipient.

Who signs what

When you press Buy or Sell, the server reads the chain — market, balances, allowance, a live quote — and composes the transaction. It never signs. Your Privy embedded wallet, created for you at sign-in, signs and sends it in your browser. We request no delegation, no session signer and no server-side key for user wallets. There is no code path by which the backend can move a user's funds.

The wallet a trade uses is always the signed-in user's own, taken from the session — you can only trade your own funds.

What a trade may touch

The recipient of a prepared transaction is only ever one of these routers, Permit2, or the token being approved. Nothing else, ever.

Quotes are read-only calls to Uniswap QuoterV2 (0x33e885ed0ec9bf04ecfb19341582aadcb4c8a9e7) and Uniswap v4 Quoter (0x8dc178efb8111bb0973dd9d722ebeff267c98f94); they sign nothing.

Baked into every swap

  • Slippage-bounded minimum out. Every leg carries a floor derived from the live quote and your slippage setting; a no-confirmation click cannot be sandwiched to zero.
  • Two-step routes re-read the receipt. A token quoted in USDG or a tokenised stock trades in two transactions; the amount for the second is read from the first receipt's Transfer log, never trusted from the client.
  • Gas headroom is checked before a send, so a trade cannot strand the wallet without gas for the sell.
  • The route is shown in words before you trade: the trade box names the path (for example ETH → USDG → NVDA → LDC) and how many transactions it takes.

The signals bot's wallet

The live copy book trades from a wallet that belongs to hoodini, not to any user. No user wallet, key or balance is involved in it at any point, in either direction. The paper book — which is what the signals page shows unless a row says live — sends nothing and holds nothing on chain.

Accounts and data

Sign-in is Privy (an email or a wallet); we store the session, your trade settings, your demo and real trade records, and rate-limit by IP. Analytics are Google Analytics 4 and Cloudflare Web Analytics; neither is given a wallet, a trade or an account identifier. Details on the legal page.

Reporting a problem

Message @hoodiniapp on X. The machine-readable pointer is /.well-known/security.txt.