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

> ## Agent Instructions
> To integrate AGG, start with Quickstart: REST (https://docs.agg.market/quickstart/rest), then Order lifecycle & statuses (https://docs.agg.market/concepts/order-lifecycle).
> Track every trade until it reaches a terminal status. Before retrying a failed or timed-out call, read Errors, retries & idempotency (https://docs.agg.market/concepts/errors).
> The API reference is generated from https://docs.agg.market/openapi/openapi.json.

# Provision hosted venue account

> Explicitly requests a hosted account for live execution mode. Reuses the user's durable provisioning intent; a pending response never authorizes duplicate upstream creation. No private key is requested.



## OpenAPI

````yaml /openapi/openapi.json post /users/me/venue-accounts/{venue}
openapi: 3.0.2
info:
  title: AGG API
  version: 1.0.0
  description: >-
    Prediction market aggregator REST API — authentication, users, venue events,
    venue markets, orderbooks, charts, and execution workflows.
servers:
  - url: https://api.agg.market
    description: Production
security: []
tags:
  - name: Authentication
    description: Sign users in and manage their session tokens.
  - name: Markets
    description: Find events, markets and outcomes to trade.
  - name: Market Data
    description: Live orderbooks, prices, charts and scores for those markets.
  - name: Trading
    description: Quote, place, sign, track and cancel orders.
  - name: Portfolio
    description: A user's orders, positions, balances and activity.
  - name: Funding
    description: Deposit addresses, withdrawals, balance refills and fiat on-ramp.
  - name: Users
    description: The signed-in user's profile, linked accounts, KYC and venue keys.
  - name: Hosted Venue Accounts
    description: Provision, fund and withdraw from venue accounts hosted for the user.
  - name: Webhooks
    description: Configure and operate webhook delivery to your server.
  - name: Partner Admin
    description: Server-side reads across your app's users, orders and analytics.
  - name: Paper Trading
    description: Simulated accounts and orders for testing without real funds.
  - name: News
    description: News feeds linked to markets.
  - name: Correlated Markets
    description: Markets related to a given market and the effect of its resolution.
paths:
  /users/me/venue-accounts/{venue}:
    post:
      tags:
        - Hosted Venue Accounts
      summary: Provision hosted venue account
      description: >-
        Explicitly requests a hosted account for live execution mode. Reuses the
        user's durable provisioning intent; a pending response never authorizes
        duplicate upstream creation. No private key is requested.
      operationId: provisionHostedVenueAccount
      parameters:
        - name: venue
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              additionalProperties: false
              type: object
              required:
                - mode
              properties:
                mode:
                  type: string
                  enum:
                    - live
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                additionalProperties: false
                type: object
                required:
                  - venue
                  - accountModel
                  - accountId
                  - environment
                  - status
                  - provisioningEnabled
                  - fundingNetwork
                  - balanceStatus
                  - balance
                properties:
                  venue:
                    type: string
                    enum:
                      - betdex
                  accountModel:
                    type: string
                    enum:
                      - platform-hosted
                  accountId:
                    type: string
                    nullable: true
                  environment:
                    nullable: true
                    type: string
                    enum:
                      - sandbox
                      - production
                  status:
                    type: string
                    enum:
                      - not_created
                      - provisioning
                      - active
                      - suspended
                      - unavailable
                      - disabled
                  provisioningEnabled:
                    type: boolean
                  fundingNetwork:
                    type: string
                    enum:
                      - solana
                  balanceStatus:
                    type: string
                    enum:
                      - available
                      - unavailable
                      - not_applicable
                  balance:
                    additionalProperties: false
                    type: object
                    required:
                      - asset
                      - decimals
                      - totalRaw
                      - availableRaw
                      - unmatchedExposureRaw
                      - updatedAt
                    properties:
                      asset:
                        type: string
                        enum:
                          - USDC
                      decimals:
                        type: number
                        enum:
                          - 6
                      totalRaw:
                        pattern: ^-?[0-9]+$
                        maxLength: 80
                        type: string
                      availableRaw:
                        pattern: ^[0-9]+$
                        maxLength: 80
                        type: string
                      unmatchedExposureRaw:
                        pattern: ^[0-9]+$
                        maxLength: 80
                        type: string
                      updatedAt:
                        format: date-time
                        type: string
                    nullable: true
        '202':
          description: '202'
          content:
            application/json:
              schema:
                additionalProperties: false
                type: object
                required:
                  - venue
                  - accountModel
                  - accountId
                  - environment
                  - status
                  - provisioningEnabled
                  - fundingNetwork
                  - balanceStatus
                  - balance
                properties:
                  venue:
                    type: string
                    enum:
                      - betdex
                  accountModel:
                    type: string
                    enum:
                      - platform-hosted
                  accountId:
                    type: string
                    nullable: true
                  environment:
                    nullable: true
                    type: string
                    enum:
                      - sandbox
                      - production
                  status:
                    type: string
                    enum:
                      - not_created
                      - provisioning
                      - active
                      - suspended
                      - unavailable
                      - disabled
                  provisioningEnabled:
                    type: boolean
                  fundingNetwork:
                    type: string
                    enum:
                      - solana
                  balanceStatus:
                    type: string
                    enum:
                      - available
                      - unavailable
                      - not_applicable
                  balance:
                    additionalProperties: false
                    type: object
                    required:
                      - asset
                      - decimals
                      - totalRaw
                      - availableRaw
                      - unmatchedExposureRaw
                      - updatedAt
                    properties:
                      asset:
                        type: string
                        enum:
                          - USDC
                      decimals:
                        type: number
                        enum:
                          - 6
                      totalRaw:
                        pattern: ^-?[0-9]+$
                        maxLength: 80
                        type: string
                      availableRaw:
                        pattern: ^[0-9]+$
                        maxLength: 80
                        type: string
                      unmatchedExposureRaw:
                        pattern: ^[0-9]+$
                        maxLength: 80
                        type: string
                      updatedAt:
                        format: date-time
                        type: string
                    nullable: true
        '400':
          description: '400'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '401':
          description: '401'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: '403'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '503':
          description: '503'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
        - appId: []
          bearerAuth: []
components:
  schemas:
    ErrorMessage:
      type: object
      required:
        - message
      properties:
        message:
          type: string
  securitySchemes:
    appId:
      type: apiKey
      in: header
      name: x-app-id
      description: Your application ID. Required for all app-tier and user-tier routes.
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        JWT access token returned by POST /auth/verify. Required for user-tier
        routes.

````