Preview environment — surfpool fork, ephemeral wallet, no real funds.
The moat

Every move is checked 11 times
before a single dollar shifts.

Most yield strategies ask you to trust the team. Drainwatch doesn’t — every rebalance is verified live, on-chain, against rules the contract enforces itself. If even one check fails, no funds move.

See the 11 checks
7 checks

Is it safe to move right now?

The vault refuses to act if anything basic is off.

  • [01]

    The vault isn't paused

    not_paused

    ok
  • [02]

    Enough time has passed since the last move

    cooldown_elapsed

    ok
  • [03]

    We actually hold the position we're moving from

    has_source_pool

    ok
  • [04]

    The destination is on our pre-approved list

    whitelisted_destination

    ok
  • [05]

    We're not “moving” to where we already are

    not_same_pool

    ok
  • [06]

    The destination uses a strategy we know how to handle

    kind_supported

    ok
  • [07]

    The minimum profit threshold is configured

    profit_gap_configured

    ok
1 check

Is the rebalance signal authentic?

Our off-chain signal generator (the “ranker”) signs every recommendation cryptographically. The vault verifies the signature on-chain — it can't be forged or replayed.

  • [08]

    The recommendation came from our signer, hasn't been tampered with, and isn't being replayed

    lvr_attestation_ed25519

    ok
3 checks

Are we pricing the move correctly?

Both pools get an independently signed price snapshot from a Pyth oracle. No single source of truth — and we cross-check them.

  • [09]

    Fresh, signed price for the destination

    nav_view_destination

    ok
  • [10]

    Fresh, signed price for the source

    nav_view_source

    ok
  • [11]

    Both prices agree with the rebalance plan

    att_view_consistency

    ok
Verify

Verify it yourself.

Our signal endpoint is public — the same numbers the vault rotates on. Don’t take our word for any of this; check the data yourself.

/api/lvr