Skip to main content
Trading in Orica involves exchanging USDC for outcome shares. When you buy shares, you are betting that outcome will occur. When you sell, you exit your position and receive USDC back from the pool.

Trade Types

Buying mints new shares of a specific outcome.
  • You send USDC to the market vault
  • New shares are minted to your position account
  • The price increases based on the bonding curve
  • Fees are deducted from your input amount

Trade Data Structure

When a trade is executed, the indexer records the following data:

Fees

Orica charges fees on trading activity. These fees are distributed between the protocol and market creators.
Fee rates are configurable by protocol governance and may change. Always fetch the current GlobalState to verify rates.

Positions

A Position tracks how many shares a user holds in each outcome of a market.
Positions are stored in Program Derived Addresses (PDAs) derived from the market and user public keys.

Trade History

Fetch historical trades via the API:

Compute Units

Complex bonding curve calculations may require additional compute units. The SDK automatically includes a ComputeBudgetProgram.setComputeUnitLimit instruction.

Next Steps

Bonding Curve

Understand how prices are calculated.

Disputes

Learn about dispute resolution.