Skip to guide

Documentation LiteForge testnet

Lithium documentation.

How to use the market, how the protocol works, and the security assumptions behind it.

Open the dashboard

01 / How it works

USDC lending with zkLTC collateral.

Lithium uses a Compound III-based lending model. Lenders supply USDC. Borrowers deposit native zkLTC as collateral for USDC loans.

USDC

Supply and borrow

Supplied USDC earns variable interest. Borrowed USDC accrues debt. Withdrawals and new loans depend on available liquidity.

Native zkLTC

Collateral and network fees

Deposit zkLTC directly, without wrapping. Collateral supports borrowing but does not earn interest or create a loan on its own.

The lending cycleFollow the assets.Choose an action to see what moves.
Your walletUSDC leaves your wallet
Lithium marketUSDC liquidity increases
Your supplied balance earns interest

USDC moves from your wallet into the market. It repays any existing debt first; the remaining supplied balance earns a variable rate.

A wallet has one net USDC position: supply or debt. Depositing USDC repays debt first. Any remaining amount becomes supplied USDC.

zkLTC borrowing, LITVM lending, and managed strategies are not part of this market.

02 / Assets and contracts

Check the asset address.

The market uses Lithium USDC (lithUSDC), shown as USDC in the app. This six-decimal test token is not issued by Circle. Native zkLTC has 18 decimals and no ERC-20 token address.

Use the listed USDC token to supply or repay. Keep some native zkLTC in your wallet to pay network fees for every action.

03 / Wallet and network setup

Connect to LiteForge.

Use a wallet that supports custom EVM networks, such as MetaMask or Rabby.

You can browse market rates and limits without a wallet. To view your position or make a transaction, open the app and choose Connect wallet.

If your wallet is on another network, select Switch to LiteForge and confirm the wallet prompt. Opening the app does not request a network switch.

Manual network settings

In your wallet, open Add network or Custom network and enter the details below. Save, then switch to LiteForge.

Network name
LitVM LiteForge
Chain ID
4441
RPC URL (HTTP)
https://liteforge.rpc.caldera.xyz/http
Currency symbol
zkLTC
Testnet assets
LitVM testnet portal

The LitVM portal provides gas and testnet asset tools. zkLTC from a faucet pays network fees and can be deposited as collateral. For USDC, open the Faucet, connect on LiteForge, and select Claim 10,000 USDC. Each wallet can claim once every 24 hours. The claim needs zkLTC for gas but no token approval.

04 / Read the dashboard

Market totals and your position.

The top of the dashboard shows the market's supplied USDC, borrowed USDC, available USDC liquidity, and utilization. Asset cards show current rates, the collateral cap, and borrowing limits.

Supply and borrow APR
Annualized interest rates that change with utilization. APR is not a guaranteed compounded return.
Max. borrow LTV
The borrowing limit as a percentage of collateral value. LTV means loan-to-value.
Liquidation LTV
The debt-to-collateral threshold above which a position is eligible for liquidation. It is separate from the limit for new borrowing.
Your position
Your supplied USDC, USDC debt, and deposited zkLTC. Wallet balances are separate from funds deposited in the market.
Additional borrowing power
The additional USDC your collateral can support at current prices. Actual borrowing also depends on available liquidity and minimum borrowing requirements.
Liquidation debt threshold
The USDC debt level above which your current collateral is eligible for liquidation. Prices and interest can change your position's risk.

Review the live values in the dashboard before submitting a transaction. Market parameters can change.

05 / Supply, borrow, and repay

Choose an action.

The Manage position panel has three groups: Supply, Borrow, and Collateral. Each contains two actions. The asset-card buttons select an action and take you to the amount field.

Percentage buttons use the amount currently available for the selected action. They account for wallet balances, debt, collateral requirements, market liquidity, and minimum loan size. Unavailable shortcuts are disabled. For zkLTC deposits, Max also leaves an estimated network-fee budget in your wallet. Balances, prices, and fees are checked again before submission.

Max is an action limit, not a recommended borrowing amount. Borrowing at the limit leaves no room for further borrowing if prices fall or interest accrues. Leave collateral headroom and review your position regularly.

Supply USDC

  1. Open the Supply group. Enter the USDC amount and review the supply APR.
  2. If Approve USDC appears, approve the entered amount in your wallet. Wait for confirmation, then select Supply USDC and confirm the deposit separately.
  3. Check Your position after confirmation. A deposit repays any existing USDC debt first. Only the remaining supplied balance earns interest.

Withdraw supplied USDC

  1. Choose Supply, then Withdraw. Enter an amount within your supplied balance and the market's available USDC liquidity.
  2. Select Withdraw USDC and confirm in your wallet. This action redeems your supplied USDC; it does not open a loan.

Deposit zkLTC collateral

  1. Choose Collateral, then Deposit. Enter an amount of native zkLTC, leaving some in your wallet for network fees.
  2. Select Deposit collateral and confirm in your wallet. No token approval or wrapping is required. The deposit adds collateral without borrowing USDC.

Borrow USDC

  1. Deposit zkLTC as collateral, then open the Borrow group. Supplied USDC is not collateral in this market. Review your borrowing power, available liquidity, and borrow APR.
  2. Enter the total USDC you want to receive. Your supplied USDC is withdrawn first; only the excess becomes debt. The preview shows both portions, and one transaction completes the withdrawal and loan. The full amount must be available in market liquidity.
  3. Review the withdrawal and new borrowing amounts, then confirm in your wallet. Interest accrues only on the debt. Borrowing near the limit leaves less room for price changes and accrued interest.

Repay USDC debt

  1. Choose Borrow, then Repay. Enter an amount of USDC from your wallet and approve that amount if requested.
  2. After approval, select Repay USDC and confirm the repayment. Interest continues to accrue until the transaction is processed.
  3. Review the remaining debt. A partial repayment leaves debt outstanding. An amount above the debt becomes supplied USDC.

Withdraw zkLTC collateral

  1. Choose Collateral, then Withdraw. Enter an amount that leaves enough collateral to support any remaining debt under the borrowing limit.
  2. Select Withdraw collateral and confirm in your wallet. Repaying debt can free more collateral for withdrawal.

USDC approval and a lending action are separate transactions. Approval gives the market permission to transfer the entered amount. It does not supply USDC or repay debt on its own.

06 / Protocol infrastructure

From your wallet to the market.

Lithium's lending state lives in smart contracts on LitVM LiteForge. The website reads that state and prepares actions. Your wallet signs transactions, and the network executes them against the market's rules.

A transaction through LithiumYou sign. The market executes.
InterfacePrepares the request
Your walletReview and sign
RPC providerSubmits to the network
LitVM LiteForgeEVM execution
DIA adaptersValidated prices
Lithium marketProxy + lending implementation
Position balancesCollateral checksAsset transfers
Transaction receiptCheck the outcome in your wallet or explorer
The interface also reads and simulates through RPC. Private keys stay with your wallet; deposited assets and position state are held by the market contract. Upgrade permissions are described under Security and controls.
Lending engine
Based on Compound III's Comet model. USDC is the asset supplied and borrowed, while native zkLTC secures loans. Interest accrues on supplied USDC and outstanding USDC debt over time.
Market proxy
The market address is an upgradeable proxy. It holds the position state and delegates lending operations to an implementation. An extension supplies additional account and permission functions. An authorized upgrade can change the implementation while retaining the market address.
RPC and data
The app reads balances, rates, and transaction status from LiteForge. Network connection outages or delayed responses can temporarily interrupt the interface without changing your onchain position.
Wallet connection
Connect through Reown and approve transactions in your wallet. Connecting does not move funds or authorize lending actions. Lithium does not receive your wallet's private keys.
Network execution
LiteForge is the LitVM testnet, chain 4441. LitVM documents Arbitrum Orbit with Nitro for EVM execution and Caldera for chain infrastructure and RPC services. Network availability and transaction ordering are dependencies of the lending market.
Explorer and history
The LiteForge explorer provides an external view of contracts and transactions. The dashboard reads positions from the chain; its Activity panel only lists transactions from the current session.

Contracts behind the market

The market and token addresses are listed under Assets and contracts. These contracts provide the implementation, extension, and upgrade control for the current testnet market.

07 / Oracles and pricing

How collateral and debt are valued.

The market uses DIA's LTC/USD and USDC/USD feeds. Lithium's adapters validate each source response and normalize it to eight decimals before the lending engine uses the price.

The current adapters accept prices up to one hour old. They reject non-positive prices, missing or future timestamps, stale updates, incomplete rounds, and values that become zero during decimal normalization.

The price pathA price becomes a lending limit.
DIA feedsLTC/USD + USDC/USD
Lithium adaptersCheck price, round, and ageNormalize to 8 decimals
Lending engineValue collateral and debt
Invalid price? The call stops.Price-dependent actions revert when a required feed fails validation.
Borrowing power
zkLTC collateral is valued with LTC/USD, then converted into base-token units using USDC/USD and the borrowing factor. The calculation uses both prices rather than assuming a fixed one-dollar USDC price.
Feed updates
DIA documents a one-hour heartbeat, with price-deviation triggers of 0.5% for stablecoins and 1% for other assets. Those triggers control feed updates; they are not limits on how far prices may move.
Stale or unavailable data
Price-dependent contract operations revert when a required price fails validation. This can affect borrowing, collateral withdrawals against debt, liquidation, and collateral sales. Supplying, repaying, and adding collateral do not require fresh prices, but still depend on pause status and the other action checks.
Availability tradeoff
The one-hour age limit is Lithium's acceptance rule. A late oracle update can temporarily stop price-dependent actions. Freshness checks do not prove that a reported price is economically correct.
Test-token valuation
The market values lithUSDC using the USDC/USD feed. lithUSDC is a mintable test token, not a dollar-backed stablecoin. The price shown does not give it a dollar redemption right.

Price adapter addresses

08 / Security and controls

Protections and trust assumptions.

Lithium has not received an independent security audit. Audits of Compound III do not cover this market.

Contract protections

  • Position permissions. Withdrawals and transfers from another account require that account's authorization. Borrowing and collateral withdrawals must satisfy the market's collateral checks.
  • Collateral requirements. Your borrowing power depends on the zkLTC deposited in your position and its current oracle value. Withdrawals must leave enough collateral to support any remaining debt.
  • Limits and prices. The native collateral cap, minimum borrowing amount, collateral factors, and oracle checks constrain operations. The current testnet market has no aggregate USDC supply or borrow cap.

Wallet and interface checks

Review the account, network, asset, and amount in your wallet before confirming. USDC approval requests are limited to the entered amount. Approval and the lending action require separate confirmations.

Prices, liquidity, and your position can change before a transaction is confirmed. A token approval gives the approved contract spending permission until that allowance is spent or revoked.

Who can change the market

The current testnet governor, pause guardian, proxy upgrade owner, and test-token owner are assigned to the same externally owned wallet. The upgrade path will be protected by a multisignature wallet and timelock.

Governor and guardian
Either can set or clear pauses for supply, transfer, withdrawal, absorption, and collateral purchases. Supply pauses also prevent repayment and native collateral deposits. Withdrawal pauses affect both borrowing and withdrawals.
Proxy owner
Can replace the market implementation through the ProxyAdmin contract. The proxy address can stay the same while its behavior changes. Non-custodial wallet signing does not remove upgrade risk.
Reserve withdrawals
The governor can withdraw base-token reserves within the contract's reserve checks. Reserves are distinct from the amount of USDC immediately available for withdrawal or borrowing.
Test-token owner
Can mint additional lithUSDC for testing. Anyone can also claim tokens from the faucet.

Infrastructure and wallet risks

Contract checks depend on the surrounding system: oracle data, RPC responses, wallet software, frontend delivery, network execution, and any bridge used to obtain assets. A compromised website can display a misleading transaction request. Review the network, recipient contract, asset, and amount in your wallet before signing.

Connecting services may process wallet addresses, network requests, and connection metadata. Onchain transactions are public. See the privacy policy for the interface's data practices.

Reporting a concern

Use Lithium's official Discord or X account to request a private reporting channel. Keep exploit details out of public posts. Never share a seed phrase or private key.

09 / Risk and liquidation

Liquidation and other risks.

A falling zkLTC price, a changing USDC price, or accrued interest can increase your loan-to-value ratio. Debt above the liquidation threshold makes a position eligible for liquidation.

Liquidation
The protocol can absorb an eligible position's collateral and debt. Any remaining USDC credit is calculated using the collateral's liquidation factor. A borrower can lose collateral.
Collateral sales and reserves
Absorption and collateral sales are separate operations. Absorbed zkLTC becomes protocol inventory. When reserves are below the target, buyers can exchange USDC for that inventory at the contract's quoted discount. Sales replenish reserves, but do not guarantee that liquidation losses will be recovered.
Collateral withdrawals
Remaining collateral must support outstanding debt under the borrowing limit. Being below the liquidation threshold alone does not make a withdrawal available.
Liquidity and interest
USDC withdrawals and new loans require available liquidity. Rates vary with utilization. Interest can continue to accrue when new borrowing or withdrawals are unavailable.
Collateral price exposure
The LTC/USD feed values zkLTC as LTC. It does not independently measure zkLTC's market value or verify any bridge backing. A fresh price cannot protect against a failure elsewhere in that relationship.
Testnet assets
This market uses mintable lithUSDC on LiteForge. Testnet balances and displayed dollar values do not establish redeemable dollar claims or predict returns in a live market.

Collateral, price checks, and a borrowing buffer do not eliminate risk. See Oracles and pricing for price failures and Security and controls for pause powers, upgrades, and infrastructure dependencies.

10 / Transactions and help

Check the transaction status.

Activity loads your connected wallet's confirmed Lithium activity from the blockchain, including transactions made in another browser. Use Load earlier activity for older records. Pending requests submitted here are also tracked locally. Explorer links show each transaction in detail.

Network fees and native value
USDC actions can show zero zkLTC sent in your wallet because they do not transfer native tokens with the contract call. Network fees are separate and still paid in zkLTC. A native collateral deposit sends the entered zkLTC amount, with network fees charged in addition.
Pending
The transaction was submitted and is waiting for confirmation. A pending transaction is not a completed lending action.
Confirmed or failed
A confirmed approval still requires a separate lending transaction. If a lending transaction fails, review the current balances and limits before trying again.
Check explorer
Open the transaction link to verify its outcome before submitting another transaction. A delayed or replaced transaction may need further review.
Market or position unavailable
Use Retry when market data or your position cannot be loaded. Transactions require both to be available.
Prices unavailable
Borrowing and collateral withdrawals against debt require valid prices. Supplying, repaying, and adding collateral may still be available when they are not paused.
No USDC liquidity
New borrowing and USDC withdrawals depend on USDC available in the market. Depositing zkLTC adds collateral, not USDC liquidity.
Action paused
The selected action is temporarily unavailable. Refreshing the page or changing wallets does not remove a market pause.
Wallet request declined
The app did not submit a new action. Review the amount and action before trying again.
Return to the dashboard