Cronos are CRO DeFi Position Lifecycles With Chain-Matched Exits
Cronos are DeFi position-lifecycle workflows that keep CRO, pool receipts and exit transactions on Cronos EVM from the initial deposit through the wallet's final asset balances. A wallet connects to VVS Finance, approves the pool's two assets, supplies liquidity and receives either a fungible V2 liquidity-provider (LP) token or an ERC-721 V3 position. The position changes as reserves, fees and price ranges change. An adjustment adds or removes liquidity from that same contract state. A complete exit first withdraws any farm or vault receipt, then burns or reduces the pool position and returns its underlying assets to the same 0x address. Chain identity matters throughout because Cronos POS and Cronos zkEVM don't share Cronos EVM balances or contract records.
In this guide
Cronos EVM and Cronos POS for pool entry
Only Cronos EVM owns the VVS Finance pool state that starts and ends this position lifecycle.
Its EIP-155 chain ID is 25, its accounts begin with 0x and native CRO pays gas. Cronos POS uses Cosmos SDK accounts and the chain identifier cronosmainnet_25-1, so a CRO balance there doesn't expose an EVM LP token. Cronos zkEVM is another separate environment with chain ID 388 and zkCRO as its gas asset. A bridge movement changes the ledger on which an asset exists; it doesn't move VVS contract storage. MetaMask and WalletConnect show the selected network before signing, and that field decides whether the wallet can read or modify the position. The exit therefore starts by reconnecting the original 0x account to chain ID 25.
Gas and contract costs before the deposit
Every lifecycle write spends native CRO on chain ID 25, while read-only balance checks require no signed transaction.
When neither allowance exists, the approval-first V2 route requires 2 ERC-20 approval writes and a 3rd write to mint LP shares. If one side is native CRO, the router wraps it as WCRO inside the deposit, so the wallet needn't hold a separate WCRO balance first. Removing plain liquidity creates 1 more write. Farmed liquidity adds 1 unstake write before removal. Gas equals the transaction's gas used multiplied by its effective gas price. Those inputs move with the block and code path, but the number of required state changes remains visible before signing. Reserve native CRO outside the deposit for the exit sequence.
Pool fees follow the venue's contract rather than the network fee market. VVS V2 charges 0.3% on swaps and directs 0.2% to liquidity providers. Depositing and removing liquidity are state changes, not swaps, although an interface that converts one asset into a pair includes a swap. That distinction separates pool economics from gas.
Opening a VVS V2 pool-share position
A VVS V2 position begins when 2 assets enter one constant-product pool and its pair contract mints transferable LP tokens.
Token approval and paired deposit
The approval-first path authorizes the VVS router to transfer each ERC-20 asset. A WCRO-USDC pool has 2 reserve tokens even when the wallet begins with native CRO; the router wraps CRO for the pair. USDC uses 6 decimal places and WCRO uses 18, so contracts interpret amounts through each token's declared precision rather than by matching raw integers. The deposit quote follows the reserves' existing ratio, while minimum-amount fields bound execution. Supplying one asset through a zap adds a swap before the liquidity mint.
The LP token as the ownership record
The V2 pair contract follows the constant-product relationship x × y = k between swaps. On deposit, it mints ERC-20 LP tokens to represent the depositor's proportional claim. Dividing an address's LP balance by totalSupply yields that address's share of the pool. The receipt doesn't preserve the original token quantities because swaps continuously alter the reserves. When the LP token remains in the wallet, balanceOf exposes it directly; depositing it into a Crystal Farm moves the active record into the farm contract.
That receipt location decides which contract must act first during an adjustment or exit.
Reading the balance behind the wallet display
A complete position reading combines the owner's wallet balance, pool receipt and any farm or vault record holding that receipt.
Start with the owner's 20-byte EVM address, displayed as 40 hexadecimal characters after 0x. For V2, the pair contract's balanceOf value shows wallet-held LP tokens, while totalSupply supplies the denominator for its pool share. A zero wallet balance doesn't prove closure if the LP token sits in a Crystal Farm or Beefy Finance vault. For V3, the ERC-721 owner record and token ID replace a fungible amount. Cronos Explorer then ties each change to a 32-byte transaction hash, displayed as 64 hexadecimal characters after 0x, plus its event logs and receipt status.
Reading all three layers prevents a receipt token from being mistaken for a completed position.
VVS V3 position NFTs and range status
VVS V3 replaces fungible LP shares with an ERC-721 token that identifies one owner, one fee tier and one price range.
Fee tier and pool identity
VVS V3 defines 4 pool fee tiers: 0.01%, 0.05%, 0.3% and 1%. The contracts encode those rates with fee parameters 100, 500, 3,000 and 10,000, measured in hundredths of a basis point. Token0, token1 and the fee parameter jointly identify a pool, so a WCRO-USDC position at 0.05% is separate from the same pair at 0.3%. Reading only the token symbols misses that contract-level distinction.
In-range and out-of-range state
A V3 position earns its share of swap fees while the market price remains inside its selected tick range. As price travels through that range, the position's mix shifts between token0 and token1. Once price crosses beyond either boundary, the liquidity stops serving active swaps and the position becomes entirely one reserve asset at that edge. The ERC-721 token still exists, its liquidity remains withdrawable and its previously accrued fees remain collectible.
The range can't be edited in place; rebalancing removes liquidity and mints a replacement position with new boundaries.
Adding, reducing and replacing liquidity
A routine adjustment changes liquidity in the existing pool record, while a range change creates a replacement V3 position.
Adding to V2 shares
Additional V2 liquidity enters at the pool's live reserve ratio. The pair contract calculates the contribution against existing reserves and mints more LP tokens, preserving proportional ownership across all providers. A partial reduction reverses that mechanism: the router burns a selected LP quantity and returns the matching share of both reserves. A 100% removal consumes the chosen wallet-held LP balance, although LP tokens deposited in a farm must return to the wallet first. The neighboring topic is handled in Cronos working with limits in practice.
Increasing or reducing a V3 position
A V3 increase targets an existing token ID, price range and fee tier. The current pool price determines how much token0 and token1 the position accepts. A reduction lowers the position's liquidity field, then collection transfers the released assets and accrued fees to the recipient. Liquidity can reach zero while the ERC-721 record remains, because reducing, collecting and burning are separate contract operations. Replacing the range therefore closes the old liquidity allocation before minting another token ID.
Can I unwind a Cronos liquidity position in one transaction?
Yes, a plain V2 removal settles in 1 router transaction after its LP allowance exists; layered positions require preceding unwinds.
The V2 router burns the chosen LP amount and transfers both underlying tokens to the recipient. If its allowance for the LP token is zero, an approval write comes first. A Crystal Farm deposit also requires an unstake before the wallet can authorize removal. The VVS V3 position manager batches 3 operations - decreaseLiquidity, collect and optional NFT burn - through multicall when the interface selects a full exit. A Beefy Finance vault withdrawal returns its underlying VVS exposure before the pool exit. Count contract layers rather than interface buttons because each earlier layer must produce a successful receipt before the router or position manager can access the final pool claim.
The chain-matched exit decision checklist
A same-chain exit is ready only when 5 observable conditions match the exact position the wallet intends to unwind. Use this decision checklist immediately before partial or full removal because every item maps to a contract prerequisite.
- Network: the wallet reports Cronos EVM chain ID 25, not Cronos POS or Cronos zkEVM.
- Gas reserve: native CRO remains outside WCRO, LP tokens and farm or vault balances.
- Position record: the contract shows the correct V2 pair, V3 token ID or deposited receipt.
- Exit size: the selected LP amount or liquidity percentage matches a partial reduction or 100% closure.
- Recipient and limits: the intended 0x account receives both assets under the displayed minimum amounts.
All 5 conditions together identify a writable position and a chain-matched destination.
Receipt tokens inside farms and vaults
Farms and vaults insert a receipt layer between the wallet and pool, so their withdrawals come before the underlying liquidity exit.
VVS Crystal Farms accept eligible V2 LP tokens and record the depositor's farm balance. Flawless V3 Farms accept supported ERC-721 liquidity positions under their staking contracts. Beefy Finance vaults hold supported VVS liquidity exposure and represent the user's claim with a vault share. In each case, the pool still recognizes the LP token or V3 NFT as its ownership object. A wallet dashboard may display one combined value, yet the exit path follows custody inward: vault or farm first, then the VVS position manager or router and finally the underlying token balances.
Rewards don't substitute for the pool claim. Withdrawing or harvesting VVS rewards changes the reward ledger, while removing liquidity changes ownership of pool reserves. Interfaces sometimes group these actions, but the receipt reveals whether the LP token or NFT has returned to wallet control.
The extra receipt layer sets the minimum transaction count for the unwind.
One CRO ticker across separate ledgers
One CRO ticker spans several technical representations, which explains why wallets display familiar labels beside balances on separate ledgers.
Before the Cronos name covered the broader ecosystem, CRO circulated as an ERC-20 token on Ethereum and as native CRO on the network now called Cronos POS. Cronos EVM later adopted CRO as its native gas asset while retaining Ethereum-compatible accounts. The names evolved, but the contract states never merged. Cronos POS records 1 CRO as 10^8 basecro, while Cronos EVM exposes native CRO with 18 decimal places. Those precisions govern raw units on their respective networks rather than creating interchangeable position records. Cronos Bridge moves supported assets between connected networks through bridge mechanisms; it doesn't carry an LP token's VVS storage. A VVS position stays anchored to Cronos EVM until its own contracts unwind it.
The final wallet state and lifecycle record
A complete exit leaves the wallet with underlying tokens and successful receipts, while every intermediate claim reaches its closed state.
For V2, full removal consumes the wallet-held LP amount used in the call and returns the pool's current mix of 2 assets. A full farm exit also leaves the relevant deposited amount at zero. For V3, liquidity and uncollected fees reach zero after decrease and collect; the ERC-721 token may remain as an empty position unless the final call burns it. The returned CRO amount needn't equal the entry amount because pool reserves moved with trading. Transaction limits decide the minimum accepted output at execution, while the receipt records the amounts actually transferred.
An interface completion message isn't the lifecycle record; the successful on-chain receipts are.
Save the chain ID, transaction hashes, token contract identifiers, LP pair or V3 token ID and farm or vault withdrawal records as one sequence. That sequence explains each wallet balance change and shows whether every claim reached the same 0x account. The lifecycle ends at the underlying asset balances after all receipt layers have closed.
Cronos: frequently asked questions
-
Does a VVS V2 exit return the original token quantities?
- No, a VVS V2 exit returns the wallet's current proportional share of both pool reserves. Swaps change the reserve ratio while fees enlarge reserves for liquidity providers. Burning LP tokens therefore converts a fixed share into variable CRO and paired-token amounts. The transaction's minimum-output settings govern execution, while its final receipt records the quantities sent.
-
Is spare CRO needed after all pool assets are deposited?
- Yes, native CRO must remain available for the state-changing transactions that finish the lifecycle. WCRO inside a pool can't pay gas until it returns to the wallet and unwraps through the exit route. A farmed V2 position needs at least an unstake and a removal, while a first-time LP-router allowance adds another write.
-
Can a Ledger device sign the same Cronos exit through MetaMask?
- Yes, a Ledger account can sign Cronos EVM transactions through MetaMask when the connected address and network match the position owner. The device uses its Ethereum application for EVM signing, while MetaMask relays each approval, unstake or removal payload. Every state change still requires confirmation unless the selected contract route batches calls through multicall.
-
Do collected V3 fees arrive separately from withdrawn liquidity?
- V3 fees and withdrawn liquidity use separate accounting fields even when one multicall collects both in the same wallet transaction. Decreasing liquidity makes the released asset amounts collectible, while the position also tracks token0 and token1 fees owed. A complete exit collects both categories, then leaves zero uncollected amounts; the receipt's transfer events show their combined token deliveries.