Polyark Documentation

Polyark is a prediction market fund marketplace built on Polymarket V2 and Ethereum. Skilled traders deploy ERC-4626 vaults, pool investor capital, trade Polymarket on investors' behalf, and earn performance fees enforced by smart contracts — not trust.

What is Polyark

Polyark is on-chain fund infrastructure for Polymarket prediction market traders. It solves a fundamental problem: skilled traders are capped by their own capital, while investors have no trustless way to allocate to prediction market strategies.

Polyark lets a trader deploy an ERC-4626 smart contract vault, set performance fees, and accept USDC deposits from investors. The vault's smart contract enforces that all capital can only flow to Polymarket — the manager cannot withdraw funds to their own wallet.

Investors receive ERC-20 vault shares representing their proportional ownership. They can withdraw at the current NAV at any time, subject to an optional timelock that protects against disruptive large withdrawals.

How it works

1. Manager deploys vault

Trader calls PolyarkFactory, sets fee, drawdown limit, and timelock. Gets a vault address instantly.

2. Investors deposit

Approve USDC, call deposit(). Receive vault shares at current NAV. No minimum size.

3. Manager trades

Execute Polymarket trades via the vault. NAV updates as positions settle. Fees accrue on profits above HWM.

The vault's execute() function is the only way to move USDC out — and it only works with addresses on a manager-controlled whitelist. On mainnet that whitelist contains Polymarket's CTF Exchange V2 and Neg Risk Exchange V2 contracts. Nothing else.

Architecture

Polyark consists of four on-chain components and two off-chain services.

Investor: Getting started

You need MetaMask and USDC on Ethereum Sepolia (testnet) or Polygon (mainnet, coming soon).

  1. Go to investor.polyark.xyz and connect MetaMask.
  2. On testnet, click Mint USDC in the Portfolio tab to get free test tokens.
  3. Browse vaults on the home screen. Click any vault to see NAV history, AUM, and manager stats.
  4. Select an amount and click Deposit. Approve the USDC spend in MetaMask, then confirm the deposit transaction.

Investing in a vault

When you deposit USDC, the vault mints vault shares at the current NAV per share. If NAV is 1.25 and you deposit 100 USDC, you receive 80 shares (100 ÷ 1.25 = 80).

Your portfolio value is always: your shares × current NAV per share. As the manager makes profitable trades, NAV rises and your portfolio grows. If trades lose money, NAV falls.

There are no lock-up periods. You can request withdrawal at any time. The vault's optional timelock delays when USDC is released — not when you can request it.

Withdrawing

Click Withdraw on any vault you hold shares in. Enter shares to redeem or a USDC amount. The vault burns your shares and releases USDC at the current NAV.

If the vault has a timelock set, your withdrawal enters a queue and is claimable after the timelock expires. You can cancel a queued withdrawal at any time before claiming.

Performance fees on withdrawal: If NAV at withdrawal is above the vault's high-watermark, the manager earns a performance fee on the profit portion. This is deducted from the USDC you receive.

NAV (Net Asset Value) is the price of one vault share in USDC — the vault's total value divided by total shares outstanding.

Vault value includes USDC sitting in the vault plus the current market value of any open Polymarket positions. Open positions are valued using Polymarket orderbook prices, fetched by the oracle service and posted on-chain every few minutes.

During oracle downtime the displayed NAV may be stale. Withdrawals and deposits always use the most recently posted on-chain NAV.

Safety mechanisms

Manager: Getting started

You need an Ethereum wallet with ETH for gas (Sepolia ETH on testnet, POL on Polygon mainnet).

  1. Go to manager.polyark.xyz and connect MetaMask.
  2. Click Deploy Vault and fill in your parameters.
  3. Confirm the transaction. Your vault is live immediately — no approval required.
  4. Share your vault address. Investors can find it at investor.polyark.xyz.

Deploying a vault

The factory deploys a minimal proxy (EIP-1167 clone) of the vault implementation. Gas cost is typically 300–400k on Ethereum.

You set four parameters at deploy time: vault name (permanent), performance fee, drawdown kill-switch threshold, and withdrawal timelock duration. All except the name can be updated later.

Vault parameters explained

NAV per share

The current price of one vault share in USDC. Starts at 1.0. This is the primary performance metric investors watch.

AUM (Assets Under Management)

Total USDC currently inside the vault. Decreases when buying Polymarket positions, increases when positions are sold back.

Drawdown threshold

How far NAV can fall from its all-time peak before the kill switch fires automatically. Expressed in basis points (2000 bps = 20%). Set this to match your strategy's expected variance — too tight and normal fluctuations trigger it; too loose and investors take on excessive unprotected risk.

High-watermark (HWM)

The highest NAV the vault has ever reached. Performance fees only accrue on gains above this level. If NAV drops from 1.3 to 0.9 and recovers to 1.2, no fee is charged until NAV exceeds 1.3 again. This is the standard hedge fund fee model.

Accrued fees

Performance fees that have built up from profitable redemptions but haven't been claimed yet. Excluded from NAV so they don't inflate other investors' balances.

Executing trades

Trades are executed via the Execute Trade tab. On mainnet, generate calldata using the Polymarket CLOB SDK:

import { ClobClient } from "@polymarket/clob-client-v2";
const clobClient = new ClobClient(host, chainId, signer);
const order = await clobClient.createOrder({ tokenID, price, size, side });
const calldata = await clobClient.encodeMatchOrder(order);
// paste calldata into Execute Trade → Target: CTF Exchange V2

Before your first trade, click Approve Targets to grant exchange contracts USDC spending permission.

Trading is blocked while the kill switch is active. Lift it from the Overview tab first.

Managing fees

Performance fees are held as accruedPerfFees inside the vault. Click Claim Fees in the Overview tab to transfer them to your feeRecipient address.

Fee increases have a 7-day timelock. Fee decreases are immediate. After the timelock, anyone can call applyPendingFee() to activate the new fee.

Kill switch

The kill switch pauses all trading while leaving withdrawals fully operational.

Whitelist management

Only whitelisted addresses can be called via execute(). Maximum 20 targets per vault.

Smart contracts (Sepolia testnet)

ContractAddressPurpose
PolyarkFactory0x822E1475452f0AAbd31C6A8093B59911FFD5fEA3Vault deployer
PolyarkOracle0x956B2A45eC1Abd07D8238D44f0a880aFE4601211NAV price feed
PolymarkShareMarket0xFfAb4D1392d313e4FA048616D8Bbfd9D91b13559OTC share market
MockUSDC0x9B982BB980A4af01c94d35227282AcFe23A37305Test USDC (mintable)
MockCTFExchange0xF87c47F868D60444184f6B543a5A011Fd983F1C5Simulated exchange
Sigma Edge Vault0x2a729FdE8f3298Ff6da0269b8781c48F58a1efEAExample deployed vault

All contracts deployed on Ethereum Sepolia (chain ID 11155111). Polygon mainnet coming soon.

All contracts are verified on Etherscan. You can read and call them directly without the Polyark UI.

Security model

What the protocol guarantees

What the protocol does not guarantee

Testnet guide

Polyark is live on Ethereum Sepolia testnet. Everything works exactly as mainnet, with free tokens.

Testnet transactions have no real-world value. Use testnet to evaluate the protocol before committing real funds on mainnet.

FAQ

What is Polyark?

Polyark is on-chain fund infrastructure for Polymarket prediction market traders. It lets skilled traders deploy ERC-4626 smart contract vaults, raise capital from investors, and earn performance fees — all enforced by Ethereum smart contracts with no legal overhead or counterparty risk.

What is Polymarket?

Polymarket is a decentralized prediction market platform where users trade on the probability of real-world events — elections, economic outcomes, sports results, and more. Polyark is built on top of Polymarket: it provides the fund management layer that lets traders manage outside capital while trading on Polymarket.

How is Polyark different from copy trading?

Copy trading mirrors a trader's positions in real time in your own account. With Polyark, you deposit USDC into a shared vault that the manager trades on your behalf — more like a hedge fund than a copy service. You receive vault shares, earn proportional returns, and the smart contract enforces that the manager can only trade on Polymarket. No separate copy infrastructure required.

Can the manager steal my funds?

No. The vault's execute() function — the only way to move USDC out — only accepts calls to whitelisted addresses. On mainnet those are Polymarket's own exchange contracts. The manager can make losing trades, but cannot transfer vault funds to their own wallet or any arbitrary address. This is enforced at the EVM level, not by policy.

What blockchain does Polyark run on?

Currently Ethereum Sepolia testnet. Polygon mainnet is the planned production network — Polymarket V2 runs on Polygon, so the vaults will deploy there to minimise bridging complexity. Mainnet launch is pending final contract address confirmation and security review.

What is an ERC-4626 vault?

ERC-4626 is an Ethereum token standard that defines a common interface for yield-bearing vaults — how deposits, withdrawals, share minting, and NAV calculation work. Using ERC-4626 means any DeFi protocol, wallet, or analytics tool that supports the standard can interact with Polyark vaults without custom integration.

What fees does Polyark charge?

Polyark itself charges no protocol fee. Each vault manager sets their own performance fee (typically 10–30%). This fee is charged only on profitable withdrawals, only on gains above the high-watermark. There are no management fees, deposit fees, or withdrawal fees. All fees go directly to the vault manager.

How are performance fees calculated?

Only on redemptions, and only on gains above the high-watermark (HWM). If a vault's HWM is 1.5 NAV and you deposited at 1.2, you pay no performance fee until NAV exceeds 1.5. If NAV drops to 1.0 and recovers to 1.4, still no fee — the HWM is still 1.5. The manager must generate new all-time highs to earn fees.

What happens when the kill switch activates?

All trading pauses immediately. Withdrawals continue working normally — investors can exit at the current (reduced) NAV. The manager must manually lift the kill switch to resume trading. If they don't, the vault sits idle and investors continue withdrawing until it's empty.

Can I withdraw at any time?

Yes — you can request a withdrawal at any time. If the vault has a timelock set (typically 24–72 hours), your USDC is released after the delay. This is not a lock-up — it prevents a single large withdrawal from forcing the manager to instantly close all positions. You can cancel a withdrawal request before the timelock expires.

What is NAV and how is it calculated?

NAV (Net Asset Value) is the price of one vault share in USDC. It equals total vault value divided by total shares outstanding. Total value includes USDC in the vault plus the current market value of open Polymarket positions. NAV starts at 1.0 and changes as the manager trades.

Is Polyark audited?

The smart contracts have not yet been formally audited by a third-party security firm — this is planned before mainnet launch. All contracts are open-source and verified on Etherscan. We recommend using testnet to evaluate the protocol before committing real funds.

What token do I need to use Polyark?

USDC is the only deposit/withdrawal currency. You also need a small amount of ETH (Sepolia testnet) or POL (Polygon mainnet) for transaction gas fees. Vault shares are ERC-20 tokens that appear in your wallet and can be redeemed for USDC through the vault at any time.

How is Polyark different from a traditional hedge fund?

Traditional hedge funds require legal incorporation, accredited investor checks, subscription agreements, and trust in the manager's custodianship of assets. Polyark replaces all of that with smart contracts: the vault is self-custodied (you hold the shares), the fee model is hardcoded, the manager's trading scope is restricted by code, and everything is auditable on-chain in real time.

When is mainnet launching?

The contracts are deployment-ready. Polygon mainnet launch requires finalising Polymarket V2 contract addresses, funding the deployer wallet with POL, and completing a security review. Join the waitlist at polyark.xyz to be notified.