Borrowing
Borrowing on PredMart lets you unlock the value of your Polymarket shares without selling them. Deposit shares as collateral, borrow USDC from the lending pool, and maintain your prediction market exposure.
How Borrowing Works: The Big Picture
- Deposit collateral: Transfer your Polymarket shares (CTF tokens) to the lending pool contract.
- Borrow USDC: Request a USDC loan up to your maximum borrowing power, determined by your collateral value and the LTV ratio.
- Use the USDC: Do whatever you want with the borrowed USDC — buy more shares, transfer to another protocol, or hold it.
- Monitor your position: Keep an eye on your health factor. If your collateral price drops, your health factor decreases, and you may need to add more collateral or repay some debt.
- Repay the loan: Return the borrowed USDC (plus accrued interest) to the pool.
- Withdraw collateral: Once your debt is fully repaid (or reduced sufficiently), withdraw your Polymarket shares back to your wallet.
The Meta-Transaction (Relay) System
One of PredMart's unique design features is its meta-transaction relay system for borrows and withdrawals. Unlike simple operations like depositing collateral or repaying debt (which you submit directly to the blockchain), borrowing and withdrawing require oracle-signed price data to calculate your LTV and health factor.
Here's how it works:
-
You sign an intent: Instead of submitting a transaction directly, you sign an EIP-712 typed data message called a "borrow intent" or "withdraw intent." This message contains your wallet address, the token ID, the amount, a nonce (to prevent replay attacks), and a deadline. PredMart uses separate nonces for borrow, withdraw, and leverage operations — this prevents cross-operation replay attacks where a signed borrow intent could be misused as a withdraw intent.
-
PredMart relays the transaction: PredMart's backend receives your signed intent, computes the oracle price from Polymarket's CLOB, signs the price data with the oracle key, and submits the full transaction to the blockchain — your signed intent + the oracle-signed price.
-
The contract verifies both signatures: The smart contract verifies (a) that you authorized the borrow via your signature, and (b) that the price data is genuinely from the oracle and is recent (freshness is enforced on-chain).
-
No gas for you: PredMart's relayer pays the Polygon gas. You sign a message (free) and pay only a small flat operation fee in USDC, deducted from the borrow — see Borrowing Fees below.
This relay system is essential because it prevents price manipulation. If users could submit their own price data, they could claim their collateral is worth more than it actually is and borrow excessively. By having the oracle sign the price at relay time, the system ensures that only real, current market prices are used.
Depositing Collateral
What Can Be Used as Collateral?
PredMart accepts Polymarket outcome shares (CTF ERC-1155 tokens from 0x4D97DCd97eC945f40cF65F87097ACe5EA0476045) as collateral, but not every market is eligible — low-volume or thin-liquidity markets are excluded.
Even on eligible markets, your borrowing power is limited by:
- The per-market cap: Markets with thin orderbooks or unstable prices have lower caps (see Oracle Pricing & Borrow Caps).
- The token's price: Lower-priced tokens have lower LTV ratios, resulting in less borrowing power per dollar of collateral.
How to Deposit
-
Approve the CTF contract (one-time): Grant PredMart's lending pool permission to transfer your CTF tokens via
setApprovalForAll. This is a one-time approval that covers all token IDs. -
Select a market and token: On PredMart's interface, navigate to the market whose shares you want to deposit.
-
Enter the deposit amount: Specify how many shares you want to deposit.
-
Confirm the transaction: The
depositCollateralfunction is called directly on the blockchain. Your shares are transferred from your wallet to the lending pool contract.
Below is the collateral deposit interface. In this example, the user is depositing 1 share of a "Will Ron DeSantis win the 2028 Republican presidential nomination?" No outcome. The panel shows the collateral value ($0.97 at 97.0 cents per share) and confirms there is no fee for depositing collateral.

Collateral Tracking
Each position is tracked per-user, per-token. If you deposit shares from multiple markets, you have separate positions for each token ID. You can add more collateral to an existing position at any time by calling depositCollateral again with the same token ID.
Understanding Your Borrowing Power
The LTV
Your maximum borrowable amount is determined by the Loan-to-Value (LTV) ratio. PredMart uses a flat 80% LTV at all share prices — you can always borrow up to 80% of your collateral value, giving you up to 5x leverage. For current LTV and leverage values, see Protocol Constants.
Additional Borrow Constraints
Even if your LTV calculation allows a certain borrow amount, there are additional constraints:
- Pool liquidity: You cannot borrow more than the available USDC in the pool.
- Per-token borrow cap: Total borrowing against any single token is limited — see Protocol Constants.
- Per-market cap: A liquidity-based ceiling that varies by market — see Oracle Pricing & Borrow Caps.
- Minimum borrow: See Protocol Constants.
- Oracle price: The price is the average price to sell $1,000 of shares into the order book (manipulation-resistant). During rapid crashes, this naturally moves with the market.
Taking a Loan
Step-by-Step Process
-
Ensure collateral is deposited: You must have collateral deposited before you can borrow.
-
Request a borrow: On the PredMart interface, enter the amount of USDC you wish to borrow.
-
Sign the borrow intent: Your wallet will present an EIP-712 message for you to sign. This message contains: - Your wallet address (borrower) - The token ID of your collateral - The borrow amount - A nonce (prevents replay attacks) - A deadline (the intent expires after 5 minutes)
-
PredMart relays the transaction: The backend receives your signed intent, signs the current price with the oracle key, and submits
borrowViaRelay(intent, userSignature, priceData)to the blockchain. -
USDC is transferred: The smart contract verifies all signatures and constraints, then transfers the borrowed USDC directly to your wallet.
Below is the borrow interface. The user has 23.81 shares deposited as collateral for "Will NVIDIA be the largest company in the world by market cap on June 30?" (Yes outcome) with an existing $14.02 debt and health factor of 1.15. They are borrowing an additional $0.065664 USDC. The panel shows the real-time impact: collateral value ($19.88 at 83.5 cents/share), the new debt ($14.02 to $14.09), LTV change (70.5% to 70.9%), the current borrow APR (5.21%), the health factor change (1.15 to 1.14), the liquidation price ($0.76), and the remaining market cap capacity ($236.82).

What the Contract Checks
When processing a borrow, the smart contract verifies all of the following:
- The protocol is not paused
- The market is not resolved
- The user's signature is valid
- The deadline has not passed
- The nonce is correct (hasn't been used before)
- The oracle's price signature is valid
- The price data is recent (freshness is enforced on-chain)
- The price is within valid range (0 to 1, exclusive)
- The resulting debt does not exceed LTV × collateral value
- The borrow amount meets the minimum ($1 USDC)
- The total borrowing for this token does not exceed the pool cap
- The total borrowing does not exceed the oracle's maxBorrow
- There is sufficient liquidity in the pool
If any of these checks fail, the transaction reverts and no USDC is transferred.
Managing Your Position
Debt and Interest
Once you borrow USDC, your debt grows over time due to interest. The rate is determined by pool utilization (see Interest Rates). Your debt is tracked via borrow shares — as interest accrues, each share represents more debt (analogous to pUSDC vault shares for lenders, but in reverse).
Health Factor
Your health factor is the most important metric to monitor as a borrower. It represents the safety of your position relative to liquidation:
Health Factor = (Collateral Amount × Price × Liquidation Threshold) / Debt
Where Liquidation Threshold = LTV + 5% (the liquidation buffer) — see Protocol Constants.
| Health Factor | Status |
|---|---|
| > 1.5 | Healthy — comfortable safety margin |
| 1.0 - 1.5 | Caution — monitor closely |
| < 1.0 | Liquidatable — 100% of your collateral will be seized and sold |
⚠️ Full-liquidation penalty: If your position is liquidated (HF < 1.0), 100% of your collateral is seized. After debt and the 5% liquidator fee are paid from sale proceeds, any residual USDC is retained by the lending pool — you receive $0 residual value. This is a full-liquidation model, similar to perpetual futures on Binance/Bybit/OKX. To preserve residual equity, exit your position (repay, manual flash close, or stop-loss) before your health factor crosses 1.0. See Liquidation for details.
Example: - Collateral: 10,000 shares at $0.70 - Liquidation Threshold: 85% - Debt: $4,000 - Health Factor = (10,000 × 0.70 × 0.85) / 4,000 = 5,950 / 4,000 = 1.49
This position is healthy but should be monitored. If the price drops to $0.47: - New health factor: (10,000 × 0.47 × 0.85) / 4,000 = 3,995 / 4,000 = ~1.0 - This position is now liquidatable!
How to Improve Your Health Factor
If your health factor is declining, you have several options:
- Add more collateral: Deposit additional shares to increase your collateral value.
- Repay some debt: Return USDC to the pool to reduce your outstanding debt.
- Fully repay: Pay off the entire loan to eliminate liquidation risk entirely.
Repaying Your Loan
How to Repay
- Navigate to your position on PredMart
- Switch to the Repay tab
- Enter the amount of USDC you wish to repay (you can repay partially or in full)
- Confirm the transaction — USDC is transferred from your wallet to the pool, and your borrow shares are burned
Below is the repay interface. The user is repaying 10 USDC toward their $14.02 debt. The panel shows the impact: remaining debt drops to $4.02, LTV improves dramatically from 70.5% to 20.2%, and the health factor jumps from 1.15 to 4.00 — putting the position well out of liquidation risk.

Repayment Details
- Partial repayment: You can repay any amount up to your total debt. Your borrow shares are reduced proportionally.
- Full repayment: To fully repay, you can pass the maximum uint256 value or your total debt amount. The contract will cap the repayment at your actual debt.
- Interest at repayment: Interest accrues up to the exact second of your repayment transaction. You repay your original borrow plus all accrued interest.
- No prepayment penalty: You can repay at any time with no fees beyond the accrued interest.
Repayment is Direct (No Relay)
Unlike borrowing, repayment is a direct on-chain transaction — you submit it yourself and pay the gas fee. No oracle price is needed because repayment always improves the position's health (less debt = safer).
Withdrawing Collateral
How to Withdraw
After repaying some or all of your debt, you can withdraw your collateral shares:
-
Sign a withdraw intent: Similar to borrowing, withdrawals use the relay system because the contract needs oracle-signed price data to verify that your position remains healthy after the withdrawal. The withdraw intent includes a
toaddress — the destination where your collateral shares will be sent (typically your own wallet, but you can specify any address). -
PredMart relays: The backend fetches the current price, signs it (with
maxBorrowset to 0 so the price cannot be reused for borrowing), and submits the withdrawal transaction. -
Health check: The contract ensures that after removing the collateral, your remaining position (if any) still has a health factor above 1.0.
-
Shares returned: Your Polymarket shares are transferred from the contract to the
toaddress specified in your withdraw intent.
Below is the collateral withdrawal interface. The user is withdrawing 1 share from their position. The panel shows the real-time impact: LTV increases from 70.5% to 73.6%, health factor decreases from 1.15 to 1.10, and the liquidation price remains at $0.76. This preview helps users understand exactly how removing collateral affects their position safety before confirming.

Withdrawal Constraints
- No debt remaining: If you have no debt, you can withdraw all your collateral without any restriction.
- Debt remains: If you still owe debt, you can only withdraw collateral up to the point where your health factor stays above 1.0.
Multiple Positions
You can have multiple borrowing positions simultaneously — one for each token ID. Each position is independent: separate collateral, debt, and health factor. Liquidation of one position does not affect others. This prevents a price drop in one market from cascading into unrelated positions.
Borrowing Fees
The main ongoing cost of borrowing is the interest that accrues on your outstanding debt over time. The rate is variable and depends on the pool's utilization (see Interest Rates).
Entry fee — a one-time, risk-based fee taken from your deposit when you open a borrow or leverage position. It scales with risk (higher for lower-priced shares, up to a cap) and accrues to lenders. See Protocol Constants.
Operation fee — a small flat fee on each relayed transaction (borrow, collateral withdrawal, leverage), deducted in USDC from the borrowed amount (or in collateral shares for relayed withdrawals). See Protocol Constants.
Borrow and withdraw transactions are submitted by PredMart's relayer, so you don't pay Polygon gas for them. You only pay gas for direct operations: depositing collateral, repaying debt, and approval transactions.
Next Steps
- Leveraged Trading — Learn how to use borrowed USDC to amplify your positions
- Interest Rates — Understand the interest you'll pay on your loan
- Risk Parameters — Deep dive into LTV, health factor, and liquidation threshold
- Liquidation — What happens when health factor drops below 1.0