# Table of Contents - [PredictionMarket - Context Docs](#predictionmarket-context-docs) - [Context User Guide - Context Docs](#context-user-guide-context-docs) - [Vault - Context Docs](#vault-context-docs) - [Market Metadata - Context Docs](#market-metadata-context-docs) - [RewardDistributor - Context Docs](#rewarddistributor-context-docs) - [Context Protocol - Context Docs](#context-protocol-context-docs) - [Getting Started - Context Docs](#getting-started-context-docs) - [Markets - Context Docs](#markets-context-docs) - [Deposits & Withdrawals - Context Docs](#deposits-withdrawals-context-docs) - [Rewards & Claims - Context Docs](#rewards-claims-context-docs) - [Support - Context Docs](#support-context-docs) - [Trading & Boosting - Context Docs](#trading-boosting-context-docs) - [Managing Your Account - Context Docs](#managing-your-account-context-docs) --- # PredictionMarket - Context Docs [Skip to main content](https://docs.context.markets/protocol/prediction-market#content-area) [Context Docs home page![light logo](https://mintcdn.com/context-ecd20d79/zY9yJeyovrDSph11/logo/logo_light_mode.svg?fit=max&auto=format&n=zY9yJeyovrDSph11&q=85&s=90e08c39d2adb298275f102b74bc4126)![dark logo](https://mintcdn.com/context-ecd20d79/zY9yJeyovrDSph11/logo/logo_dark_mode.svg?fit=max&auto=format&n=zY9yJeyovrDSph11&q=85&s=9b243233d810a981daa8e79b0ec295ee)](https://docs.context.markets/) Search... ⌘K Search... Navigation Prediction Market PredictionMarket [Context User Guide](https://docs.context.markets/) [Context Protocol](https://docs.context.markets/protocol) [Context User Guide](https://docs.context.markets/) [Context Protocol](https://docs.context.markets/protocol) PredictionMarket is the main contract which manages market creation, buying and selling outcome tokens, resolving markets and redeeming outcome tokens. This page explains each of those major sections in detail, along with some background on the AMM. * [AMM](https://docs.context.markets/protocol/prediction-market#amm) * [Market Creation](https://docs.context.markets/protocol/prediction-market#market-creation) * [Trading](https://docs.context.markets/protocol/prediction-market#trading) * [Resolution](https://docs.context.markets/protocol/prediction-market#resolution) * [Redemption](https://docs.context.markets/protocol/prediction-market#redemption) * [Misc](https://docs.context.markets/protocol/prediction-market#misc) [​](https://docs.context.markets/protocol/prediction-market#amm) AMM ----------------------------------------------------------------------- PredictionMarket uses the Liquidity Sensitive variant of the Logarithmic Market Scoring Rule for automated market making. LS-LMSR markets have a few unique properties to be aware of: * Markets start with low liquidity and become more liquid as volume increases without the need for dedicated liquidity providers. * Outcome tokens’ prices can some to greater than $1. The percentage difference between the actual sum and $1 is referred to as the _vig_. * There is no notion of bounded subsidy loss (as with regular LMSR) or impermanent loss (as with constant product AMMs). Markets end up breakeven or with a surplus. The core math is out of scope for this doc, but it is implemented in the functions `cost` and `calcPrice` and their various helpers. LMSR was originally developed by Robin Hanson and the liquidity sensitive variant came later from a group of researchers. You can read more about LMSR and LS-LMSR here:[Augur’s blogpost on LS-LMSR\ ---------------------------\ \ augur.mystrikingly.com](https://augur.mystrikingly.com/blog/augur-s-automated-market-maker-the-ls-lmsr) [CMU paper introducing LS-LMSR\ -----------------------------\ \ cs.cmu.edu](https://www.cs.cmu.edu/~sandholm/liquidity-sensitive%20automated%20market%20maker.teac.pdf) [Robin Hanson introducing LMSR\ -----------------------------\ \ mason.gmu.edu](https://mason.gmu.edu/~rhanson/mktscore.pdf) [​](https://docs.context.markets/protocol/prediction-market#market-creation) Market Creation ----------------------------------------------------------------------------------------------- ### [​](https://docs.context.markets/protocol/prediction-market#relevant-globals) Relevant Globals * `uint256 targetVig`: the “house edge”. `targetVig` is in terms of USDC’s standard 6 decimals, so 1e6 == 1,000,000 == 100%. The default value is 70,000 == 7%. This means that prices might sum to at most $1.07 depending on a market’s state. Actual vig for an active market varies, and is highest at equally priced outcomes and lowest with one dominant outcome. * `uint256 feePerOutcome` and `uint256 initialSharesPerOutcome` together determine the market creation fee. The market creation fee solves two problems at once: * The LS-LMSR math requires that outcome tokens have nonzero supplies at all times, so markets need to be initialized with some number of shares. The market creation fee essentially “buys” the initial shares and donates them to the protocol. The shares are accounted internally but not actually minted, and any USDC from the fee that does not go towards redemption payouts is part of the surplus. * Spam Explore admin functions like `setInitialSharesAndFeePerOutcome` and `setInitialSharesAndFeePerOutcomeAndTargetVig` below and on GitHub to learn more about the above variables and how they are related. * `bool allowAnyMarketCreator` allows the admin to pause or limit market creation. When false, only addresses granted the MARKET\_CREATOR\_ROLE can call `createMarket`. ### [​](https://docs.context.markets/protocol/prediction-market#structs) Structs #### [​](https://docs.context.markets/protocol/prediction-market#struct-marketinfo) `struct MarketInfo` Contains all information about a single market (with the exception of the `marketId`) * `address oracle`: the address that will later be able to resolve the market. The [context.markets](http://context.markets/) platform uses its own oracle for all of its markets, but other platforms and users can provide different oracles. The oracle address needs to be able to call `pauseMarket`, `unpauseMarket`, and `resolveMarketWithPayoutSplit`. These functions are documented in the Resolution section of this page. * `bool resolved`: whether a market has been resolved * `bool paused`: whether trading is paused. When paused, a market cannot be traded or migrated. * `uint256 alpha`: affects price sensitivity. Alpha is calculated at market creation based on the number of outcomes (i.e. 2 for YES/NO markets) and the global target vig. * `uint256 totalUsdcIn`: net USDC for that market - increases with buys and decreases with sells. After creating a market with no initial buy, totalUsdcIn should be equal to the global `feePerOutcome` \* 2 (or other number of outcomes). * `address creator`: caller of `createMarket` * `bytes32 questionId`: Unique ID for associating a question with its offchain details * `address surplusRecipient`: recipient of any surplus USDC after resolution. [context.markets](http://context.markets/) markets all use one surplus recipient that distributes it to users as part of Context’s rewards program. * `uint256[] outcomeQs`: internal accounting of outcome shares. Matches the ERC20 OutcomeToken total supplies plus the global `initialSharesPerOutcome`. * `uint256[] outcomeTokens`: addresses of the outcome tokens. Length and indices match `outcomeQs`. * `uint256[] payoutPcts`: final payout values. For a binary market with outcomes “A” and “B” where “A” eventually is the winning outcome, payoutPcts will start as \[0, 0\] and then will be set to \[1e6, 0\] at resolution. * `uint256 initialSharesPerOutcome`: used to keep track of the global value at the time of market creation, used during resolution. #### [​](https://docs.context.markets/protocol/prediction-market#struct-createmarketparams) `struct CreateMarketParams` passed into `createMarket()`. * `address oracle`: the address that will later be able to resolve the market. The [context.markets](http://context.markets/) platform uses its own oracle for all of its markets, but other platforms and users can provide different oracles. See note on oracles in the Resolution section of this page. * `uint256 initialBuyMaxCost`: the market creator can specify an optional first buy to make as soon as the market is created. This is the maximum amount of USDC the creator is willing to spend on that trade. * `bytes32 questionId`: see note in MarketInfo above * `address surplusRecipient`: see note in MarketInfo above * `bytes metadata`: see the below page for more information on how [context.markets](http://context.markets/) uses metadata [Market Metadata](https://docs.context.markets/protocol/prediction-market/market-metadata) * `int256[] initialBuyShares`: array of buy amounts for the optional initial buy. Despite being signed, the values must be positive. Indices match `outcomeNames` below. * `string[] outcomeNames` example: `["NO", "YES"]`. The length and positions of these indices are what determine the length and position of other key market arrays like `outcomeQs`, `outcomeTokens` and `payoutPcts`. ### [​](https://docs.context.markets/protocol/prediction-market#events) Events Copy Ask AI event MarketCreated( bytes32 indexed marketId, address indexed oracle, bytes32 indexed questionId, address surplusRecipient, address creator, bytes metadata, uint256 alpha, uint256 marketCreationFee, address[] outcomeTokens, string[] outcomeNames, uint256[] outcomeQs ) Note: `marketId` is the key identifier of a market in the PredictionMarket contract. `questionId` is just there to point to offchain data and is not used after `createMarket`. ### [​](https://docs.context.markets/protocol/prediction-market#functions) Functions Copy Ask AI function createMarket(CreateMarketParams calldata params) external returns (bytes32) `createMarket` does the following: * Validates `params` * Takes the market creation fee * Deploys and initializes one OutcomeToken contract per outcome * Executes the optional initial buy * Sets up the MarketInfo struct in storage * Emits `MarketCreated` * Returns `marketId` [​](https://docs.context.markets/protocol/prediction-market#trading) Trading ------------------------------------------------------------------------------- ### [​](https://docs.context.markets/protocol/prediction-market#structs-2) Structs Copy Ask AI struct Trade { bytes32 marketId; int256[] deltaShares; // Positive = buy, negative = sell uint256 maxCost; // Maximum USDC to spend uint256 minPayout; // Minimum USDC to receive uint256 deadline; // Expiration timestamp } `Trade` is passed into the trade function. Note that `deltaShares` is a signed array, meaning you can do a mixed buy & sell in one trade. The array must match the length and indices of arrays like `outcomeQs` and `outcomeNames`. For a market with outcomeNames `["NO", "YES"]`, a simple YES buy of 100 shares would equate to a deltaShares of `[0, 100e6]`. ### [​](https://docs.context.markets/protocol/prediction-market#events-2) Events Copy Ask AI event MarketTraded( bytes32 indexed marketId, address indexed trader, uint256 alpha, // redundant with MarketCreated int256 usdcFlow, // same as return value of trade() int256[] deltaShares, // same as Trade struct deltaShares uint256[] outcomeQs // market's updated outcomeQs ) `alpha` and `outcomeQs` are essential to doing any LS-LMSR pricing math so alpha is emitted redundantly (never changes after MarketCreated) and the market’s new outcome q-values are emitted with every trade for convenience. ### [​](https://docs.context.markets/protocol/prediction-market#functions-2) Functions Copy Ask AI function trade(Trade memory tradeData) external returns (int256); function quoteTrade(uint256[] memory qs, uint256 alpha, int256[] memory deltaShares) public pure returns (int256 costDelta); `trade(tradeData)`does the following: * validates tradeData and market * gets the cost delta via `quoteTrade` * takes or sends USDC * mints and/or burns outcome tokens * emits `MarketTraded` * returns the USDC flow of the trade (positive = paid to user, negative = taken from user). This is the same costDelta from `quoteTrade` `quoteTrade` is a pure function that can optionally be used to simulate a trade given any market state and desired trade (represented as deltaShares) [​](https://docs.context.markets/protocol/prediction-market#resolution) Resolution ------------------------------------------------------------------------------------- ### [​](https://docs.context.markets/protocol/prediction-market#events-3) Events Copy Ask AI event MarketPausedUpdated(bytes32 indexed marketId, bool paused) event MarketResolved(bytes32 indexed marketId, uint256[] payoutPcts, uint256 surplus) ### [​](https://docs.context.markets/protocol/prediction-market#functions-3) Functions Copy Ask AI function pauseMarket(bytes32 marketId); function unpauseMarket(bytes32 marketId); function resolveMarketWithPayoutSplit(bytes32 marketId, uint256[] calldata payoutPcts); `resolveMarketWithPayoutSplit` is called by the specific market’s oracle. `payoutPcts` must sum to 1e6. The function does the following: * Validate market and payoutPcts * Sets the MarketInfo `resolved` and `payoutPcts` in storage * Calculates the total payout needed for all winning outcome token redemptions, and the surplus * emits MarketResolved `pauseMarket` and `unpauseMarket` can also be called by the oracle. It is strongly recommended to pause before resolving. If a market is paused and then resolved, the market does not need to be unpaused in order for outcome token holders to be able to redeem them for USDC. When a market is paused, outcome tokens can still be transferred. It is important to note that `oracle` in the context of the PredictionMarket contract is just a role: it is a specified address that can pause, unpause and resolve the market. [context.markets](http://context.markets/) has its own off-chain oracle that determines outcomes and its own resolver contract that takes these actions with a reasonable time buffer, and all markets on the platform will specify that same contract as the `oracle`. When [`allowAnyMarketCreator`](https://docs.context.markets/protocol/prediction-market) is true and anyone can create a market specifying any oracle, **PredictionMarket does not prevent markets with bad (error-prone or nonfunctioning or malicious) oracles from being created.** [​](https://docs.context.markets/protocol/prediction-market#redemption) Redemption ------------------------------------------------------------------------------------- Copy Ask AI event TokensRedeemed( bytes32 indexed marketId, address indexed redeemer, address token, uint256 shares, uint256 payout ) Copy Ask AI function redeem(address token, uint256 amount); `redeem` is called by the outcome token holder after a market is resolved. It validates the market state, burns `amount` tokens from the caller and sends the appropriate USDC payout back to the caller. [​](https://docs.context.markets/protocol/prediction-market#misc) Misc ------------------------------------------------------------------------- ### [​](https://docs.context.markets/protocol/prediction-market#info) Info Copy Ask AI // returns prices array (prices sum to something between ~1e6 and 1e6 + targetVig) function getPrices(bytes32 marketId) external view returns (uint256[] memory); function getMarketInfo(bytes32 marketId) external view returns (MarketInfo memory); function marketExists(bytes32 marketId) public view returns (bool); ### [​](https://docs.context.markets/protocol/prediction-market#surplus) Surplus Copy Ask AI event SurplusWithdrawn(address indexed to, uint256 amount) function withdrawSurplus() Withdraws all surplus USDC for all resolved markets for which the caller is the `surplusRecipient` ### [​](https://docs.context.markets/protocol/prediction-market#outcometoken) OutcomeToken OutcomeToken is a solady ERC20 launched by the PredictionMarket contract, one per outcome. The PredictionMarket contract is the authorized minter and burner. The `decimals` are always 6 (matches USDC). The `symbol` is the same as in `outcomeNames` and the `name` is set to `: `. ### [​](https://docs.context.markets/protocol/prediction-market#other-events) Other Events Copy Ask AI event AllowAnyMarketCreatorUpdated(bool allow) event FeePerOutcomeUpdated(uint256 oldFee, uint256 newFee) event TargetVigUpdated(uint256 oldTargetVig, uint256 newTargetVig) event InitialSharesPerOutcomeUpdated(uint256 oldShares, uint256 newShares) event MaxOutcomesUpdated(uint256 oldMaxOutcomes, uint256 newMaxOutcomes) An alternative UI / platform that interacts with the protocol should watch the above events for global variable updates. ### [​](https://docs.context.markets/protocol/prediction-market#migration) Migration The contract is not upgradeable, but markets can be individually migrated to a future version.[Still have questions?\ ---------------------\ \ Ask in Discord.](https://discord.gg/FN2aXT6b) [Previous](https://docs.context.markets/protocol) [Market Metadata\ \ Next](https://docs.context.markets/protocol/prediction-market/market-metadata) ⌘I On this page * [AMM](https://docs.context.markets/protocol/prediction-market#amm) * [Market Creation](https://docs.context.markets/protocol/prediction-market#market-creation) * [Relevant Globals](https://docs.context.markets/protocol/prediction-market#relevant-globals) * [Structs](https://docs.context.markets/protocol/prediction-market#structs) * [struct MarketInfo](https://docs.context.markets/protocol/prediction-market#struct-marketinfo) * [struct CreateMarketParams](https://docs.context.markets/protocol/prediction-market#struct-createmarketparams) * [Events](https://docs.context.markets/protocol/prediction-market#events) * [Functions](https://docs.context.markets/protocol/prediction-market#functions) * [Trading](https://docs.context.markets/protocol/prediction-market#trading) * [Structs](https://docs.context.markets/protocol/prediction-market#structs-2) * [Events](https://docs.context.markets/protocol/prediction-market#events-2) * [Functions](https://docs.context.markets/protocol/prediction-market#functions-2) * [Resolution](https://docs.context.markets/protocol/prediction-market#resolution) * [Events](https://docs.context.markets/protocol/prediction-market#events-3) * [Functions](https://docs.context.markets/protocol/prediction-market#functions-3) * [Redemption](https://docs.context.markets/protocol/prediction-market#redemption) * [Misc](https://docs.context.markets/protocol/prediction-market#misc) * [Info](https://docs.context.markets/protocol/prediction-market#info) * [Surplus](https://docs.context.markets/protocol/prediction-market#surplus) * [OutcomeToken](https://docs.context.markets/protocol/prediction-market#outcometoken) * [Other Events](https://docs.context.markets/protocol/prediction-market#other-events) * [Migration](https://docs.context.markets/protocol/prediction-market#migration) --- # Context User Guide - Context Docs [Skip to main content](https://docs.context.markets/#content-area) [Context Docs home page![light logo](https://mintcdn.com/context-ecd20d79/zY9yJeyovrDSph11/logo/logo_light_mode.svg?fit=max&auto=format&n=zY9yJeyovrDSph11&q=85&s=90e08c39d2adb298275f102b74bc4126)![dark logo](https://mintcdn.com/context-ecd20d79/zY9yJeyovrDSph11/logo/logo_dark_mode.svg?fit=max&auto=format&n=zY9yJeyovrDSph11&q=85&s=9b243233d810a981daa8e79b0ec295ee)](https://docs.context.markets/) Search... ⌘K Search... Navigation Context User Guide [Context User Guide](https://docs.context.markets/) [Context Protocol](https://docs.context.markets/protocol) [Context User Guide](https://docs.context.markets/) [Context Protocol](https://docs.context.markets/protocol) [Getting Started\ ---------------](https://docs.context.markets/context/getting-started) [Deposits & Withdrawals\ ----------------------](https://docs.context.markets/context/deposits-withdrawals) [Markets\ -------](https://docs.context.markets/context/markets) [Trading & Boosting\ ------------------](https://docs.context.markets/context/trading-boosting) [Rewards & Claims\ ----------------](https://docs.context.markets/context/rewards-claims) [Managing Your Account\ ---------------------](https://docs.context.markets/context/managing-your-account) [Support\ -------](https://docs.context.markets/context/support) [Getting StartedContext allows anyone to create and trade markets based on what’s happening online. Users earn weekly USDC rewards for creating, trading, and boosting markets.\ \ Next](https://docs.context.markets/context/getting-started) ⌘I --- # Vault - Context Docs [Skip to main content](https://docs.context.markets/protocol/vault#content-area) [Context Docs home page![light logo](https://mintcdn.com/context-ecd20d79/zY9yJeyovrDSph11/logo/logo_light_mode.svg?fit=max&auto=format&n=zY9yJeyovrDSph11&q=85&s=90e08c39d2adb298275f102b74bc4126)![dark logo](https://mintcdn.com/context-ecd20d79/zY9yJeyovrDSph11/logo/logo_dark_mode.svg?fit=max&auto=format&n=zY9yJeyovrDSph11&q=85&s=9b243233d810a981daa8e79b0ec295ee)](https://docs.context.markets/) Search... ⌘K Search... Navigation Vault [Context User Guide](https://docs.context.markets/) [Context Protocol](https://docs.context.markets/protocol) [Context User Guide](https://docs.context.markets/) [Context Protocol](https://docs.context.markets/protocol) Vault allows users of [context.markets](http://context.markets/) to lock tokens until resolution so that Context might reward them as part of its rewards program. There is no onchain guarantee that interacting with the Vault will earn rewards. Vault is designed to be interacted with via the Context interface. Rewards are distributed in a [separate contract](https://docs.context.markets/protocol/reward-distributor) at Context’s discretion according to the rules of its rewards program. This page documents the latest version of the Vault contract. The current Context interface only supports locking via the `buyAndLockTokens` function, although the contract has additional and currently unused functions for locking tokens. [​](https://docs.context.markets/protocol/vault#locking-tokens) Locking Tokens --------------------------------------------------------------------------------- ### [​](https://docs.context.markets/protocol/vault#events) Events Copy Ask AI event LockUpdated( bytes32 indexed marketId, address indexed locker, uint256[] newAmounts, uint256[] totalAmounts, uint256 nonce ); event TokensPurchasedAndLocked( bytes32 indexed marketId, address indexed user, uint256[] sharesPurchased, uint256 cost, uint256[] totalLocked, uint256 nonce ); event Unlocked(bytes32 indexed marketId, address indexed locker, uint256[] amounts); ### [​](https://docs.context.markets/protocol/vault#functions) Functions Copy Ask AI function buyAndLockTokens( bytes32 marketId, uint256[] memory amounts, uint256 maxCost, uint256 deadline, uint256 nonce ); function unlock(bytes32 marketId); The current Context UI uses `buyAndLockTokens` to accomplish both actions in a single call, rather than our currently unused `addLock` (tokens must already be purchased) or `sponsoredLock` (like `buyAndLockTokens` but with an admin-signed USDC subsidy) functions which can be seen on github or basescan. A lock for a market can be added to multiple times while a market is not yet resolved to increase the locked position. While outcome tokens for a market are locked, the Vault holds those tokens. `unlock` can be called one time per user per market, and it returns all of their locked tokens **only after a market is resolved**. This means that one should only lock tokens if they are comfortable holding until resolution. See [this note](https://docs.context.markets/protocol/prediction-market) for more information on oracles and trust in the protocol. One should not _buy_ let alone lock outcome tokens for a market with an oracle that they do not trust to act reliably and correctly. `buyAndLockTokens` takes the USDC necessary to purchase `amounts` tokens (can buy multiple outcome tokens in one call) from the user, purchases those tokens as long as the trade is under `maxCost` and before `deadline`, and locks them in the Vault until resolution. The function emits both `TokensPurchasedAndLocked` and `LockUpdated` events. A `nonce` can only be used once per buyer.[Still have questions?\ ---------------------\ \ Ask in Discord.](https://discord.gg/FN2aXT6b) [Previous](https://docs.context.markets/protocol/prediction-market/market-metadata) [RewardDistributor\ \ Next](https://docs.context.markets/protocol/reward-distributor) ⌘I On this page * [Locking Tokens](https://docs.context.markets/protocol/vault#locking-tokens) * [Events](https://docs.context.markets/protocol/vault#events) * [Functions](https://docs.context.markets/protocol/vault#functions) --- # Market Metadata - Context Docs [Skip to main content](https://docs.context.markets/protocol/prediction-market/market-metadata#content-area) [Context Docs home page![light logo](https://mintcdn.com/context-ecd20d79/zY9yJeyovrDSph11/logo/logo_light_mode.svg?fit=max&auto=format&n=zY9yJeyovrDSph11&q=85&s=90e08c39d2adb298275f102b74bc4126)![dark logo](https://mintcdn.com/context-ecd20d79/zY9yJeyovrDSph11/logo/logo_dark_mode.svg?fit=max&auto=format&n=zY9yJeyovrDSph11&q=85&s=9b243233d810a981daa8e79b0ec295ee)](https://docs.context.markets/) Search... ⌘K Search... Navigation Prediction Market Market Metadata [Context User Guide](https://docs.context.markets/) [Context Protocol](https://docs.context.markets/protocol) [Context User Guide](https://docs.context.markets/) [Context Protocol](https://docs.context.markets/protocol) [context.markets](http://context.markets/) uses the below scheme for `metadata` in the protocol [​](https://docs.context.markets/protocol/prediction-market/market-metadata#json-payload) JSON payload --------------------------------------------------------------------------------------------------------- Copy Ask AI { "id": "0x0000000000000000000000000000000000000000000000000000000000000000", "text": "Full market question", "shortText": "Short question", "criteria": "Resolves YES if…", "endTime": 1758509334, "sources": ["https://x.com/example"], "explanation": "Optional moderation note" } ### [​](https://docs.context.markets/protocol/prediction-market/market-metadata#field-reference) Field reference * `id`: 32-byte hex string (0x-prefixed). The first 20 bytes encode the expected on-chain market creator address; the remaining 12 bytes are random entropy. This is the same as the `CreateMarketParams.questionId` field. * `text`: Primary market question shown in long-form contexts. * `shortText`: Condensed question for cards and summaries. * `criteria`: Resolution instructions. Conventionally begins with “Resolves YES if” and may include bullet points. * `endTime`: Unix timestamp (seconds) for when resolution should occur. * `sources`: Array of strings pointing to the data sources used by the oracle (e.g. `https://x.com/`). The Context frontend currently expects X accounts. * `explanation` (optional): Short moderation or quality note. Omit entirely if unused. [​](https://docs.context.markets/protocol/prediction-market/market-metadata#encoding) Encoding ------------------------------------------------------------------------------------------------- 1. Build the JSON object above with UTF-8 text. 2. Convert the JSON string to bytes using UTF-8. 3. Compress the bytes with gzip (DEFLATE). Any gzip implementation that produces a standard gzip container is acceptable. 4. Hex-encode the compressed bytes (lowercase hex) and prepend `0x`. 5. Submit that string as the `metadata` field when calling the smart contract. [​](https://docs.context.markets/protocol/prediction-market/market-metadata#decoding) Decoding ------------------------------------------------------------------------------------------------- 1. Take the on-chain string and strip the leading `0x`. 2. Hex-decode the remainder into raw bytes. 3. Gunzip the bytes to recover the original JSON string. 4. Parse the JSON into the schema described above. [Still have questions?\ ---------------------\ \ Ask in Discord.](https://discord.gg/FN2aXT6b) [Previous](https://docs.context.markets/protocol/prediction-market) [Vault\ \ Next](https://docs.context.markets/protocol/vault) ⌘I On this page * [JSON payload](https://docs.context.markets/protocol/prediction-market/market-metadata#json-payload) * [Field reference](https://docs.context.markets/protocol/prediction-market/market-metadata#field-reference) * [Encoding](https://docs.context.markets/protocol/prediction-market/market-metadata#encoding) * [Decoding](https://docs.context.markets/protocol/prediction-market/market-metadata#decoding) --- # RewardDistributor - Context Docs [Skip to main content](https://docs.context.markets/protocol/reward-distributor#content-area) [Context Docs home page![light logo](https://mintcdn.com/context-ecd20d79/zY9yJeyovrDSph11/logo/logo_light_mode.svg?fit=max&auto=format&n=zY9yJeyovrDSph11&q=85&s=90e08c39d2adb298275f102b74bc4126)![dark logo](https://mintcdn.com/context-ecd20d79/zY9yJeyovrDSph11/logo/logo_dark_mode.svg?fit=max&auto=format&n=zY9yJeyovrDSph11&q=85&s=9b243233d810a981daa8e79b0ec295ee)](https://docs.context.markets/) Search... ⌘K Search... Navigation RewardDistributor [Context User Guide](https://docs.context.markets/) [Context Protocol](https://docs.context.markets/protocol) [Context User Guide](https://docs.context.markets/) [Context Protocol](https://docs.context.markets/protocol) RewardDistributor allows Context to distribute any rewards to users via merkle trees. The only non-admin functions are for claiming rewards. [​](https://docs.context.markets/protocol/reward-distributor#claiming-rewards) Claiming Rewards -------------------------------------------------------------------------------------------------- ### [​](https://docs.context.markets/protocol/reward-distributor#events) Events Copy Ask AI event RewardClaimed(uint256 indexed epochId, address indexed user, uint256 amount); ### [​](https://docs.context.markets/protocol/reward-distributor#functions) Functions Copy Ask AI /** * @notice Claims reward for a specific epoch using a merkle proof * @dev Transfers USDC to the caller if the proof is valid and not already claimed * @param epochId The epoch ID to claim rewards for * @param amount The amount of USDC to claim * @param proof Merkle proof verifying the claim */ function claimReward( uint256 epochId, uint256 amount, bytes32[] calldata proof ); function batchClaimRewards( uint256[] calldata epochIds_, uint256[] calldata amounts, bytes32[][] calldata proofs ); A leaf of the merkle tree is expected to contain the recipient followed by the amount. [​](https://docs.context.markets/protocol/reward-distributor#admin-actions) Admin Actions -------------------------------------------------------------------------------------------- The main admin action relevant to a user being able to claim rewards is setting merkle roots, and the relevant event is: Copy Ask AI event EpochRootSet(uint256 indexed epochId, bytes32 merkleRoot); Once a merkle root is set for an epoch id, users in that merkle tree can claim their rewards. The epoch id and merkle root are needed to claim a reward.[Still have questions?\ ---------------------\ \ Ask in Discord.](https://discord.gg/FN2aXT6b) [Previous\ \ Vault](https://docs.context.markets/protocol/vault) ⌘I On this page * [Claiming Rewards](https://docs.context.markets/protocol/reward-distributor#claiming-rewards) * [Events](https://docs.context.markets/protocol/reward-distributor#events) * [Functions](https://docs.context.markets/protocol/reward-distributor#functions) * [Admin Actions](https://docs.context.markets/protocol/reward-distributor#admin-actions) --- # Context Protocol - Context Docs [Skip to main content](https://docs.context.markets/protocol#content-area) [Context Docs home page![light logo](https://mintcdn.com/context-ecd20d79/zY9yJeyovrDSph11/logo/logo_light_mode.svg?fit=max&auto=format&n=zY9yJeyovrDSph11&q=85&s=90e08c39d2adb298275f102b74bc4126)![dark logo](https://mintcdn.com/context-ecd20d79/zY9yJeyovrDSph11/logo/logo_dark_mode.svg?fit=max&auto=format&n=zY9yJeyovrDSph11&q=85&s=9b243233d810a981daa8e79b0ec295ee)](https://docs.context.markets/) Search... ⌘K Search... Navigation Context Protocol [Context User Guide](https://docs.context.markets/) [Context Protocol](https://docs.context.markets/protocol) [Context User Guide](https://docs.context.markets/) [Context Protocol](https://docs.context.markets/protocol) This is a public docs site for any developers or users who want to better understand the [Context](https://context.markets/) prediction market Solidity contracts. See the [User Guide](https://docs.context.markets/) for more information about using the product. To explore the code directly, read NatSpec comments and view our BUSL-1.1 license, view our repository on GitHub:[Contracts\ ---------](https://github.com/contextwtf/contracts) [​](https://docs.context.markets/protocol#contract-docs) Contract Docs ------------------------------------------------------------------------- [PredictionMarket\ ----------------](https://docs.context.markets/protocol/prediction-market) [Vault\ -----](https://docs.context.markets/protocol/vault) [RewardDistributor\ -----------------](https://docs.context.markets/protocol/reward-distributor) [​](https://docs.context.markets/protocol#deployments) Deployments --------------------------------------------------------------------- ### [​](https://docs.context.markets/protocol#base-mainnet) Base Mainnet | | | | --- | --- | | `PredictionMarket` | [0x000000000000CE50e1e1F6f99B2E5e98e5b6c609](https://basescan.org/address/0x000000000000CE50e1e1F6f99B2E5e98e5b6c609) | | `OutcomeToken Implementation` | [0x70674cA9e35cca4E12926357Ed763844d276532C](https://basescan.org/address/0x70674cA9e35cca4E12926357Ed763844d276532C) | | `Vault` | [0x98a272c0F97c32DF73b3cBed26A67b07a50F2AFd](https://basescan.org/address/0x98a272c0F97c32DF73b3cBed26A67b07a50F2AFd) | | `RewardDistributor` | [0xc1dd1ea5b7a3e84c3EbADcc6A4f13a0F432e78a2](https://basescan.org/address/0xc1dd1ea5b7a3e84c3EbADcc6A4f13a0F432e78a2) | ### [​](https://docs.context.markets/protocol#base-sepolia) Base Sepolia | | | | --- | --- | | `PredictionMarket` | [0x000000000000CE50e1e1F6f99B2E5e98e5b6c609](https://sepolia.basescan.org/address/0x000000000000CE50e1e1F6f99B2E5e98e5b6c609) | | `OutcomeToken Implementation` | [0x70674cA9e35cca4E12926357Ed763844d276532C](https://sepolia.basescan.org/address/0x70674cA9e35cca4E12926357Ed763844d276532C) | | `Vault` | [0x3d46D8AbD463e5f09D367b94170d74d0DBDA5f51](https://sepolia.basescan.org/address/0x3d46D8AbD463e5f09D367b94170d74d0DBDA5f51) | | `RewardDistributor` | [0x37C9fbB5653F4DeE9b5177Fec23F600d4275001F](https://sepolia.basescan.org/address/0x37C9fbB5653F4DeE9b5177Fec23F600d4275001F) | [Still have questions?\ ---------------------\ \ Ask in Discord.](https://discord.gg/FN2aXT6b) [Overview\ \ Next](https://docs.context.markets/protocol/prediction-market) ⌘I On this page * [Contract Docs](https://docs.context.markets/protocol#contract-docs) * [Deployments](https://docs.context.markets/protocol#deployments) * [Base Mainnet](https://docs.context.markets/protocol#base-mainnet) * [Base Sepolia](https://docs.context.markets/protocol#base-sepolia) --- # Getting Started - Context Docs [Skip to main content](https://docs.context.markets/context/getting-started#content-area) [Context Docs home page![light logo](https://mintcdn.com/context-ecd20d79/zY9yJeyovrDSph11/logo/logo_light_mode.svg?fit=max&auto=format&n=zY9yJeyovrDSph11&q=85&s=90e08c39d2adb298275f102b74bc4126)![dark logo](https://mintcdn.com/context-ecd20d79/zY9yJeyovrDSph11/logo/logo_dark_mode.svg?fit=max&auto=format&n=zY9yJeyovrDSph11&q=85&s=9b243233d810a981daa8e79b0ec295ee)](https://docs.context.markets/) Search... ⌘K Search... Navigation Getting Started [Context User Guide](https://docs.context.markets/) [Context Protocol](https://docs.context.markets/protocol) [Context User Guide](https://docs.context.markets/) [Context Protocol](https://docs.context.markets/protocol) [​](https://docs.context.markets/context/getting-started#how-do-i-create-an-account) How do I create an account? ------------------------------------------------------------------------------------------------------------------- Click “Get Started” on the homepage. You can sign up with Google, X, or your email. When you sign up, you’ll automatically receive a crypto wallet powered by Privy. From there, click on “Settings” to set your display name and connect your social links. [​](https://docs.context.markets/context/getting-started#who-can-participate) Who can participate? ----------------------------------------------------------------------------------------------------- Users outside the United States can trade, create markets, and boost liquidity, while users within the United States can create markets, boost liquidity, and earn rewards but cannot trade.[Still have questions?\ ---------------------\ \ Ask in Discord.](https://discord.gg/FN2aXT6b) [Previous](https://docs.context.markets/) [Deposits & Withdrawals\ \ Next](https://docs.context.markets/context/deposits-withdrawals) ⌘I On this page * [How do I create an account?](https://docs.context.markets/context/getting-started#how-do-i-create-an-account) * [Who can participate?](https://docs.context.markets/context/getting-started#who-can-participate) --- # Markets - Context Docs [Skip to main content](https://docs.context.markets/context/markets#content-area) [Context Docs home page![light logo](https://mintcdn.com/context-ecd20d79/zY9yJeyovrDSph11/logo/logo_light_mode.svg?fit=max&auto=format&n=zY9yJeyovrDSph11&q=85&s=90e08c39d2adb298275f102b74bc4126)![dark logo](https://mintcdn.com/context-ecd20d79/zY9yJeyovrDSph11/logo/logo_dark_mode.svg?fit=max&auto=format&n=zY9yJeyovrDSph11&q=85&s=9b243233d810a981daa8e79b0ec295ee)](https://docs.context.markets/) Search... ⌘K Search... Navigation Markets [Context User Guide](https://docs.context.markets/) [Context Protocol](https://docs.context.markets/protocol) [Context User Guide](https://docs.context.markets/) [Context Protocol](https://docs.context.markets/protocol) [​](https://docs.context.markets/context/markets#how-do-i-create-a-market) How do I create a market? ------------------------------------------------------------------------------------------------------- To create a new market, click “Create” in the upper right. Type any prompt and collaborate with the AI to phrase your question and resolution rules. Adjust the prompt to edit the resolution sources or dates, and then confirm. [​](https://docs.context.markets/context/markets#do-i-need-to-phrase-prompts-as-questions) Do I need to phrase prompts as questions? --------------------------------------------------------------------------------------------------------------------------------------- No. You can write a prompt as an affirmative, and then the AI will automatically turn it into a clear prediction question. [​](https://docs.context.markets/context/markets#can-i-edit-a-market-after-creating-it) Can I edit a market after creating it? --------------------------------------------------------------------------------------------------------------------------------- No, markets can’t be edited after creation. [​](https://docs.context.markets/context/markets#what-happens-if-duplicate-markets-are-created) What happens if duplicate markets are created? ------------------------------------------------------------------------------------------------------------------------------------------------- Duplicate markets are allowed. The community will determine which one is most relevant. [​](https://docs.context.markets/context/markets#how-are-market-odds-determined) How are market odds determined? ------------------------------------------------------------------------------------------------------------------- Odds are based on the implied probability of “Yes” from current prices. For example, if “Yes” = $0.38, the market reflects a 38% chance. [​](https://docs.context.markets/context/markets#how-are-markets-resolved) How are markets resolved? ------------------------------------------------------------------------------------------------------- Markets are resolved by AI, which reviews the credible news sources that were identified when the market was created (for example, the Associated Press or The New York Times). Once an outcome is determined, the market enters a 24-hour time-lock period before the resolution becomes final. [​](https://docs.context.markets/context/markets#can-i-dispute-a-market-outcome) Can I dispute a market outcome? ------------------------------------------------------------------------------------------------------------------- Market outcomes are controlled by our oracle and outcomes are unable to be changed except in extreme cases of downtime or malfunction. If you want to report such a case, please write to [\[email protected\]](https://docs.context.markets/cdn-cgi/l/email-protection#7f0c0a0f0f100d0b3f1c10110b1a070b51121e0d141a0b0c) as soon as possible.[Still have questions?\ ---------------------\ \ Ask in Discord.](https://discord.gg/FN2aXT6b) [Previous](https://docs.context.markets/context/deposits-withdrawals) [Trading & Boosting\ \ Next](https://docs.context.markets/context/trading-boosting) ⌘I On this page * [How do I create a market?](https://docs.context.markets/context/markets#how-do-i-create-a-market) * [Do I need to phrase prompts as questions?](https://docs.context.markets/context/markets#do-i-need-to-phrase-prompts-as-questions) * [Can I edit a market after creating it?](https://docs.context.markets/context/markets#can-i-edit-a-market-after-creating-it) * [What happens if duplicate markets are created?](https://docs.context.markets/context/markets#what-happens-if-duplicate-markets-are-created) * [How are market odds determined?](https://docs.context.markets/context/markets#how-are-market-odds-determined) * [How are markets resolved?](https://docs.context.markets/context/markets#how-are-markets-resolved) * [Can I dispute a market outcome?](https://docs.context.markets/context/markets#can-i-dispute-a-market-outcome) --- # Deposits & Withdrawals - Context Docs [Skip to main content](https://docs.context.markets/context/deposits-withdrawals#content-area) [Context Docs home page![light logo](https://mintcdn.com/context-ecd20d79/zY9yJeyovrDSph11/logo/logo_light_mode.svg?fit=max&auto=format&n=zY9yJeyovrDSph11&q=85&s=90e08c39d2adb298275f102b74bc4126)![dark logo](https://mintcdn.com/context-ecd20d79/zY9yJeyovrDSph11/logo/logo_dark_mode.svg?fit=max&auto=format&n=zY9yJeyovrDSph11&q=85&s=9b243233d810a981daa8e79b0ec295ee)](https://docs.context.markets/) Search... ⌘K Search... Navigation Deposits & Withdrawals [Context User Guide](https://docs.context.markets/) [Context Protocol](https://docs.context.markets/protocol) [Context User Guide](https://docs.context.markets/) [Context Protocol](https://docs.context.markets/protocol) [​](https://docs.context.markets/context/deposits-withdrawals#how-do-i-deposit-funds) How do I deposit funds? ---------------------------------------------------------------------------------------------------------------- To make a deposit, click “Deposit” from the dropdown on the upper right. Choose your preferred method, either a credit or debit card or a wallet transfer using USDC on Base. Confirm the transaction to complete the process. [​](https://docs.context.markets/context/deposits-withdrawals#how-do-i-withdraw-funds) How do I withdraw funds? ------------------------------------------------------------------------------------------------------------------ To withdraw funds, click “Withdraw” from the dropdown on the upper right. Enter your Base wallet address and the amount you want to withdraw. Confirm the transaction. (Note: withdrawals can’t be undone.) [​](https://docs.context.markets/context/deposits-withdrawals#what-currency-does-context-use) What currency does Context use? -------------------------------------------------------------------------------------------------------------------------------- All deposits, withdrawals, and rewards use USDC on Base.[Still have questions?\ ---------------------\ \ Ask in Discord.](https://discord.gg/FN2aXT6b) [Previous](https://docs.context.markets/context/getting-started) [Markets\ \ Next](https://docs.context.markets/context/markets) ⌘I On this page * [How do I deposit funds?](https://docs.context.markets/context/deposits-withdrawals#how-do-i-deposit-funds) * [How do I withdraw funds?](https://docs.context.markets/context/deposits-withdrawals#how-do-i-withdraw-funds) * [What currency does Context use?](https://docs.context.markets/context/deposits-withdrawals#what-currency-does-context-use) --- # Rewards & Claims - Context Docs [Skip to main content](https://docs.context.markets/context/rewards-claims#content-area) [Context Docs home page![light logo](https://mintcdn.com/context-ecd20d79/zY9yJeyovrDSph11/logo/logo_light_mode.svg?fit=max&auto=format&n=zY9yJeyovrDSph11&q=85&s=90e08c39d2adb298275f102b74bc4126)![dark logo](https://mintcdn.com/context-ecd20d79/zY9yJeyovrDSph11/logo/logo_dark_mode.svg?fit=max&auto=format&n=zY9yJeyovrDSph11&q=85&s=9b243233d810a981daa8e79b0ec295ee)](https://docs.context.markets/) Search... ⌘K Search... Navigation Rewards & Claims [Context User Guide](https://docs.context.markets/) [Context Protocol](https://docs.context.markets/protocol) [Context User Guide](https://docs.context.markets/) [Context Protocol](https://docs.context.markets/protocol) [​](https://docs.context.markets/context/rewards-claims#how-do-weekly-rewards-work) How do weekly rewards work? ------------------------------------------------------------------------------------------------------------------ Every week, Context distributes a pool of USDC among creators, boosters, traders, and referrers. Creators are rewarded for publishing new markets that attract activity, boosters for providing liquidity, traders for buying “Yes” or “No” shares, and referrers for bringing in new users who participate. The more you participate, the larger your share of the reward pool. [​](https://docs.context.markets/context/rewards-claims#can-reward-weights-change) Can reward weights change? ---------------------------------------------------------------------------------------------------------------- Yes. Some weeks may prioritize rewarding creators more, others traders or boosters. [​](https://docs.context.markets/context/rewards-claims#how-do-referrals-work) How do referrals work? -------------------------------------------------------------------------------------------------------- Each user has a personal referral link. If someone signs up using your link and participates on the platform, you will automatically earn a share of referral rewards. [​](https://docs.context.markets/context/rewards-claims#how-do-i-claim-winnings-and-rewards) How do I claim winnings and rewards? ------------------------------------------------------------------------------------------------------------------------------------ You must manually claim your rewards. This includes winning trades, returned boosts, and weekly USDC rewards. You can claim them one at a time or click “Claim All” in your profile to collect everything at once.[Still have questions?\ ---------------------\ \ Ask in Discord.](https://discord.gg/FN2aXT6b) [Previous](https://docs.context.markets/context/trading-boosting) [Managing Your Account\ \ Next](https://docs.context.markets/context/managing-your-account) ⌘I On this page * [How do weekly rewards work?](https://docs.context.markets/context/rewards-claims#how-do-weekly-rewards-work) * [Can reward weights change?](https://docs.context.markets/context/rewards-claims#can-reward-weights-change) * [How do referrals work?](https://docs.context.markets/context/rewards-claims#how-do-referrals-work) * [How do I claim winnings and rewards?](https://docs.context.markets/context/rewards-claims#how-do-i-claim-winnings-and-rewards) --- # Support - Context Docs [Skip to main content](https://docs.context.markets/context/support#content-area) [Context Docs home page![light logo](https://mintcdn.com/context-ecd20d79/zY9yJeyovrDSph11/logo/logo_light_mode.svg?fit=max&auto=format&n=zY9yJeyovrDSph11&q=85&s=90e08c39d2adb298275f102b74bc4126)![dark logo](https://mintcdn.com/context-ecd20d79/zY9yJeyovrDSph11/logo/logo_dark_mode.svg?fit=max&auto=format&n=zY9yJeyovrDSph11&q=85&s=9b243233d810a981daa8e79b0ec295ee)](https://docs.context.markets/) Search... ⌘K Search... Navigation Support [Context User Guide](https://docs.context.markets/) [Context Protocol](https://docs.context.markets/protocol) [Context User Guide](https://docs.context.markets/) [Context Protocol](https://docs.context.markets/protocol) [​](https://docs.context.markets/context/support#how-do-i-contact-support) How do I contact support? ------------------------------------------------------------------------------------------------------- Email [\[email protected\]](https://docs.context.markets/cdn-cgi/l/email-protection#0e7d7b7e7e617c7a4e6d61607a6b767a20636f7c656b7a7d) or join our [Discord](https://discord.gg/paseB3CUJv) .[Still have questions?\ ---------------------\ \ Ask in Discord.](https://discord.gg/FN2aXT6b) [Previous\ \ Managing Your Account](https://docs.context.markets/context/managing-your-account) ⌘I On this page * [How do I contact support?](https://docs.context.markets/context/support#how-do-i-contact-support) --- # Trading & Boosting - Context Docs [Skip to main content](https://docs.context.markets/context/trading-boosting#content-area) [Context Docs home page![light logo](https://mintcdn.com/context-ecd20d79/zY9yJeyovrDSph11/logo/logo_light_mode.svg?fit=max&auto=format&n=zY9yJeyovrDSph11&q=85&s=90e08c39d2adb298275f102b74bc4126)![dark logo](https://mintcdn.com/context-ecd20d79/zY9yJeyovrDSph11/logo/logo_dark_mode.svg?fit=max&auto=format&n=zY9yJeyovrDSph11&q=85&s=9b243233d810a981daa8e79b0ec295ee)](https://docs.context.markets/) Search... ⌘K Search... Navigation Trading & Boosting [Context User Guide](https://docs.context.markets/) [Context Protocol](https://docs.context.markets/protocol) [Context User Guide](https://docs.context.markets/) [Context Protocol](https://docs.context.markets/protocol) [​](https://docs.context.markets/context/trading-boosting#how-do-i-make-a-trade) How do I make a trade? ---------------------------------------------------------------------------------------------------------- To make a trade, select a market, choose “Yes” or “No,” enter your trade amount, and confirm the transaction. [​](https://docs.context.markets/context/trading-boosting#why-does-my-average-price-change-with-bigger-trades) Why does my average price change with bigger trades? ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- Your average price changes on larger trades because large trades move the market odds. Not all liquidity is available at the current price. [​](https://docs.context.markets/context/trading-boosting#what-is-boosting) What is boosting? ------------------------------------------------------------------------------------------------ Boosting is the process of adding liquidity to a market. More liquid markets tend to attract bigger transactions and overall more transaction volume. [​](https://docs.context.markets/context/trading-boosting#who-can-boost-a-market) Who can boost a market? ------------------------------------------------------------------------------------------------------------ Anyone can boost, including users based in the United States. [​](https://docs.context.markets/context/trading-boosting#what-happens-to-my-boost-after-resolution) What happens to my boost after resolution? -------------------------------------------------------------------------------------------------------------------------------------------------- Your boosted funds are returned in full, and you may earn additional rewards if the market was active.[Still have questions?\ ---------------------\ \ Ask in Discord.](https://discord.gg/FN2aXT6b) [Previous](https://docs.context.markets/context/markets) [Rewards & Claims\ \ Next](https://docs.context.markets/context/rewards-claims) ⌘I On this page * [How do I make a trade?](https://docs.context.markets/context/trading-boosting#how-do-i-make-a-trade) * [Why does my average price change with bigger trades?](https://docs.context.markets/context/trading-boosting#why-does-my-average-price-change-with-bigger-trades) * [What is boosting?](https://docs.context.markets/context/trading-boosting#what-is-boosting) * [Who can boost a market?](https://docs.context.markets/context/trading-boosting#who-can-boost-a-market) * [What happens to my boost after resolution?](https://docs.context.markets/context/trading-boosting#what-happens-to-my-boost-after-resolution) --- # Managing Your Account - Context Docs [Skip to main content](https://docs.context.markets/context/managing-your-account#content-area) [Context Docs home page![light logo](https://mintcdn.com/context-ecd20d79/zY9yJeyovrDSph11/logo/logo_light_mode.svg?fit=max&auto=format&n=zY9yJeyovrDSph11&q=85&s=90e08c39d2adb298275f102b74bc4126)![dark logo](https://mintcdn.com/context-ecd20d79/zY9yJeyovrDSph11/logo/logo_dark_mode.svg?fit=max&auto=format&n=zY9yJeyovrDSph11&q=85&s=9b243233d810a981daa8e79b0ec295ee)](https://docs.context.markets/) Search... ⌘K Search... Navigation Managing Your Account [Context User Guide](https://docs.context.markets/) [Context Protocol](https://docs.context.markets/protocol) [Context User Guide](https://docs.context.markets/) [Context Protocol](https://docs.context.markets/protocol) [​](https://docs.context.markets/context/managing-your-account#what-information-is-shown-in-my-profile) What information is shown in my profile? --------------------------------------------------------------------------------------------------------------------------------------------------- Your profile displays the markets you’ve created, all of your trades and boosts, and your performance stats, including your wins, losses, and rewards earned. It also shows your current balances, including your open positions, available cash, unclaimed rewards, and active boosts. [​](https://docs.context.markets/context/managing-your-account#what-can-i-edit-in-my-profile) What can I edit in my profile? ------------------------------------------------------------------------------------------------------------------------------- You can edit your username and profile picture, connect or disconnect linked accounts such as Twitter/X and Farcaster. [​](https://docs.context.markets/context/managing-your-account#how-do-i-close-my-account) How do I close my account? ----------------------------------------------------------------------------------------------------------------------- If you want to close your account, reach out to [\[email protected\]](https://docs.context.markets/cdn-cgi/l/email-protection#3b484e4b4b54494f7b5854554f5e434f15565a49505e4f48) . Once your request is reviewed, the support team will guide you through the next steps.[Still have questions?\ ---------------------\ \ Ask in Discord.](https://discord.gg/FN2aXT6b) [Previous](https://docs.context.markets/context/rewards-claims) [Support\ \ Next](https://docs.context.markets/context/support) ⌘I On this page * [What information is shown in my profile?](https://docs.context.markets/context/managing-your-account#what-information-is-shown-in-my-profile) * [What can I edit in my profile?](https://docs.context.markets/context/managing-your-account#what-can-i-edit-in-my-profile) * [How do I close my account?](https://docs.context.markets/context/managing-your-account#how-do-i-close-my-account) ---