Work in Progress These docs are a work in progress. More content is coming soon.

← Back to Documentation

Gemini

Access Gemini prediction market data with event search, live order books, contract-volume analytics, settlement results, and stored price history.

Tool Reference: 11 tools with full schemas →

Setup

Connect the Gemini toolkit to enable your AI assistant to query real-time prediction market data, odds, and volumes.

Prerequisites

Before connecting, ensure you have configured an MCP server in your toolforest.io dashboard.

Setup Steps

Gemini uses a public API and does not require you to log in or link a personal account.

Prefer video? This 54-second walkthrough shows the whole setup, from the Prediction Markets tab to a connected toolkit:

Step 1: Connect

  1. Open Toolforest and go to Toolkits.
  2. Select the Prediction Markets tab.
  3. Find Gemini.
  4. Click Connect.

Step 2: Confirmation

The connection will be established immediately. The toolkit status will change to Connected, and you can begin querying market data right away.

Understanding Data Access

Public API Access

This toolkit connects to Gemini’s public data layer, plus Toolforest’s own stored market history. It allows your AI assistant to:

  • Search Markets: Find events by keyword (e.g., “Fed decision,” “Election 2026”).
  • View Odds: Retrieve current probability prices for outcomes.
  • Analyze Volume: Check trading activity, relative volume, and price movement over time.
  • Read Settlements: See how resolved contracts finally settled.

No Account Required

Because this toolkit provides read-only access to public market information, it does not require an account connection, wallet, or private keys. Your AI assistant can analyze markets but cannot execute trades or manage funds on your behalf.

Managing Your Connection

Disconnect

To disconnect the toolkit:

  1. Click the Disconnect button in your MCP server panel.
  2. The toolkit will immediately stop serving market data to your LLM.

Note: Since no account authorization is required, there are no third-party permissions to revoke.


Capabilities

CategoryCapabilities
SearchKeyword search across events and contracts, browse the category list, see live contract counts per event
Event DetailsFull contract set for an event, live/not-live status per contract with the reason a contract was excluded
OrderbookCurrent bid/ask depth for a contract, with the spread and available size at each level
TradesRecent executed trades with price, quantity, and timestamp
Snapshots & HistoryLatest stored price and volume for a contract, plus bucketed price history walked back through the retained tail
MoversLargest price changes and largest relative-volume spikes over 1h and 24h windows, filterable by category
SettlementsResolved contracts with their outcome, resolution time, and settlement value

Reading Gemini’s numbers

Gemini reports quantities differently from the other prediction-market toolkits. These conventions are worth knowing before you interpret any result.

Volume is contracts, not dollars

Every volume figure is executed contract quantity, never USD notional. This covers volume, volume_24h, window_vol, baseline_per_window, and the min_volume_24h filter. Responses state this explicitly by returning volume_units: "contracts".

This is the single most confusing difference between the three prediction-market toolkits, so it is worth stating plainly: Polymarket volume really is denominated in dollars, and Gemini volume really is not. Do not carry dollar framing over from one to the other.

Quantities may be fractional

Many Gemini contracts trade in fractional sizes, at increments as small as 0.01. All of Weather, most of Crypto, and some Sports and Commodities contracts behave this way, while Economics, Politics, and Culture are integer-only.

A volume of 30.59 is therefore a genuine size, not a units mismatch or a rounding artifact. Treat volumes as quantities, not as counts of whole contracts.

Prices are probabilities

Prices are executed YES probabilities in the range [0, 1]. They are not cents and not dollars. A price of 0.58 means the market last traded at a 58% implied probability.

Relative volume is unitless

rvol is window_vol / baseline_per_window, so it is a ratio with no unit. The baseline is trailing: 24 hours of history for the 1h window, and 7 days for the 24h window. An rvol above 1 means the window traded above its own recent norm.

Broad scans exclude Sports by default

Sports makes up roughly 3,200 of about 4,800 stored markets, so including it by default would swamp every broad scan. Mover scans therefore leave Sports out unless you opt in explicitly.

Empty and null results are still answers

An empty result set, or a change window that comes back null, is valid data rather than an error. A market may simply be new, illiquid, or lacking the baseline needed for that window.

Likewise, a contract that has never traded returns price, volume, and ts as null. Here null means “nothing observed”, which is not the same as “observed as zero”.

Which contracts count as live

Gemini leaves stale metadata marked as active, so a single upstream flag is not trustworthy on its own. This toolkit applies a defensive filter instead: a contract counts as live only when the event status, the contract status, marketState == "open", and expiryDate > now all agree.

The effect is visible in real responses. An event can report a contract_count well above its live_contract_count, and each excluded contract carries a not_live_reason explaining which check it failed.

One naming trap is worth noting: the event-level field is_in_play is Gemini’s own in-play concept, and it is deliberately not the same thing as contract-level is_live.

Settlement results

Settled contracts are reachable with status="settled" and live_only=false. They expose result ('yes' or 'no'), resolved_at, and settlement_value.

Two caveats matter when reading them:

  • settlement_value is in the underlying’s units. For a Bitcoin price market it is a BTC price, not a probability and not a contract quantity.
  • A non-null result does not imply the event settled. Some contracts resolve while their parent event is still active.