betteroff-finance Investing API

The investing API from betteroff-finance — 48 operation(s) for investing.

Operations 49

GET /investing/attestation Get investing attestation #
POST /investing/attestation Post investing attestation #
GET /investing/decibel/account-stream Get investing decibel account stream #
GET /investing/hyperliquid/account-events Get investing hyperliquid account events #
GET /investing/vaultsfyi/positions Get investing vaultsfyi positions #
GET /investing/vaultsfyi/context Get investing vaultsfyi context #
GET /investing/prediction/catalogue Get investing prediction catalogue #
GET /investing/prediction/rules Get investing prediction rules #
GET /investing/prediction/histories Get investing prediction histories #
GET /investing/market-search Get investing market search #
GET /investing/transfer-assets Get investing transfer assets #
GET /investing/funding-wallets Get investing funding wallets #
GET /investing/evm-swaps/quote Get investing evm swaps quote #
GET /investing/solana-swaps/quote Get investing solana swaps quote #
POST /investing/evm-swaps Post investing evm swaps #
POST /investing/evm-swaps/authorize Post investing evm swaps authorize #
GET /investing/morpho/loans/status Get investing morpho loans status #
POST /investing/morpho/loans Post investing morpho loans #
GET /investing/loans/status Get investing loans status #
GET /investing/parcl/account Get investing parcl account #
GET /investing/parcl-v4/history Get investing parcl V4History #
GET /investing/parcl-v4/discovery Get investing parcl V4Discovery #
GET /investing/hyperliquid/access Get investing hyperliquid access #
GET /investing/decibel/access Get investing decibel access #
GET /investing/decibel/market Get investing decibel market #
GET /investing/decibel/book Get investing decibel book #
GET /investing/decibel/candles Get investing decibel candles #
GET /investing/decibel/account Get investing decibel account #
POST /investing/vault-actions Post investing vault actions #
POST /investing/intent-reports Post investing intent reports #
POST /investing/transfers Post investing transfers #
POST /investing/requested-transfers Post investing requested transfers #
POST /investing/requested-vault-deposits Post investing requested vault deposits #
POST /investing/transfer-hashes Post investing transfer hashes #
POST /investing/reconcile Post investing reconcile #
POST /investing/hyperliquid/orders Post investing hyperliquid orders #
POST /investing/hyperliquid/actions Post investing hyperliquid actions #
POST /investing/hyperliquid/actions/report Post investing hyperliquid actions report #
POST /investing/loans Post investing loans #
POST /investing/loopscale/withdrawals Post investing loopscale withdrawals #
POST /investing/loopscale/bundles Post investing loopscale bundles #
POST /investing/solana-deposits Post investing solana deposits #
POST /investing/solana-withdrawals Post investing solana withdrawals #
POST /investing/solana-swaps Post investing solana swaps #
POST /investing/parcl Post investing parcl #
POST /investing/perps Post investing perps #
POST /investing/decibel/wallets Post investing decibel wallets #
POST /investing/decibel/plans Post investing decibel plans #
POST /investing/decibel/confirmations Post investing decibel confirmations #

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/betteroff-finance:betteroff-finance-investing-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

betteroff-finance-investing-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: BetterOff Investing API
  version: 0.5.0+cd65185c
servers:
- url: https://api.betteroff.finance
tags:
- name: investing
paths:
  /investing/attestation:
    get:
      operationId: getInvestingAttestation
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Get investing attestation
      x-summary-source: derived
    post:
      operationId: postInvestingAttestation
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Post investing attestation
      x-summary-source: derived
  /investing/decibel/account-stream:
    get:
      operationId: getInvestingDecibelAccountStream
      tags:
      - investing
      security:
      - session: []
      parameters:
      - name: owner
        in: query
        required: false
        schema:
          type: string
      - name: subaccount
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Authenticated account event stream
          content:
            text/event-stream:
              schema:
                type: string
      summary: Get investing decibel account stream
      x-summary-source: derived
  /investing/hyperliquid/account-events:
    get:
      operationId: getInvestingHyperliquidAccountEvents
      tags:
      - investing
      security:
      - session: []
      parameters:
      - name: owner
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Authenticated account event stream
          content:
            text/event-stream:
              schema:
                type: string
      summary: Get investing hyperliquid account events
      x-summary-source: derived
  /investing/vaultsfyi/positions:
    get:
      operationId: getInvestingVaultsfyiPositions
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Get investing vaultsfyi positions
      x-summary-source: derived
  /investing/vaultsfyi/context:
    get:
      operationId: getInvestingVaultsfyiContext
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Get investing vaultsfyi context
      x-summary-source: derived
  /investing/prediction/catalogue:
    get:
      operationId: getInvestingPredictionCatalogue
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Get investing prediction catalogue
      x-summary-source: derived
  /investing/prediction/rules:
    get:
      operationId: getInvestingPredictionRules
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Get investing prediction rules
      x-summary-source: derived
  /investing/prediction/histories:
    get:
      operationId: getInvestingPredictionHistories
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Get investing prediction histories
      x-summary-source: derived
  /investing/market-search:
    get:
      operationId: getInvestingMarketSearch
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Get investing market search
      x-summary-source: derived
  /investing/transfer-assets:
    get:
      operationId: getInvestingTransferAssets
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Get investing transfer assets
      x-summary-source: derived
  /investing/funding-wallets:
    get:
      operationId: getInvestingFundingWallets
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Get investing funding wallets
      x-summary-source: derived
  /investing/evm-swaps/quote:
    get:
      operationId: getInvestingEvmSwapsQuote
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Get investing evm swaps quote
      x-summary-source: derived
  /investing/solana-swaps/quote:
    get:
      operationId: getInvestingSolanaSwapsQuote
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Get investing solana swaps quote
      x-summary-source: derived
  /investing/evm-swaps:
    post:
      operationId: postInvestingEvmSwaps
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Post investing evm swaps
      x-summary-source: derived
  /investing/evm-swaps/authorize:
    post:
      operationId: postInvestingEvmSwapsAuthorize
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Post investing evm swaps authorize
      x-summary-source: derived
  /investing/morpho/loans/status:
    get:
      operationId: getInvestingMorphoLoansStatus
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Get investing morpho loans status
      x-summary-source: derived
  /investing/morpho/loans:
    post:
      operationId: postInvestingMorphoLoans
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Post investing morpho loans
      x-summary-source: derived
  /investing/loans/status:
    get:
      operationId: getInvestingLoansStatus
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Get investing loans status
      x-summary-source: derived
  /investing/parcl/account:
    get:
      operationId: getInvestingParclAccount
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Get investing parcl account
      x-summary-source: derived
  /investing/parcl-v4/history:
    get:
      operationId: getInvestingParclV4History
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Get investing parcl V4History
      x-summary-source: derived
  /investing/parcl-v4/discovery:
    get:
      operationId: getInvestingParclV4Discovery
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Get investing parcl V4Discovery
      x-summary-source: derived
  /investing/hyperliquid/access:
    get:
      operationId: getInvestingHyperliquidAccess
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Get investing hyperliquid access
      x-summary-source: derived
  /investing/decibel/access:
    get:
      operationId: getInvestingDecibelAccess
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Get investing decibel access
      x-summary-source: derived
  /investing/decibel/market:
    get:
      operationId: getInvestingDecibelMarket
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Get investing decibel market
      x-summary-source: derived
  /investing/decibel/book:
    get:
      operationId: getInvestingDecibelBook
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Get investing decibel book
      x-summary-source: derived
  /investing/decibel/candles:
    get:
      operationId: getInvestingDecibelCandles
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Get investing decibel candles
      x-summary-source: derived
  /investing/decibel/account:
    get:
      operationId: getInvestingDecibelAccount
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Get investing decibel account
      x-summary-source: derived
  /investing/vault-actions:
    post:
      operationId: postInvestingVaultActions
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Post investing vault actions
      x-summary-source: derived
  /investing/intent-reports:
    post:
      operationId: postInvestingIntentReports
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Post investing intent reports
      x-summary-source: derived
  /investing/transfers:
    post:
      operationId: postInvestingTransfers
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Post investing transfers
      x-summary-source: derived
  /investing/requested-transfers:
    post:
      operationId: postInvestingRequestedTransfers
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Post investing requested transfers
      x-summary-source: derived
  /investing/requested-vault-deposits:
    post:
      operationId: postInvestingRequestedVaultDeposits
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Post investing requested vault deposits
      x-summary-source: derived
  /investing/transfer-hashes:
    post:
      operationId: postInvestingTransferHashes
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Post investing transfer hashes
      x-summary-source: derived
  /investing/reconcile:
    post:
      operationId: postInvestingReconcile
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Post investing reconcile
      x-summary-source: derived
  /investing/hyperliquid/orders:
    post:
      operationId: postInvestingHyperliquidOrders
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Post investing hyperliquid orders
      x-summary-source: derived
  /investing/hyperliquid/actions:
    post:
      operationId: postInvestingHyperliquidActions
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Post investing hyperliquid actions
      x-summary-source: derived
  /investing/hyperliquid/actions/report:
    post:
      operationId: postInvestingHyperliquidActionsReport
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Post investing hyperliquid actions report
      x-summary-source: derived
  /investing/loans:
    post:
      operationId: postInvestingLoans
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Post investing loans
      x-summary-source: derived
  /investing/loopscale/withdrawals:
    post:
      operationId: postInvestingLoopscaleWithdrawals
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Post investing loopscale withdrawals
      x-summary-source: derived
  /investing/loopscale/bundles:
    post:
      operationId: postInvestingLoopscaleBundles
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Post investing loopscale bundles
      x-summary-source: derived
  /investing/solana-deposits:
    post:
      operationId: postInvestingSolanaDeposits
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Post investing solana deposits
      x-summary-source: derived
  /investing/solana-withdrawals:
    post:
      operationId: postInvestingSolanaWithdrawals
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Post investing solana withdrawals
      x-summary-source: derived
  /investing/solana-swaps:
    post:
      operationId: postInvestingSolanaSwaps
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Post investing solana swaps
      x-summary-source: derived
  /investing/parcl:
    post:
      operationId: postInvestingParcl
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Post investing parcl
      x-summary-source: derived
  /investing/perps:
    post:
      operationId: postInvestingPerps
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Post investing perps
      x-summary-source: derived
  /investing/decibel/wallets:
    post:
      operationId: postInvestingDecibelWallets
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Post investing decibel wallets
      x-summary-source: derived
  /investing/decibel/plans:
    post:
      operationId: postInvestingDecibelPlans
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Post investing decibel plans
      x-summary-source: derived
  /investing/decibel/confirmations:
    post:
      operationId: postInvestingDecibelConfirmations
      tags:
      - investing
      security:
      - session: []
      responses:
        '200':
          description: Success
        default:
          description: Problem details
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      summary: Post investing decibel confirmations
      x-summary-source: derived
components:
  schemas:
    ProblemDetails:
      $schema: https://json-schema.org/draft/2020-12/schema
      type: object
      properties:
        type:
          type: string
          description: Always "about:blank"; branch on `code`.
        title:
          type: string
        status:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        detail:
          type: string
        code:
          type: string
          description: Stable UPPER_SNAKE code.
        error:
          type: string
          description: Older clients' copy of `detail`.
        message:
          type: string
          description: Older clients' copy of `detail`.
        requestId:
          description: Diagnostic only; quote it to support.
          type: string
        instance:
          type: string
        details:
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
      required:
      - type
      - title
      - status
      - detail
      - code
      - error
      - message
      additionalProperties: {}
      description: RFC 9457 problem details. Some refusals add fields; ignore ones you don't know.
  securitySchemes:
    session:
      type: http
      scheme: bearer
      description: 'The BetterOff app acting for its signed-in user. Not available to integrations: Better Auth session tokens and browser session cookies are rejected. Use an API token or agent OAuth.'
    apiToken:
      type: http
      scheme: bearer
      description: Personal API token (bo_pat_), created in BetterOff settings with the scopes it may use.
    agentOAuth:
      type: openIdConnect
      openIdConnectUrl: https://app.betteroff.finance/api/auth/.well-known/openid-configuration
      description: Agent OAuth grant; the same token and scopes as /mcp.