BTSE Earn API

Investment product endpoints

Operations 6

GET /api/v3.3/invest/products Query Investment Products #
POST /api/v3.3/invest/deposit Deposit Investment #
POST /api/v3.3/invest/renew Renew Investment #
POST /api/v3.3/invest/redeem Redeem Investment #
GET /api/v3.3/invest/orders Query Investment Orders #
GET /api/v3.3/invest/history Query Investment History #

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-exchange-info-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-ohlcvresponse-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-markets-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-funding-rate-history-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-market-risk-limit-array-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-ticker24-hr-full-array-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-query-order-resp-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-amend-order-resp-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-place-order-resp-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-twap-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-trade-history-resp-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-conditional-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-order-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-query-order-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-create-order-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-amend-order-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-user-trade-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-account-fee-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-order-resp-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-position-resp-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-close-position-resp-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-futures-order-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-open-order-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-position-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-futures-user-trade-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-withdraw-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-transfer-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-convert-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-create-address-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-default-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-asset-exchange-rate-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-investment-order-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-investment-product-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-investment-history-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-deposit-investment-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-renew-investment-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-redeem-investment-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-otcrequest-quote-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-otcaccept-quote-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-otcmarket-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/btse/json-schema/btse-otcquote-response-schema.json

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/btse:btse-earn-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

btse-earn-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Btse Earn API
  version: 3.3.0
  contact:
    name: Support
    url: https://support.btse.com
  description: 'Operations tagged Earn across 2 of this provider''s published API definitions: earn-rest.openapi.yaml, btse-earn-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.btse.com/spot
  description: Production
- url: https://testapi.btse.io/spot
  description: Testnet
tags:
- name: Earn
  description: Investment product endpoints
paths:
  /api/v3.3/invest/products:
    get:
      operationId: getInvestmentProducts
      summary: Query Investment Products
      description: Returns all available investment products.
      tags:
      - Earn
      security: []
      parameters: []
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InvestmentProduct'
              example:
              - id: OPENETH00001
                name: ETH Flex Savings
                currency: ETH
                type: Flex
                startDate: 1610685918000
                interestStartDate: 1610719200000
                rates:
                - days: 1
                  rate: 1.15
                compounding: true
                autoRenewSupported: false
                dailyLimit: 10.0
                minSize: 1.0
                incrementalSize: 1.0
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
    servers:
    - url: https://api.btse.com/spot
      description: Production
    - url: https://testapi.btse.io/spot
      description: Testnet
  /api/v3.3/invest/deposit:
    post:
      operationId: depositInvestment
      summary: Deposit Investment
      description: 'Deposit into an investment product.


        > **Note:** Check `minSize` and `incrementalSize` from Query Investment Products before depositing.'
      tags:
      - Earn
      security:
      - api: []
        nonce: []
        sign: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DepositInvestmentRequest'
            example:
              productId: OPENETH00001
              amount: 1.0
              renew: false
              day: 1
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DepositInvestmentResponse'
              example:
                success: true
        '400':
          description: Bad Request — invalid or missing parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized — invalid API key, nonce, or signature
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
    servers:
    - url: https://api.btse.com/spot
      description: Production
    - url: https://testapi.btse.io/spot
      description: Testnet
  /api/v3.3/invest/renew:
    post:
      operationId: renewInvestment
      summary: Renew Investment
      description: Update the auto-renew setting for an investment order.
      tags:
      - Earn
      security:
      - api: []
        nonce: []
        sign: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RenewInvestmentRequest'
            example:
              orderId: 12345
              autoRenew: true
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenewInvestmentResponse'
              example:
                orderId: 12345
                autoRenew: true
        '400':
          description: Bad Request — invalid or missing parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized — invalid API key, nonce, or signature
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
    servers:
    - url: https://api.btse.com/spot
      description: Production
    - url: https://testapi.btse.io/spot
      description: Testnet
  /api/v3.3/invest/redeem:
    post:
      operationId: redeemInvestment
      summary: Redeem Investment
      description: 'Redeem (withdraw from) an investment order.


        > **Note:** Redemption may take time to process. Check `redemptionProcessing` in Query Investment Orders for status.'
      tags:
      - Earn
      security:
      - api: []
        nonce: []
        sign: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RedeemInvestmentRequest'
            example:
              orderId: 12345
              amount: 1.0
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RedeemInvestmentResponse'
              example:
                success: true
        '400':
          description: Bad Request — invalid or missing parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized — invalid API key, nonce, or signature
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
    servers:
    - url: https://api.btse.com/spot
      description: Production
    - url: https://testapi.btse.io/spot
      description: Testnet
  /api/v3.3/invest/orders:
    get:
      operationId: getInvestmentOrders
      summary: Query Investment Orders
      description: Returns all active investment orders for the authenticated user.
      tags:
      - Earn
      security:
      - api: []
        nonce: []
        sign: []
      parameters: []
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InvestmentOrder'
              example: []
        '400':
          description: Bad Request — invalid or missing parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized — invalid API key, nonce, or signature
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
    servers:
    - url: https://api.btse.com/spot
      description: Production
    - url: https://testapi.btse.io/spot
      description: Testnet
  /api/v3.3/invest/history:
    get:
      operationId: getInvestmentHistory
      summary: Query Investment History
      description: Returns paginated investment transaction history.
      tags:
      - Earn
      security:
      - api: []
        nonce: []
        sign: []
      parameters:
      - name: pageNumber
        in: query
        required: false
        schema:
          type: integer
          default: 1
        description: Page number (1-based, default `1`)
      - name: pageSize
        in: query
        required: false
        schema:
          type: integer
          default: 10
          maximum: 50
        description: Records per page (default `10`, max `50`)
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvestmentHistoryResponse'
              example:
                totalRows: 0
                pageNumber: 1
                pageSize: 10
                data: []
        '400':
          description: Bad Request — invalid or missing parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized — invalid API key, nonce, or signature
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
    servers:
    - url: https://api.btse.com/spot
      description: Production
    - url: https://testapi.btse.io/spot
      description: Testnet
components:
  schemas:
    RedeemInvestmentRequest:
      type: object
      required:
      - orderId
      - amount
      properties:
        orderId:
          type: integer
          description: Investment order ID
        amount:
          type: number
          description: Amount to redeem
    RedeemInvestmentResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Whether the redemption was processed successfully
    ErrorResponse:
      type: object
      properties:
        status:
          type: integer
          description: Error status code
        error:
          type: string
          description: Error message
        code:
          type: integer
          description: Internal error code
        message:
          type: string
          description: Human-readable error description
    InvestmentHistoryResponse:
      type: object
      properties:
        totalRows:
          type: integer
          description: Total records
        pageNumber:
          type: integer
          description: Current page
        pageSize:
          type: integer
          description: Records per page
        data:
          type: array
          items:
            $ref: '#/components/schemas/InvestmentHistoryObject'
          description: History entries
    DepositInvestmentRequest:
      type: object
      required:
      - productId
      - amount
      - renew
      - day
      properties:
        productId:
          type: string
          description: Product ID
        amount:
          type: number
          description: Investment amount
        renew:
          type: boolean
          description: Whether to auto-renew
        day:
          type: integer
          description: Investment duration in days
    RenewInvestmentRequest:
      type: object
      required:
      - orderId
      - autoRenew
      properties:
        orderId:
          type: integer
          description: Investment order ID
        autoRenew:
          type: boolean
          description: New auto-renew setting
    RateObject:
      type: object
      properties:
        days:
          type: integer
          description: Duration in days
        rate:
          type: number
          description: Interest rate
    DepositInvestmentResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Whether the deposit was processed successfully
    RateLimitError:
      type: object
      properties:
        status:
          type: integer
          description: HTTP status code (429)
        message:
          type: string
          description: Rate limit exceeded message
    InvestmentProduct:
      type: object
      properties:
        id:
          type: string
          description: Product ID
        name:
          type: string
          description: Product name
        currency:
          type: string
          description: Currency
        type:
          type: string
          description: Product type (e.g. Flex)
        startDate:
          type: integer
          format: int64
          description: Investment start date (Unix ms)
        interestStartDate:
          type: integer
          format: int64
          description: Interest accrual start date (Unix ms)
        rates:
          type: array
          items:
            $ref: '#/components/schemas/RateObject'
          description: Interest rate tiers
        compounding:
          type: boolean
          description: Whether the product compounds
        autoRenewSupported:
          type: boolean
          description: Whether auto-renew is supported
        dailyLimit:
          type: number
          description: Daily investment limit
        minSize:
          type: number
          description: Minimum investment size
        incrementalSize:
          type: number
          description: Investment step size
    InvestmentHistoryObject:
      type: object
      properties:
        txnTime:
          type: integer
          format: int64
          description: Transaction time
        name:
          type: string
          description: Product name
        currency:
          type: string
          description: Currency
        rate:
          type: number
          description: Interest rate
        type:
          type: string
          description: Product type
        txnType:
          type: string
          description: Transaction type (e.g. INVEST_SERVICE_TYPE_DEPOSIT)
        amount:
          type: number
          description: Transaction amount
        totalAmount:
          type: number
          description: Total invested amount
        interestEarned:
          type: number
          description: Interest earned
        duration:
          type: integer
          format: int64
          description: Duration
    RenewInvestmentResponse:
      type: object
      properties:
        orderId:
          type: integer
          description: Investment order ID
        autoRenew:
          type: boolean
          description: Updated auto-renew status
    InvestmentOrder:
      type: object
      properties:
        id:
          type: integer
          description: Order ID
        name:
          type: string
          description: Product name
        currency:
          type: string
          description: Currency
        type:
          type: string
          description: Product type
        rate:
          type: number
          description: Interest rate
        investAmt:
          type: number
          description: Invested amount
        interestEarned:
          type: number
          description: Interest earned to date
        nextInterestPayoutTime:
          type: integer
          format: int64
          description: Next payout timestamp
        startTime:
          type: integer
          format: int64
          description: Order start time
        endTime:
          type: integer
          format: int64
          description: Order end time
        duration:
          type: integer
          format: int64
          description: Duration in milliseconds
        payoutLockTime:
          type: integer
          format: int64
          description: Lock time before payout
        autoRenew:
          type: boolean
          description: Auto-renew status
        compounding:
          type: boolean
          description: Whether compounding is active
        autoRenewSupported:
          type: boolean
          description: Whether product supports auto-renew
        redemptionProcessing:
          type: boolean
          description: Whether a redemption is currently processing
  securitySchemes:
    api:
      type: apiKey
      in: header
      name: request-api
      description: API key
    nonce:
      type: apiKey
      in: header
      name: request-nonce
      description: Current timestamp in milliseconds
    sign:
      type: apiKey
      in: header
      name: request-sign
      description: '`HMAC-SHA384(secret, path + nonce + body)`'
x-refined-from:
- earn-rest.openapi.yaml
- btse-earn-openapi.yml