Live on Monad mainnet — chain 143

Every Monad wallet.
Cleaned in one verified session.

Scan every wallet, choose what stays, sell or consolidate what does not, and understand every transaction before you sign.

One workspace, every wallet

Illustrative preview — not live data
tidyr.app/app/wallets

DUST1 · Dev Wallet 1

0x196f…38A5Copy address
200.0Sell → MON

DUST3 · Airdrop Wallet

0x1B7E…b3c3Copy address
1,000.0Sell → USDC

DUST5 · Hackathon Wallet

0xB9b2…9E2FCopy address
50.0Consolidate

Wallet cleanup is a manual, unreadable chore

Fragmented wallets

Dust and stray balances spread across dev, airdrop, and hackathon wallets with no single view.

Repeated signing

Cleaning up by hand means a fresh approval and a fresh transaction for every token, in every wallet.

Unreadable calldata

Most wallets show a hex blob at signing time — not what leaves, what arrives, or where it goes.

Forgotten approvals

Unlimited allowances granted months ago and never revoked stay live long after you stopped using them.

How it works

1

Scan

Read balances directly from Monad — every connected wallet, every token.

2

Decide

Assign sell, consolidate, discard, burn, or revoke to each asset.

3

Review

See exactly what leaves, what arrives, and every permission granted.

4

Execute

Sign once per wallet; each wallet's transactions run in its own graph.

5

Verify

The final report is built from finalized on-chain evidence, not local state.

Built for Monad

Each connected wallet is its own independent execution graph: its transactions run in strict nonce order, one after another, inside that wallet. Separate wallets can each have a transaction in flight on Monad at the same time — that is separate wallet graphs progressing concurrently, not one transaction executing several operations in parallel. TIDYR never claims a single executeSweep call performs parallel work; it claims that independent wallets don't have to wait on each other.

Security model

Exact Permit2 permissions

Every signature authorizes Permit2 to pull exactly the amount of exactly the token in the plan — never an unlimited allowance, never a different token.

Closed adapter model

SweepExecutor only ever calls two constructor-fixed adapters (PancakeV2, UniswapV3). There is no registry and no way to name an arbitrary adapter address in a plan.

Simulation and calldata verification

Before you sign, the encoded transaction is decoded and compared field-by-field against what you approved, and simulated against live chain state.

Finalized on-chain reports

The cleanup report is rebuilt from indexed chain events after execution — never from an optimistic local success flag.

Live mainnet contracts

Chain ID 143 · Monad mainnet

SweepExecutor
Verified0x7a84…E9c3Copy addressView on explorer
PancakeV2Adapter
Verified0xBB86…dBcbCopy addressView on explorer
UniswapV3Adapter
Verified0xE80d…7D27Copy addressView on explorer
DemoDistributor
Verified0x4955…2d9ECopy addressView on explorer

Claim a demo bundle

The demo claims real tokens from a real, deployed contract and involves real Monad mainnet transactions and gas — it is not a simulation.