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

# Get account

> Your account's trading settings: the fee Splash charges on your orders (`fee`), the maximum trade (`max_trade`) and whether the account can trade (`trading_status`). Read it at start-up; the settings change rarely. With `fee`, and `cash_available` from [Get balance](/predictions/reference/account/get-balance), you can work out to the cent what an order will take from your cash before you send it, and then send the raw order to [Place an order](/predictions/reference/orders/place-an-order) without any fee field: Splash computes the fee itself. The formulas, rounding and a calculator are in [Fees and order cost](/predictions/fees).

Sign the request with your API key, like the order and position routes; see [Authentication](/predictions/authentication). A request without the `SPLASH-ACCESS-KEY` header is not an API request: it is answered `200` as for a visitor who is not logged in, with no `trading_status`, `price_tolerance` or `blocked_sub_categories`, and with Splash's default fee rather than yours. If `trading_status` is missing from a response you meant to sign, check your headers. The one exception is a request with an `Authorization` header that does not verify, which is a `401`.

`kyc_failure_reason`, `kyc_docv_status`, `docv`, `price_tolerance`, `blocked_sub_categories` and `state_config` serve the Splash app; an API client normally needs only `fee`, `max_trade` and `trading_status`. Every field that has no value is omitted, never `null`.



## OpenAPI

````yaml /predictions/openapi.json get /account
openapi: 3.1.0
info:
  title: Splash Predictions API
  version: 1.0.0
  description: >-
    Splash prediction markets: leagues, games, game lines, futures and player
    props, and the signed routes to place orders, read your orders, positions
    and transactions, and read your account's fee settings and cash balance. The
    market endpoints need no authentication; the order, position, account and
    balance endpoints are [signed with an API key](/predictions/authentication).
servers:
  - url: https://api.splashsports.com/predictions-service/api
    description: Production
security: []
tags:
  - name: Discover
    description: The home feed.
  - name: Sub-categories
    description: Leagues, their availability and their tabs.
  - name: Markets
    description: Market group listings and single groups.
  - name: Events
    description: One game's markets, shaped for the game page.
  - name: Orders
    description: Place orders and read them. Signed requests.
  - name: Positions
    description: Read your positions. Signed requests.
  - name: Activity
    description: 'Your transaction history: fills and settlement payouts. Signed requests.'
  - name: Account
    description: Your fee settings, maximum trade and cash balance. Signed requests.
paths:
  /account:
    get:
      tags:
        - Account
      summary: Get account
      description: >-
        Your account's trading settings: the fee Splash charges on your orders
        (`fee`), the maximum trade (`max_trade`) and whether the account can
        trade (`trading_status`). Read it at start-up; the settings change
        rarely. With `fee`, and `cash_available` from [Get
        balance](/predictions/reference/account/get-balance), you can work out
        to the cent what an order will take from your cash before you send it,
        and then send the raw order to [Place an
        order](/predictions/reference/orders/place-an-order) without any fee
        field: Splash computes the fee itself. The formulas, rounding and a
        calculator are in [Fees and order cost](/predictions/fees).


        Sign the request with your API key, like the order and position routes;
        see [Authentication](/predictions/authentication). A request without the
        `SPLASH-ACCESS-KEY` header is not an API request: it is answered `200`
        as for a visitor who is not logged in, with no `trading_status`,
        `price_tolerance` or `blocked_sub_categories`, and with Splash's default
        fee rather than yours. If `trading_status` is missing from a response
        you meant to sign, check your headers. The one exception is a request
        with an `Authorization` header that does not verify, which is a `401`.


        `kyc_failure_reason`, `kyc_docv_status`, `docv`, `price_tolerance`,
        `blocked_sub_categories` and `state_config` serve the Splash app; an API
        client normally needs only `fee`, `max_trade` and `trading_status`.
        Every field that has no value is omitted, never `null`.
      operationId: getAccount
      responses:
        '200':
          description: Your account's trading settings.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountResponse'
              examples:
                Formula fee:
                  summary: Formula fee
                  value:
                    status: success
                    trading_status: approved
                    max_trade: 100000
                    fee:
                      type: formula
                      formula_type: symmetric_price_uncertainty
                      theta: 0.07
                    price_tolerance: 0
                    blocked_sub_categories: []
                    kyc_docv_status: approved
                    state_config:
                      disallowed: []
                  description: >-
                    The fee is 0.07 × contracts × price × (1 − price), rounded
                    to the cent half to even: $0.17 on 10 contracts at $0.59.
                Verification pending:
                  summary: Verification pending
                  value:
                    status: success
                    trading_status: pending
                    max_trade: 100000
                    fee:
                      type: formula
                      formula_type: symmetric_price_uncertainty
                      theta: 0.07
                    price_tolerance: 0
                    blocked_sub_categories: []
                    kyc_docv_status: pending
                    docv:
                      url: https://verify.example.com/session/7d2f9a
                      docvTransactionToken: a1b2c3d4-0e9f-4a8b-9c7d-6e5f4a3b2c1d
                    state_config:
                      disallowed: []
                  description: >-
                    Identity verification is not finished, so orders are refused
                    with `403 Not authorized to trade`. `docv` lets the Splash
                    app resume the photo ID check.
                Request without the key header:
                  summary: Request without the key header
                  value:
                    status: success
                    max_trade: 100000
                    fee:
                      type: formula
                      formula_type: symmetric_price_uncertainty
                      theta: 0.07
                    state_config:
                      disallowed: []
                  description: >-
                    No `SPLASH-ACCESS-KEY` header, so the request was answered
                    as for a visitor who is not logged in: no `trading_status`,
                    no app preferences, and Splash's default fee rather than
                    yours. Sign the request to read your own account.
        '401':
          description: >-
            The signature check failed. `message` is one of `Unknown API key`,
            `API key revoked`, `Timestamp outside the allowed window` or
            `Invalid signature`; `API key revoked` is reported only when the
            signature is correct. A request that carries an `Authorization`
            header that does not verify is also a `401`, with `You are not
            authorized to perform the requested action.` Otherwise a request
            without the `SPLASH-ACCESS-KEY` header is not a `401` here: it gets
            the visitor response described above. See [Authentication
            errors](/predictions/authentication#authentication-errors).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TradingError'
              examples:
                Invalid signature:
                  summary: Invalid signature
                  value:
                    status: error
                    error: NOT_AUTHORIZED
                    message: Invalid signature
                  description: >-
                    The signature does not match what Splash computed. Check
                    that you signed the exact body bytes and the full path
                    including `/predictions-service/api` and the query string.
                Timestamp outside the allowed window:
                  summary: Timestamp outside the allowed window
                  value:
                    status: error
                    error: NOT_AUTHORIZED
                    message: Timestamp outside the allowed window
                  description: >-
                    `SPLASH-ACCESS-TIMESTAMP` is more than 30 seconds from
                    server time. Check your clock.
                Unknown API key:
                  summary: Unknown API key
                  value:
                    status: error
                    error: NOT_AUTHORIZED
                    message: Unknown API key
                API key revoked:
                  summary: API key revoked
                  value:
                    status: error
                    error: NOT_AUTHORIZED
                    message: API key revoked
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/InternalError'
        '503':
          $ref: '#/components/responses/Unavailable'
      security:
        - SplashAccessKey: []
          SplashAccessTimestamp: []
          SplashAccessSignature: []
      x-codeSamples:
        - lang: bash
          label: cURL
          source: >-
            KEY="your-key-id"

            SECRET="your-secret"

            METHOD="GET"

            URLPATH="/predictions-service/api/account"

            BODY=""


            TS=$(( $(date +%s) * 1000 ))

            SIG=$(printf '%s' "$TS$METHOD$URLPATH$BODY" | openssl dgst -sha256
            -hmac "$SECRET" -binary | base64)


            curl -X "$METHOD" "https://api.splashsports.com$URLPATH" \
              -H "SPLASH-ACCESS-KEY: $KEY" \
              -H "SPLASH-ACCESS-TIMESTAMP: $TS" \
              -H "SPLASH-ACCESS-SIGNATURE: $SIG"
        - lang: python
          label: Python
          source: |-
            import base64, hashlib, hmac, json, time
            import requests

            KEY = "your-key-id"
            SECRET = "your-secret"
            HOST = "https://api.splashsports.com"


            def sign(secret, timestamp, method, path, body):
                message = (timestamp + method + path + body).encode("utf-8")
                digest = hmac.new(secret.encode("utf-8"), message, hashlib.sha256).digest()
                return base64.b64encode(digest).decode("ascii")


            def request(method, path, payload=None):
                body = json.dumps(payload, separators=(",", ":")) if payload is not None else ""
                timestamp = str(int(time.time() * 1000))
                headers = {
                    "Content-Type": "application/json",
                    "SPLASH-ACCESS-KEY": KEY,
                    "SPLASH-ACCESS-TIMESTAMP": timestamp,
                    "SPLASH-ACCESS-SIGNATURE": sign(SECRET, timestamp, method, path, body),
                }
                return requests.request(method, HOST + path, headers=headers, data=body.encode("utf-8"))


            response = request("GET", "/predictions-service/api/account")
            print(response.status_code, response.json())
        - lang: typescript
          label: TypeScript
          source: >-
            import { createHmac } from "node:crypto";


            const KEY = "your-key-id";

            const SECRET = "your-secret";

            const HOST = "https://api.splashsports.com";


            function sign(secret: string, timestamp: string, method: string,
            path: string, body: string): string {
              return createHmac("sha256", secret).update(timestamp + method + path + body, "utf8").digest("base64");
            }


            const method = "GET";

            const path = "/predictions-service/api/account";

            const body = "";

            const timestamp = Date.now().toString();


            const response = await fetch(HOST + path, {
              method,
              headers: {
                "SPLASH-ACCESS-KEY": KEY,
                "SPLASH-ACCESS-TIMESTAMP": timestamp,
                "SPLASH-ACCESS-SIGNATURE": sign(SECRET, timestamp, method, path, body),
              },
            });

            console.log(response.status, await response.json());
        - lang: go
          label: Go
          source: "package main\n\nimport (\n\t\"bytes\"\n\t\"crypto/hmac\"\n\t\"crypto/sha256\"\n\t\"encoding/base64\"\n\t\"fmt\"\n\t\"io\"\n\t\"net/http\"\n\t\"strconv\"\n\t\"time\"\n)\n\nconst (\n\tkey    = \"your-key-id\"\n\tsecret = \"your-secret\"\n\thost   = \"https://api.splashsports.com\"\n)\n\nfunc sign(secret, timestamp, method, path string, body []byte) string {\n\tmac := hmac.New(sha256.New, []byte(secret))\n\tmac.Write([]byte(timestamp + method + path))\n\tmac.Write(body)\n\treturn base64.StdEncoding.EncodeToString(mac.Sum(nil))\n}\n\nfunc main() {\n\tmethod := \"GET\"\n\tpath := \"/predictions-service/api/account\"\n\n\tvar body []byte // no body: the signature covers the empty string\n\ttimestamp := strconv.FormatInt(time.Now().UnixMilli(), 10)\n\n\treq, err := http.NewRequest(method, host+path, bytes.NewReader(body))\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treq.Header.Set(\"SPLASH-ACCESS-KEY\", key)\n\treq.Header.Set(\"SPLASH-ACCESS-TIMESTAMP\", timestamp)\n\treq.Header.Set(\"SPLASH-ACCESS-SIGNATURE\", sign(secret, timestamp, method, path, body))\n\n\tresp, err := http.DefaultClient.Do(req)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tdefer resp.Body.Close()\n\tout, _ := io.ReadAll(resp.Body)\n\tfmt.Println(resp.StatusCode, string(out))\n}"
components:
  schemas:
    AccountResponse:
      type: object
      title: AccountResponse
      description: >-
        Your account's trading settings: the fee on your orders, the maximum
        trade and whether you can trade. See [Fees and order
        cost](/predictions/fees).
      required:
        - status
        - max_trade
        - state_config
      properties:
        status:
          type: string
          const: success
          description: Always `success` on a 200.
          example: success
        trading_status:
          type: string
          enum:
            - approved
            - pending
            - denied
          description: >-
            Whether the account can trade. `approved`: identity verification
            passed and the account can place orders. `pending`: verification is
            under way; orders are refused with `403 Not authorized to trade`
            until it passes. `denied`: verification failed or the account is
            suspended, `kyc_failure_reason` says which, and orders are refused
            with `403`. Omitted when the account has not started verification or
            has been allowed to start it again, and on a request without the
            `SPLASH-ACCESS-KEY` header.
          example: approved
        max_trade:
          type: number
          description: >-
            The maximum trade, in dollars: the most an order may cost in
            contracts (`quantity` × `price`); the fee is not counted. An order
            over it is refused with `400 Order exceeds the maximum trade of
            $<limit>`; closing a position is never limited. The same for every
            account. See [Fees and order
            cost](/predictions/fees#what-a-buy-costs).
          example: 100000
        fee:
          $ref: '#/components/schemas/FeeInfo'
          description: >-
            The fee Splash charges on your orders, which Splash adds to a buy's
            debit and takes from a close's proceeds. Use it to compute an
            order's cost before you send it; see [Fees and order
            cost](/predictions/fees). On a request without the
            `SPLASH-ACCESS-KEY` header it is Splash's default fee, not yours.
            Omitted only if Splash cannot describe the account's fee settings;
            do not read a missing `fee` as no fee.
        price_tolerance:
          type: integer
          minimum: 0
          maximum: 10
          description: >-
            A preference set in the Splash app: how many cents above the price
            shown the user is willing to be filled at, 0 to 10, 0 by default.
            Orders placed through this API do not read it: an order fills at its
            own `price` or better. Present once the user has a Splash trading
            account (it is created when identity verification starts) and
            omitted before then.
          example: 0
        blocked_sub_categories:
          type: array
          items:
            type: string
            enum:
              - nba
              - nfl
              - mlb
              - nhl
              - pga
              - nascar
              - lol
              - csgo
              - ncaaf
              - tennis
              - ncaab
              - wnba
              - epl
              - mls
          description: >-
            Leagues the user asked the Splash app to hide, as league ids like
            `nfl`. A preference only: `POST /trading/orders` does not read it,
            so an order on one of these leagues is not refused for it. Present,
            as `[]` when nothing is blocked, once the user has a Splash trading
            account, and omitted before then. See
            [Leagues](/predictions/enums#leagues-sub_category).
          example: []
        kyc_failure_reason:
          type: string
          description: >-
            Why the account cannot trade, for display: `Account suspended`, the
            reason identity verification failed, or `KYC verification failed`
            when no reason was recorded. Present only when `trading_status` is
            `denied`.
          example: KYC verification failed
        kyc_docv_status:
          type: string
          enum:
            - pending
            - approved
            - denied
          description: >-
            Where the document-verification step stands, for accounts asked for
            a photo ID check during identity verification. `pending`: the check
            has not finished. `approved`: the check passed. `denied`: it failed.
            Omitted when the account was not asked for the check, and whenever
            `trading_status` is omitted.
          example: approved
        docv:
          $ref: '#/components/schemas/DocvSession'
          description: >-
            The open document-verification session, so the Splash app can resume
            it. Present only while `trading_status` and `kyc_docv_status` are
            both `pending`, and only when Splash could fetch the session.
        state_config:
          type: object
          description: >-
            Display settings the Splash app reads. Always present; not part of
            the API, so API clients can ignore it.
      example:
        status: success
        trading_status: approved
        max_trade: 100000
        fee:
          type: formula
          formula_type: symmetric_price_uncertainty
          theta: 0.07
        price_tolerance: 0
        blocked_sub_categories: []
        kyc_docv_status: approved
        state_config:
          disallowed: []
    TradingError:
      type: object
      title: TradingError
      description: >-
        The error body of the signed order and position routes. Same shape as
        the public `Error`, with the codes those routes can return. Branch on
        `error`; `message` is for people. See
        [Errors](/predictions/trading#errors).
      required:
        - status
        - error
        - message
      properties:
        status:
          type: string
          const: error
          description: Always `error` on an error response.
          example: error
        error:
          type: string
          description: >-
            Machine-readable code; branch on this. A string: the values below
            are the ones these routes return today, and a code not listed here
            should be handled by its HTTP status. See [Trading error
            codes](/predictions/enums#trading-error-codes-error).


            - `BAD_REQUEST` (400): invalid body or query, or an order check
            failed.

            - `NOT_AUTHORIZED` (401): the signature check failed, the request
            had no `SPLASH-ACCESS-KEY` header, or `user_id` was passed to `GET
            /orders`, `GET /orders/{id}`, `GET /positions`, `GET
            /positions/{id}` or `GET /transactions`.

            - `FOBIDDEN` (403): `Not authorized to trade`, the account may not
            trade. `FOBIDDEN` is the literal value the API returns (not
            `FORBIDDEN`); match it exactly.

            - `NOT_FOUND` (404): no such order, position or market on your
            account.

            - `DUPLICATE_REQUEST_ID` (409): another account used this
            `request_id`.

            - `UNSUPPORTED_MEDIA_TYPE` (415): a signed body that is not JSON.

            - `INTERNAL_ERROR` (500): the request could not be handled. On `POST
            /trading/orders` the order was not placed; poll the `request_id`,
            then try again with a new one.

            - `TRADING_API_UNAVAILABLE` (503): the Trading API is not taking
            signed requests; retry later.

            - `EXCHANGE_UNAVAILABLE`, `SERVICE_UNAVAILABLE` (503): the order
            could not be placed right now; retry later with a new `request_id`.
            On `GET /balance`, `SERVICE_UNAVAILABLE` means your balance could
            not be read; retry shortly.


            A `429 Too Many Requests` is the rate limit, not one of these codes;
            see [Rate limits](/predictions/rate-limits). Whether an order's
            `request_id` can be reused after an error: see [Order outcomes and
            retries](/predictions/trading#order-outcomes-and-retries).
          example: FOBIDDEN
        message:
          type: string
          description: >-
            Human-readable detail. For `BAD_REQUEST` and `NOT_AUTHORIZED` it
            names the cause, e.g. `Invalid price` or `Invalid signature`. Do not
            branch on it.
          example: Not authorized to trade
      example:
        status: error
        error: FOBIDDEN
        message: Not authorized to trade
    FeeInfo:
      type: object
      title: FeeInfo
      description: >-
        The fee Splash charges on your orders, from your account's fee settings:
        `theta` × contracts × price × (1 − price), rounded to the cent half to
        even. On a buy the fee is added to the contracts cost and debited with
        it; on a close it comes out of the proceeds. You never send it with an
        order. See [Fees and order cost](/predictions/fees).
      required:
        - type
        - formula_type
        - theta
      properties:
        type:
          type: string
          enum:
            - formula
          description: >-
            The kind of fee. Always `formula`: the fee is `theta` × contracts ×
            price × (1 − price). See [The fee](/predictions/fees#the-fee).
          example: formula
        formula_type:
          type: string
          enum:
            - symmetric_price_uncertainty
          description: >-
            Which formula `theta` goes into. Always
            `symmetric_price_uncertainty`: fee = `theta` × contracts × price ×
            (1 − price), rounded to the cent half to even. It gives the same fee
            for a price and its complement, so it is the same on either side and
            on a buy or a close.
          example: symmetric_price_uncertainty
        theta:
          type: number
          description: >-
            The coefficient in the fee, `theta` × contracts × price × (1 −
            price). With `theta` 0.07, 10 contracts at $0.59 pay 0.07 × 10 ×
            0.59 × 0.41 = $0.16933, rounded to $0.17. See [The
            fee](/predictions/fees#the-fee).
          example: 0.07
      example:
        type: formula
        formula_type: symmetric_price_uncertainty
        theta: 0.07
    DocvSession:
      type: object
      title: DocvSession
      description: >-
        A document-verification session in progress: the photo ID check some
        accounts are asked for during identity verification. The Splash app uses
        it to resume the check. Every field is optional; the verification
        provider sends only what the session needs.
      properties:
        url:
          type: string
          description: >-
            A link that opens the verification session in a browser. Omitted
            when the provider did not send one.
          example: https://verify.example.com/session/7d2f9a
        qrCode:
          type: string
          description: >-
            A QR code for opening the same session on a phone, as the provider
            sends it. Omitted when the provider did not send one.
          example: data:image/png;base64,iVBORw0KGgo=
        docvTransactionToken:
          type: string
          description: >-
            The provider's token for this verification session, which its SDK
            takes to resume it. Omitted when the provider did not send one.
          example: a1b2c3d4-0e9f-4a8b-9c7d-6e5f4a3b2c1d
        eventId:
          type: string
          description: >-
            The provider's id for the verification event. Omitted when the
            provider did not send one.
          example: evt_5c1e9a7b
        sdkKey:
          type: string
          description: >-
            The key the provider's SDK needs to open the session in an app.
            Omitted when the provider did not send one.
          example: sdk_live_3f9b
      example:
        url: https://verify.example.com/session/7d2f9a
        docvTransactionToken: a1b2c3d4-0e9f-4a8b-9c7d-6e5f4a3b2c1d
    TooManyRequestsError:
      type: object
      title: TooManyRequestsError
      description: >-
        The body of a `429 Too Many Requests`: more than 10 requests per second
        from your IP address. It is not a `TradingError`; branch on the `429`
        status. See [Rate limits](/predictions/rate-limits).
      required:
        - status
        - error
        - message
      properties:
        status:
          type: string
          const: error
          description: Always `error`.
          example: error
        error:
          type: string
          const: TOO_MANY_REQUESTS
          description: Always `TOO_MANY_REQUESTS` on a rate-limited request.
          example: TOO_MANY_REQUESTS
        message:
          type: string
          description: Human-readable detail. Do not branch on it.
          example: Too many requests, try again later
      example:
        status: error
        error: TOO_MANY_REQUESTS
        message: Too many requests, try again later
    Error:
      type: object
      required:
        - status
        - error
        - message
      properties:
        status:
          type: string
          const: error
          description: Always `error` on an error response.
          example: error
        error:
          type: string
          enum:
            - BAD_REQUEST
            - NOT_FOUND
            - INTERNAL_ERROR
          description: >-
            Machine-readable code; branch on this. `BAD_REQUEST` (400),
            `NOT_FOUND` (404) or `INTERNAL_ERROR` (500). See [Error
            codes](/predictions/enums#error-codes-error).
          example: BAD_REQUEST
        message:
          type: string
          description: >-
            Human-readable detail for logs and people. Wording can change; do
            not branch on it.
          example: Invalid request parameters
      title: Error
      example:
        status: error
        error: BAD_REQUEST
        message: Invalid request parameters
  responses:
    RateLimited:
      description: >-
        Too Many Requests: more than 10 requests per second from your IP
        address. The request was not handled and nothing was recorded. If the
        response has a `Retry-After` header, wait that many seconds; otherwise
        back off (about 1 second, with jitter). Then send the same request
        again; on `POST /trading/orders` reuse the same `request_id`. See [Rate
        limits](/predictions/rate-limits).
      headers:
        Retry-After:
          description: >-
            Optional, and may be absent. When present, the number of seconds to
            wait before retrying; when absent, back off about 1 second with
            jitter.
          required: false
          schema:
            type: integer
          example: 1
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/TooManyRequestsError'
          examples:
            Over the limit:
              summary: Over the limit
              value:
                status: error
                error: TOO_MANY_REQUESTS
                message: Too many requests, try again later
              description: >-
                More than 10 requests per second from your IP address. Nothing
                was recorded; wait about a second (or the `Retry-After` seconds
                when that header is present) and send the same request again.
    InternalError:
      description: >-
        The request could not be handled. On `POST /trading/orders` the order
        was not placed: poll `GET /orders?request_id=` before trying again. If
        the poll returns the order, follow it; otherwise send the order again
        with a new `request_id`, because this one now reads `cancelled`. See
        [Order outcomes and
        retries](/predictions/trading#order-outcomes-and-retries).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            The request could not be handled:
              summary: The request could not be handled
              value:
                status: error
                error: INTERNAL_ERROR
                message: >-
                  An internal error has occured and the request could not be
                  handled.
              description: >-
                The message is spelled `occured` on the wire. On `POST
                /trading/orders`, poll the `request_id` before trying again,
                then send the order with a new `request_id`.
    Unavailable:
      description: >-
        The Trading API cannot take signed requests right now
        (`TRADING_API_UNAVAILABLE`). Nothing was read or recorded. Retry later.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/TradingError'
          examples:
            The Trading API is not available:
              summary: The Trading API is not available
              value:
                status: error
                error: TRADING_API_UNAVAILABLE
                message: The trading API is not available.
  securitySchemes:
    SplashAccessKey:
      type: apiKey
      in: header
      name: SPLASH-ACCESS-KEY
      description: >-
        Your API key id. Keys are issued by Splash on request, never expire, and
        stay valid until Splash revokes them, which it does on request. See
        [Authentication](/predictions/authentication).
    SplashAccessTimestamp:
      type: apiKey
      in: header
      name: SPLASH-ACCESS-TIMESTAMP
      description: Unix milliseconds, within 30 seconds of server time.
    SplashAccessSignature:
      type: apiKey
      in: header
      name: SPLASH-ACCESS-SIGNATURE
      description: >-
        `base64(HMAC-SHA256(secret, timestamp + METHOD + path + body))`. See
        [Authentication](/predictions/authentication).

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.