> ## Documentation Index
> Fetch the complete documentation index at: https://rekko.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Arbitrage Feed

> Get cached arbitrage opportunities with composite scoring.



## OpenAPI

````yaml GET /v1/arbitrage
openapi: 3.1.0
info:
  title: Rekko AI — Prediction Market Intelligence
  description: >-
    The brain for prediction market trading. Deep AI research, Bayesian causal
    decomposition, portfolio-aware strategy signals, cross-platform arbitrage,
    and execution guidance — all in one API. Covers Kalshi, Polymarket,
    Robinhood, and Coinbase. Clean flat JSON designed for developers and
    autonomous trading agents.
  contact:
    name: Rekko AI
    url: https://rekko.ai/
  license:
    name: Proprietary
  version: 1.0.0
servers:
  - url: https://api.rekko.ai
security: []
tags:
  - name: Markets
    description: Prediction market listings, history, resolution, and execution guidance
  - name: Insights
    description: AI-powered research insights with causal decomposition
  - name: Strategy
    description: >-
      Actionable trading signals with Kelly-derived position sizing and causal
      decomposition
  - name: Portfolio
    description: Portfolio-aware strategy, correlation analysis, and hedge recommendations
  - name: Arbitrage
    description: Cross-platform arbitrage detection (Kalshi vs Polymarket vs Robinhood)
  - name: Analytics
    description: Calibration metrics, sentiment, and performance tracking
  - name: Streaming
    description: Real-time SSE event stream and webhooks
  - name: Consensus
    description: Agent trade aggregation and crowd probability
paths:
  /v1/arbitrage:
    get:
      tags:
        - Arbitrage
      summary: Get arbitrage opportunities
      description: Get cached arbitrage opportunities with composite scoring.
      operationId: /v1/arbitrage
      parameters:
        - name: min_spread
          in: query
          required: false
          schema:
            type: number
            maximum: 0.5
            minimum: 0
            description: Minimum spread filter
            default: 0.02
            title: Min Spread
          description: Minimum spread filter
        - name: expand
          in: query
          required: false
          schema:
            type: string
            description: Comma-separated expansions
            default: ''
            title: Expand
          description: Comma-separated expansions
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArbitrageResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    ArbitrageResponse:
      properties:
        scanned_at:
          type: string
          format: date-time
          title: Scanned At
          description: Exact scan timestamp
        count:
          type: integer
          title: Count
          description: Number of opportunities
          default: 0
        opportunities:
          items:
            $ref: '#/components/schemas/ArbitrageOpportunity'
          type: array
          title: Opportunities
          description: Opportunities ranked by score (highest first)
      type: object
      required:
        - scanned_at
      title: ArbitrageResponse
      description: Cross-platform arbitrage scan results.
      example:
        count: 1
        opportunities:
          - cheaper_on: kalshi
            event: Fed rate cut March 2026
            kalshi:
              market_id: KXFED-26MAR19
              url: https://kalshi.com/markets/kxfed/kxfed-26mar19
              yes_price: 0.62
            match_confidence: 0.92
            polymarket:
              market_id: '0x1234abcd'
              url: https://polymarket.com/event/fed-rate-cut-march-2026
              yes_price: 0.68
            scanned_at: '2026-03-21T14:30:00Z'
            score: 78
            spread: 0.06
            spread_pct: 6
        scanned_at: '2026-03-21T14:30:00Z'
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ArbitrageOpportunity:
      properties:
        event:
          type: string
          title: Event
          description: Matched event title
        kalshi:
          $ref: '#/components/schemas/ArbitragePlatformSide'
          description: Kalshi side
        polymarket:
          $ref: '#/components/schemas/ArbitragePlatformSide'
          description: Polymarket side
        spread:
          type: number
          minimum: 0
          title: Spread
          description: Absolute price spread
        spread_pct:
          type: number
          minimum: 0
          title: Spread Pct
          description: Spread as percentage (e.g. 5.0 = 5%)
        cheaper_on:
          type: string
          title: Cheaper On
          description: Platform with lower YES price
        score:
          type: number
          maximum: 100
          minimum: 0
          title: Score
          description: Composite quality score (0-100)
        match_confidence:
          type: number
          maximum: 1
          minimum: 0
          title: Match Confidence
          description: Fuzzy title match confidence
        spread_score:
          anyOf:
            - type: number
              maximum: 100
              minimum: 0
            - type: 'null'
          title: Spread Score
          description: Score from spread magnitude (40% weight)
        liquidity_score:
          anyOf:
            - type: number
              maximum: 100
              minimum: 0
            - type: 'null'
          title: Liquidity Score
          description: Score from combined platform liquidity (20% weight)
        match_confidence_score:
          anyOf:
            - type: number
              maximum: 100
              minimum: 0
            - type: 'null'
          title: Match Confidence Score
          description: Score from title match quality (20% weight)
        execution_score:
          anyOf:
            - type: number
              maximum: 100
              minimum: 0
            - type: 'null'
          title: Execution Score
          description: Score from execution feasibility (20% weight)
        scanned_at:
          type: string
          format: date-time
          title: Scanned At
          description: When this opportunity was detected
      type: object
      required:
        - event
        - kalshi
        - polymarket
        - spread
        - spread_pct
        - cheaper_on
        - score
        - match_confidence
        - scanned_at
      title: ArbitrageOpportunity
      description: Cross-platform arbitrage opportunity with composite scoring.
      example:
        cheaper_on: kalshi
        event: Fed rate cut March 2026
        kalshi:
          market_id: KXFED-26MAR19
          url: https://kalshi.com/markets/kxfed/kxfed-26mar19
          yes_price: 0.62
        match_confidence: 0.92
        polymarket:
          market_id: '0x1234abcd'
          url: https://polymarket.com/event/fed-rate-cut-march-2026
          yes_price: 0.68
        scanned_at: '2026-03-21T14:30:00Z'
        score: 78
        spread: 0.06
        spread_pct: 6
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    ArbitragePlatformSide:
      properties:
        market_id:
          type: string
          title: Market Id
          description: Platform-specific market identifier
        yes_price:
          type: number
          maximum: 1
          minimum: 0
          title: Yes Price
          description: YES probability
        url:
          type: string
          title: Url
          description: Market URL
          default: ''
      type: object
      required:
        - market_id
        - yes_price
      title: ArbitragePlatformSide
      description: One side of an arbitrage opportunity.
      example:
        market_id: KXFED-26MAR19
        url: https://kalshi.com/markets/kxfed/kxfed-26mar19
        yes_price: 0.62

````