For the complete documentation index, see llms.txt. This page is also available as Markdown.

Contract Addresses

Canonical list of Dimes Multiply contract and token addresses on Polygon mainnet. Use these to verify on Polygonscan before approving any spend.

Multiply's on-chain surface is a single vault contract per environment. All user funds flow through the vault — pUSD in, position tokens in, pUSD out. Verify these on Polygonscan before allowlisting them. The vault address is also on every quote response (polygon_vault_contract_address) and from GET /prediction-markets/contract-info.


Production

Real pUSD. Real Polymarket CTF (Conditional Token Framework). Live positions.

Contract
Address
Purpose

Vault

LeveragedPredictionVaultV1

Polymarket CTF

Polymarket Conditional Token Framework

Chain: Polygon mainnet (EVM chain ID 137).

The vault is the only contract you approve pUSD against. It never holds user funds for longer than it takes to execute an open/close against Polymarket, and it cannot move your pUSD for any purpose other than the position you authorize via signed quote parameters.


Sandbox

Test pUSD. Fake Polymarket CTF. No real funds at risk. See Sandbox for how to get access.

Contract
Address
Purpose

Vault

LeveragedPredictionVaultV1

Test pUSD

Minted to your wallet on request

Fake CTF

Fake Conditional Token Framework

Chain: Polygon mainnet (EVM chain ID 137).

The sandbox vault runs the same LeveragedPredictionVaultV1 contract as production — same ABI, same signature scheme, same position lifecycle. The only differences are the addresses and that the tokens it pulls and settles against are worthless outside the sandbox.


Verifying a quote signature

Every quote returned by POST /prediction-markets/quotes is signed by a server-side authority key. Before you submit the quote on-chain, recover the signer from the signature and compare it to the authority address in GET /prediction-markets/contract-info. Any quote where the recovered signer does not match must be rejected — it has been tampered with in transit.

See API Reference — Verifying a quote signature for the exact message hash layout and a working ethers.js example.


Dynamic lookup


Getting help

Find us on the Telegram link at dimes.fi if you spot an address discrepancy, need the current sandbox contracts, or want us to sign off on your contract allowlist before you ship.

Last updated