When you buy a YES token on Polymarket for $0.65, you own a financial instrument with a real market price, a known resolution date, and a bounded payoff between $0.00 and $1.00. But until now, that instrument has been inert. It sits in your wallet doing nothing until the market resolves.
Varla treats prediction market positions as first-class collateral — the same way Aave treats ETH or Compound treats wBTC. You deposit positions, the protocol computes their value, and you borrow stablecoins against them. This post explains exactly how that works, from the token standard to the risk parameters.
What is a prediction market position, technically?
Polymarket uses the Gnosis Conditional Token Framework (CTF), which represents market outcomes as ERC1155 tokens. For every market, the CTF creates two tokens — a YES token and a NO token — each identified by a unique positionId. The YES and NO prices always sum to approximately $1.00.
There are two structural variants:
- Binary markets (regular CTF): a single condition with two outcomes. “Will ETH hit $5K by June?” produces one YES token and one NO token.
- Multi-outcome markets (NegRisk Adapter): a single market with many possible outcomes. “Who will win the 2028 election?” might have 8 candidate tokens. These use Polymarket’s NegRisk adapter, which wraps the CTF into a winner-take-all structure.
In both cases, the tokens are ERC1155 — a multi-token standard where each positionId maps to a distinct outcome. The price range is bounded: $0.00 to $1.00, with settlement always at exactly 0 or 1.
This bounded payoff structure is what makes prediction markets interesting as collateral. Unlike a perpetual position that can go to zero with no floor, a YES token at $0.65 has a known worst-case loss of $0.65. The risk is quantifiable.
How Varla turns positions into collateral
The deposit flow is straightforward. A user calls deposit() on VarlaCore with an array of position IDs and amounts. The contract transfers the ERC1155 tokens from the user’s wallet into Core’s custody via safeTransferFrom, then tracks per-user position balances.
But before accepting a deposit, Core checks with the oracle: is this position valid collateral right now?
The oracle enforces several gates:
- Not stale: the price must have been updated within the last 15 minutes (governance-configurable).
- Sufficient liquidity: the orderbook must have at least $10,000 in depth. Thin markets aren’t safe collateral.
- Not manually invalidated: governance can kill-switch a position if something goes wrong with the underlying market.
- Not in early-closure window: deposits are blocked in the final 7 days before a market resolves (more on this below).
Once deposited, positions contribute to a single portfolio value. This is the cross-margin model — up to 20 distinct positions combine into one account, one health factor, one borrowing limit.
How positions are priced
Varla uses a push-based oracle. An authorized off-chain service reads Polymarket’s orderbook data and pushes prices to the VarlaOracle contract approximately every 5 minutes. Each update includes four data points per position:
- Spot price: current mid-market price (8 decimal places, where 1e8 = $1.00)
- TWAP: 1-hour time-weighted average price
- Liquidity: total orderbook depth in USDC
- Timestamp: when the update was pushed
The protocol always uses the conservative price: min(spot, twap). This is a deliberate design choice — by taking the lower of the two, the system resists short-term price manipulation. If someone temporarily pumps a market’s spot price, the TWAP lags behind and the conservative price stays anchored.
When a price goes stale (no update for more than 15 minutes), the position’s value drops to zero for accounting purposes. The user’s borrowing power decreases, and if their health factor drops below 1.0, they become liquidatable — but not immediately. The protocol enforces a grace period after the oracle recovers from staleness, giving users time to react before liquidators can act.
Tiered LTV — not all positions are equal
Not every prediction market carries the same risk. A $500M election market with deep liquidity is fundamentally different from a $50K niche market with thin orderbooks. Varla accounts for this through tiered Loan-to-Value ratios.
The oracle assigns each position to one of three risk tiers:
| Tier | LTV | Example |
|---|---|---|
| Conservative | 80% | High-liquidity, long-dated markets (elections, Fed decisions) |
| Moderate | 65% | Medium-liquidity markets with reasonable depth |
| Risk | 50% | Lower-liquidity or more volatile markets |
The math is simple: if you deposit $1,000 of collateral in Conservative-tier positions, your maximum borrowing power is $800. In Risk-tier positions, it’s $500. And because Varla uses cross-margin, a mixed portfolio blends these: $500 Conservative + $500 Risk = ($500 × 80%) + ($500 × 50%) = $650 total borrowing power.
Governance can also set per-position LTV overrides — but only to lower the LTV, never to raise it. This is a safety constraint enforced at the contract level.
What happens as markets approach resolution
Prediction markets have a unique property that most DeFi collateral doesn’t: they expire. Every market has a resolution date, and as that date approaches, the risk profile of the position changes dramatically. A market at 65 cents with 6 months to go is very different from the same market at 65 cents with 2 days to go.
Varla handles this with two automatic decay mechanisms:
Early-closure LTV decay. In the final 7 days before a market resolves (configurable per position), the LTV decays linearly to zero. A Conservative position at 80% LTV starts losing borrowing power 7 days out, reaching 0% at the resolution timestamp. After resolution, the LTV snaps back — resolved positions at their final price (0 or 1) are stable collateral.
This decay also blocks new deposits during the window. You can’t deposit a nearly-resolved position and borrow against it at full LTV.
Low-liquidity LTV decay. If a market’s orderbook depth drops below $10,000, a separate timer starts. There’s a grace period first (24 hours for Conservative, 12 hours for Moderate, 6 hours for Risk), giving the market time to recover. If liquidity doesn’t return, the LTV decays linearly to zero over 48 hours.
The combination means that Varla’s risk parameters are adaptive. They respond to how prediction markets actually behave — expiring on a date, with liquidity that can thin out as interest fades.
Cross-margin — why portfolio-level accounting matters
In an isolated-position lending model (like Gondorfi on Morpho), each position is a separate loan. If you have 5 positions, you have 5 independent health factors. A price drop in one position triggers liquidation on that loan, even if your other 4 positions are doing fine.
Varla computes one health factor across your entire portfolio. The accounting loop walks through every deposited position, prices it via the oracle, applies the appropriate LTV, and sums the result. Your total collateral value is a single number, and your health factor is collateralValue / debt.
This is the same principle as portfolio margin in traditional finance. Diversification isn’t just a talking point — it’s enforced in the accounting. If you hold both YES and NO tokens in different markets, a price swing in one direction might decrease one position’s value while increasing another’s. The cross-margin model captures this naturally.
For prediction market traders who hold positions across multiple markets — elections, economic indicators, crypto events — this is a significant improvement over per-position loans. Your portfolio works as one.
The bottom line
Prediction market positions aren’t just bets. They’re ERC1155 tokens with observable prices, bounded payoffs, known resolution dates, and quantifiable risk. The infrastructure to treat them as proper financial collateral — with tiered risk, adaptive LTV, conservative pricing, and cross-margin accounting — just didn’t exist until now.
That’s what Varla builds.