
usability over complexity
Pre-flight Checks for
Every Token Airdrop
Dropcheck shows which transfers in your Portaldot distribution would fail or strand tokens (empty wallets, MetaMask addresses, dust amounts, decimal slips) and fixes them all in one signed batch.
Fresh wallet found
No tPOT yet, so a 0.11 tPOT top-up was added
three steps, one signature
From a messy list to verified transfers in under a minute.
Paste your list
Address and amount per line, or drop a CSV. Portaldot, other Substrate, and MetaMask addresses all work.
See every problem
Each row is checked against live chain state and turns green, amber or red, with a plain-English reason.
Fix & send once
Top-ups, address fixes and merges go into one atomic batch. Sign once, then get a block link for every transfer.

what we catch
The mistakes that silently strand tokens.
No native tPOT means it can’t hold the token. We add an ED + 10% top-up first.
H160 resolved to its native account with ReviveApi. No manual runtime-call lookup.
A Polkadot-encoded address is re-encoded for Portaldot. Same key, right format.
Same account listed twice, even in different formats. Amounts are merged.
New holders below the asset’s min_balance would fail. Flagged with the minimum.
An amount 1,000× the typical one, or dust among whole numbers. Confirm before you send.
Typos, frozen holders and frozen assets are caught before they cost a fee.
transfer_keep_alive + a balance check, so your account is never reaped.
built on portaldot
No backend. No keys. Just the chain.
Dropcheck runs in your browser against the public Portaldot V3 node. You sign in your own wallet extension: Talisman, SubWallet or polkadot{.js}. Testnet only, and it refuses any other network.
- Native Assets pallet
- Tokens without an ERC-20 contract, with Substrate’s existential-deposit and min-balance rules that Dropcheck checks for you.
- Atomic batch_all
- Top-ups and transfers land together or not at all. The signed batch is dry-run on the node before broadcast.
- Revive address mapping
- MetaMask users get their tokens at the native account the runtime itself uses.