# FAQ

This section answers common questions about how PaperMarket behaves, how it relates to Polymarket and what users can and cannot do inside the simulation.

#### Is PaperMarket connected to real money or real Polymarket accounts?

No.

PaperMarket is a simulation layer that runs entirely off chain.\
It does not hold real USDC, does not connect to user wallets and does not send any orders to Polymarket.

All balances in PaperMarket are virtual.\
They exist only inside the PaperMarket database and are used purely for paper trading.

#### Where do the prices and order books come from?

PaperMarket uses Polymarket as its only market data provider.

The backend reads:

* live order books for the relevant YES and NO tokens
* historical prices for charts

directly from Polymarket’s public APIs.\
The simulation engine then uses this data as the reference when it answers the question “what would have filled right now?”.

PaperMarket does not invent its own prices and does not try to correct Polymarket’s view of the market.

#### Can activity in PaperMarket move prices on Polymarket?

No.

PaperMarket never sends orders to Polymarket and never interacts with on chain contracts.\
All matching happens inside the simulation engine against snapshots of the Polymarket book.

The most that PaperMarket does is read public market data.\
It does not contribute liquidity, does not add or cancel orders on Polymarket and cannot influence real prices.

#### How does the virtual balance work?

Each user has a single virtual cash balance denominated in virtual dollars.

* On first use, the account is initialized with a fixed starting amount (for example 10,000 virtual dollars).
* Every simulated buy reduces the balance by the executed notional.
* Every simulated sell increases the balance by the executed notional.

If the balance becomes too low, the user can trigger a top up.\
Top up resets the virtual cash back to the starting amount. It does **not** stack on top of the existing balance and does not erase trading history.

#### Can I reset my account and delete my trading history?

PaperMarket is designed to keep a continuous track record for each simulation account.

* There is no built in “wipe everything” button in the interface.
* Top ups reset the cash level but intentionally preserve orders, trades and positions.

If a full reset is ever required, it would have to be handled explicitly by the operators of the hosted instance (for example by deleting the account from the datastore).\
The default behaviour is to keep history so that users can analyse their past decisions.

#### Does PaperMarket guarantee that simulated results will match real trading results?

No.

PaperMarket uses live Polymarket data and enforces simple risk rules, but it remains a simplified model:

* it only considers the visible state of the order book at the moment of the simulation
* it does not simulate latency, queue priority or interactions with other traders
* it does not model incentives, slippage beyond visible depth or any execution edge cases on chain

A strong track record in PaperMarket is useful as a learning tool but is not a guarantee of future performance on real Polymarket markets.

#### Can other users see my simulated trades or PnL?

No.

Simulation state is isolated per user:

* each user has their own virtual balance, orders, trades and positions
* API endpoints that read account data require authentication and only return data for the authenticated user

PaperMarket does not expose per user trading histories via public APIs and does not share individual simulation accounts with other traders or with Polymarket.

Aggregated, anonymised metrics may be computed in the future, but individual records remain tied to the user’s private account.

#### What personal data does PaperMarket store?

PaperMarket uses a minimal identity model.

For each account it stores:

* an internal user id
* a login email
* a password hash (not the plain password)
* simulation data (virtual balances, orders, trades, positions)

It does **not** store:

* wallet addresses, seed phrases or private keys
* credit card or banking data
* real USDC balances

All authentication and authorization is handled on the server.\
The browser only sees the login form and the resulting session, not the underlying credential storage.

#### How close is the simulation to the real Polymarket matching engine?

PaperMarket aims to be a conservative approximation, not a full replica.

It does:

* use real Polymarket CLOB snapshots for depth and prices
* respect simple account level constraints (cash and position limits)
* generate trades level by level based on that snapshot

It does **not** attempt to model:

* internal queueing rules or prioritisation on Polymarket
* cross margin, leverage or short selling
* complex interactions between multiple simultaneous traders

The goal is to give traders a realistic feel for price behaviour and position management under Polymarket conditions, without claiming to reproduce every micro-level detail of the underlying Polymarket.

#### Can I run my own copy of PaperMarket?

PaperMarket is designed to be operated as a hosted service.

End users interact with it through the web interface at the deployed instance that the project team controls.\
Source code, deployment configuration and database access are not part of the public documentation.

From the perspective of a trader, there is a single official PaperMarket environment exposed over the internet rather than many independent local installations.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://papermarket.gitbook.io/papermarket/faq.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
