How to Check Locked Tokens in a Wallet Address (Any Chain)
To check locked tokens in a wallet address, open the chain's block explorer, look up the address, and read the balance breakdown: most explorers show "available" separately from "locked", "reserved", "frozen", "staked" or "in escrow". If the explorer only shows a total, you then check the contracts the wallet has interacted with (staking, vesting, escrow) to see what holds the rest and when it unlocks.
This guide walks through that process chain by chain, explains the common lock types, and shows how to tell a normal lock from a genuinely stuck balance. You need nothing but the public address. You never need a seed phrase, a private key or a wallet connection to read a balance.
What "locked tokens" actually means
"Locked" is an umbrella word. On-chain it usually refers to one of these:
- Staking or bonding locks. Tokens delegated to a validator. They stay locked until you unstake, and then for an unbonding period that varies by chain.
- Vesting locks. Tokens from a sale, airdrop or team allocation that release on a schedule. Often held by a vesting smart contract, not by your address.
- Escrow or time locks. Tokens held by the ledger or a contract until a set date or condition. XRP escrows are a well-known example.
- Governance or protocol locks. Tokens locked for voting power (vote-escrow models), for a referendum, or as a deposit for an on-chain action.
- Exchange-side locks. Tokens shown as "frozen" inside a centralised exchange account. These are not on-chain locks and do not appear on any explorer.
The first four leave a trace on the chain. The last one does not, which matters: if a balance is locked inside an exchange, a block explorer will never show it. Our earlier guide on staked vs locked vs stuck crypto goes deeper into the vocabulary.
How to check locked tokens in a wallet address, step by step
Step 1: Confirm which chain the address is on
The same address format can exist on several chains. An address starting with 0x works on Ethereum, Arbitrum, Base, Polygon, BNB Chain and many others, and each chain has its own balance. Check the chain the tokens were sent on. If you are not sure, a multi-chain explorer or a read-only scanner can query several chains at once.
Step 2: Open the official explorer and search the address
Use the explorer linked from the chain's official documentation. Common ones:
- Ethereum and EVM chains: Etherscan, Arbiscan, BaseScan, PolygonScan, BscScan.
- Solana: Solscan or the Solana Explorer.
- Polkadot and Kusama: Subscan or Polkadot.js Apps.
- Cosmos chains: Mintscan.
- XRP Ledger: XRPScan or Bithomp.
- Cardano: Cardanoscan.
- Tron: Tronscan.
Paste the address and open the account page. Bookmark the explorer you use so you are not caught by a look-alike site later.
Step 3: Read the balance breakdown
This is where the lock becomes visible. What to look for differs by chain:
- Polkadot and Kusama (Subscan): the account page lists Total, Free, Reserved and Locked (sometimes shown as Frozen or Bonded). A "Locks" or "Balance Lock" section names the reason for each lock, such as staking, democracy or vesting.
- Cosmos chains (Mintscan): the balance card shows Available, Delegated, Unbonding and Reward. Unbonding entries show a completion time.
- Solana (Solscan): the main wallet shows liquid SOL. Staked SOL lives in separate stake accounts linked from the "Stake Accounts" tab, each with its own state (active, deactivating, inactive).
- Cardano (Cardanoscan): ADA delegated to a pool stays spendable, so "locked" ADA is rare. Rewards appear in the reward balance until withdrawn.
- XRP Ledger (XRPScan): the account shows Balance plus a Reserve, and a separate Escrows tab listing amounts and finish times.
- Tron (Tronscan): frozen TRX for bandwidth or energy appears under "Frozen" or "Staked", with an unfreeze date once you unstake.
- Ethereum and EVM chains: native ETH is never "locked" by the protocol itself. Locks come from contracts, so you move to step 4.
If the explorer shows a Locked or Reserved figure with a named reason and an end date, you have your answer. Note the date and confirm the rule in the chain's official docs, because unbonding periods change with governance votes.
Step 4: Find the contracts holding the rest
On EVM chains and for most DeFi positions, the tokens are not in your address at all. They sit inside a contract that records a claim for you. To find them:
- Open the address page and switch to the token transfers or transactions tab.
- Look for outgoing transfers to a contract you did not expect, especially ones labelled staking, vesting, escrow, lock, vault or pool.
- Click the contract address, then open the "Read Contract" tab on Etherscan-style explorers.
- Look for read functions named like
locked,lockedBalanceOf,vestingSchedule,releasable,claimableorunlockTime. Paste your address as the input and query.
Vesting platforms such as Sablier or Hedgey, and vote-escrow tokens such as veCRV, all expose these reads. The exact names vary per contract, so if you are unsure, check the project's docs for "how to view my vesting".
Step 5: Separate "locked" from "ready to claim"
Many locks have two phases. First the tokens are locked until a date. Then they become claimable, but they still do not move until you send a claim transaction. Explorers rarely highlight this difference. A finished Polkadot unbonding still needs a withdrawUnbonded call. A finished XRP escrow still needs an EscrowFinish transaction. We covered both in Polkadot unbonding: how to withdraw and XRP escrow past its unlock time.
So when you find a lock, ask two questions: has the unlock date passed, and is there a claim or withdraw step I have not done yet?
A worked example (illustration only)
The numbers below are made up to show the method. They are not BOTLAB results and not from any real wallet.
Suppose a wallet address on Ethereum shows a token balance of 400 PRJ, but the holder bought 1,000 PRJ in a sale. Where are the other 600?
- The token transfers tab shows a 350 PRJ transfer to a contract called "PRJ Vesting" six months ago, and a 250 PRJ transfer to "PRJ Staking" three months ago.
- Reading the vesting contract with the wallet address as input returns a 12-month linear schedule: 350 total, 175 already released, 175 still locked. Of the 175 released, 150 are "releasable" because the holder claimed only 25 so far.
- Reading the staking contract shows 250 PRJ staked with a 7-day cooldown after unstaking. The holder has not unstaked, so nothing is pending.
The picture is now clear:
| Where | Amount | Status |
|---|---|---|
| Wallet | 400 | Free |
| Vesting contract | 150 | Released, claim needed |
| Vesting contract | 175 | Locked until schedule ends |
| Staking contract | 250 | Staked, 7-day cooldown if unstaked |
Nothing here is stuck. The only action available right now is a claim of 150 PRJ from the vesting contract. All numbers above are illustrative.
When a locked balance might actually be stuck
Normal staking, unbonding, vesting and escrow are not stuck. A balance deserves a closer look when:
- The unlock date passed long ago and a claim transaction fails or reverts.
- The contract that holds the tokens is paused, upgraded, or no longer has a working front end.
- The project's app is gone and you need to call the contract directly from the explorer.
- Tokens were sent on a chain or to a contract that cannot handle them.
Even in these cases, the tokens are usually still visible on-chain and the path forward is a direct contract call or a support ticket with the project. Avoid anyone who says they can recover the tokens for a fee or who asks for your seed phrase. Reading and claiming never requires that, and legitimate projects do not charge to release your own funds.
A quick way to do steps 1 to 5 across chains at once is a read-only scanner. Scan a wallet free with StuckScan: paste a public address and it shows what is in the wallet, staked, locked, pending, possibly stuck or ready to claim, with on-chain proof, across 20 chains, with no wallet connection and no sign-up. It does not yet check bridges, most DeFi except Aave v3, or Solana stake accounts on the web page, so for those positions use the explorer steps above.
Common mistakes when checking locked tokens
- Checking the wrong chain. The same
0xaddress is empty on one chain and full on another. - Trusting the wallet app's total. Many wallets show only liquid balances and hide contract-held positions.
- Confusing exchange "frozen" with on-chain locked. Exchange locks are internal. Ask the exchange, not the explorer.
- Stopping at the unlock date. A passed date usually still requires a claim transaction.
- Using a look-alike explorer. Always open the explorer from the chain's official docs.
If you want a broader map of where staked assets can hide, see how to find where my staked crypto is.
BOTLAB also publishes paper-trading results of crypto bots on /platform. Those results are simulated and are unrelated to wallet checks. Crypto trading can lose money, including all capital.
FAQ
Can I check locked tokens without connecting my wallet?
Yes. Every step above uses only the public address and a block explorer. Reading balances, lock reasons and vesting schedules never needs a signature, a private key or a seed phrase.
Why does the explorer show fewer tokens than I own?
Most likely some tokens are held by a contract (staking, vesting, escrow, liquidity pool) rather than by your address. Check the token transfer history for outgoing transfers to contracts and read those contracts with your address as input.
The unlock date has passed. Why are the tokens still not in my wallet?
Many locks need a separate claim or withdraw transaction after the date passes. Look for a claim, release, withdraw or finish function on the contract or in the project's app, and confirm the exact step in the official docs.
Does "locked" mean the tokens are lost?
No. Locked means a rule is holding them for a period or until an action. If the lock has ended and a claim still fails, contact the project through its official channels. Never pay a third party who promises recovery, and never share a seed phrase.
Key takeaways
- Start with the official block explorer for the correct chain and read the balance breakdown.
- Look for Locked, Reserved, Frozen, Bonded, Unbonding or Escrow fields with a reason and an end date.
- On EVM chains, follow outgoing transfers to contracts and use "Read Contract" with your address.
- A passed unlock date usually still needs a claim or withdraw transaction.
- Normal staking, unbonding and vesting are not stuck; check the official docs for current durations.
- Nobody legitimate asks for a seed phrase or a fee to release your own tokens.
General information, not financial advice. Check the official docs before you move funds.
Want these checks run on your own strategy? See the strategy and backtest audit.
More guides
- FaceStealer Deepfake Video Calls: How to Check Your Wallet
- How to Find Where My Staked Crypto Is: A Step-by-Step Guide
- Cardano Staking Rewards Not Showing? How to Withdraw ADA
- Ethereum Transaction Pending for Hours? What to Do
Scan a wallet free