Cubist RPC API

The RPC API from Cubist — 1 operation(s) for rpc.

Operations 1

POST /v0/org/{org_id}/rpc High-level RPC endpoint. #

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/cubist-rpc-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

cubist-rpc-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CubeSigner Account RPC API
  description: The CubeSigner management and signing service.
  contact:
    name: Cubist Inc.
    email: hello@cubist.dev
  version: v0.1.0
servers:
- url: https://gamma.signer.cubist.dev
  description: Testing and staging environment
- url: https://prod.signer.cubist.dev
  description: Production environment
security:
- Cognito: []
tags:
- name: RPC
paths:
  /v0/org/{org_id}/rpc:
    post:
      tags:
      - RPC
      summary: High-level RPC endpoint.
      description: High-level RPC endpoint.
      operationId: rpcApi
      parameters:
      - name: org_id
        in: path
        description: Name or ID of the desired Org
        required: true
        schema:
          type: string
        example: Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/JsonRpcResponse'
        default:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - SignerAuth:
        - rpc:*
components:
  schemas:
    UniversalTransferHistoryRequest:
      type: object
      description: 'Parameters for `GET /sapi/v1/sub-account/universalTransfer`.


        Lists universal transfers initiated by the master account. All filters

        are optional; if `start_time`/`end_time` are omitted, Binance returns the

        most recent 30 days. Binance does not support filtering by `tran_id`

        directly — use `client_tran_id` if you set one when initiating the

        transfer, or page through the result and match the `tranId` client-side.'
      properties:
        clientTranId:
          type:
          - string
          - 'null'
          description: Filter by client-supplied transfer id.
        endTime:
          type:
          - integer
          - 'null'
          format: int64
          description: Window end (ms since epoch).
          minimum: 0
        fromEmail:
          type:
          - string
          - 'null'
          description: Filter to transfers originating from this sub-account email.
        limit:
          type:
          - integer
          - 'null'
          format: int32
          description: 'Page size (Binance default: 500, max: 500).'
          minimum: 0
        page:
          type:
          - integer
          - 'null'
          format: int32
          description: '1-based page number (Binance default: 1).'
          minimum: 0
        startTime:
          type:
          - integer
          - 'null'
          format: int64
          description: Window start (ms since epoch).
          minimum: 0
        toEmail:
          type:
          - string
          - 'null'
          description: Filter to transfers destined for this sub-account email.
    BadRequestErrorCode:
      type: string
      enum:
      - GenericBadRequest
      - DisallowedAllowRuleReference
      - InvalidPaginationToken
      - InvalidEmail
      - InvalidEmailTemplate
      - QueryMetricsError
      - InvalidTelegramData
      - ValidationError
      - WebhookPolicyTimeoutOutOfBounds
      - WebhookPolicyDisallowedUrlScheme
      - WebhookPolicyDisallowedUrlHost
      - WebhookPolicyDisallowedHeaders
      - ReservedName
      - UserEmailNotConfigured
      - EmailPasswordNotFound
      - PasswordAuthNotAllowedByInvitation
      - OneTimeCodeExpired
      - InvalidBody
      - InvalidJwt
      - InvitationNoLongerValid
      - TokenRequestError
      - InvalidMfaReceipt
      - InvalidMfaPolicyCount
      - InvalidMfaPolicyNumAuthFactors
      - InvalidMfaPolicyNumAllowedApprovers
      - InvalidMfaPolicyGracePeriodTooLong
      - InvalidBabylonStakingPolicyParams
      - InvalidSuiTxReceiversEmptyAllowlist
      - InvalidBtcTxReceiversEmptyAllowlist
      - InvalidRequireRoleSessionAllowlist
      - InvalidCreateKeyCount
      - InvalidDiffieHellmanCount
      - OrgInviteExistingUser
      - OrgUserAlreadyExists
      - OrgNameTaken
      - KwkNotFoundInRegion
      - OrgIsNotOrgExport
      - RoleNameTaken
      - PolicyNameTaken
      - NameTaken
      - ContactNameInvalid
      - ContactAddressesInvalid
      - ContactLabelInvalid
      - ContactModified
      - PolicyNotFound
      - PolicyVersionNotFound
      - PolicyRuleDisallowedByType
      - PolicyTypeDisallowed
      - PolicyDuplicateError
      - PolicyStillAttached
      - PolicyModified
      - PolicyNotAttached
      - AddKeyToRoleCountTooHigh
      - InvalidKeyId
      - InvalidTimeLockAlreadyInThePast
      - InvalidRestrictedScopes
      - InvalidUpdate
      - InvalidMetadataLength
      - InvalidLength
      - InvalidKeyMaterialId
      - KeyNotFound
      - SiweChallengeNotFound
      - SiweInvalidRequest
      - SiwsChallengeNotFound
      - SiwsInvalidRequest
      - UserExportDerivedKey
      - UserExportPublicKeyInvalid
      - NistP256PublicKeyInvalid
      - UnableToAccessSmtpRelay
      - UserExportInProgress
      - RoleNotFound
      - InvalidRoleNameOrId
      - InvalidMfaReceiptOrgIdMissing
      - InvalidMfaReceiptInvalidOrgId
      - MfaRequestNotFound
      - InvalidKeyType
      - InvalidPropertiesForKeyType
      - MismatchedKeyPropertiesPatch
      - MissingBinanceApiKey
      - MissingBybitApiKey
      - MissingCoinbaseApiKey
      - BinanceKeyMasterMismatch
      - BybitAccountMismatch
      - InvalidKeyMaterial
      - InvalidHexValue
      - InvalidBase32Value
      - InvalidBase58Value
      - InvalidBase64Value
      - InvalidSs58Value
      - InvalidForkVersionLength
      - InvalidEthAddress
      - InvalidStellarAddress
      - InvalidOrgNameOrId
      - InvalidUpdateOrgRequestDisallowedMfaType
      - InvalidUpdateOrgRequestEmptyAllowedMfaTypes
      - EmailOtpDelayTooShortForRegisterMfa
      - InvalidStakeDeposit
      - InvalidBlobSignRequest
      - InvalidDiffieHellmanRequest
      - InvalidSolanaSignRequest
      - InvalidEip712SignRequest
      - InvalidEip7702SignRequest
      - OnlySpecifyOne
      - IncompatibleParams
      - NoOidcDataInProof
      - InvalidEvmSignRequest
      - InvalidEth2SignRequest
      - InvalidDeriveKeyRequest
      - InvalidStakingAmount
      - CustomStakingAmountNotAllowedForWrapperContract
      - InvalidUnstakeRequest
      - InvalidCreateUserRequest
      - UserAlreadyExists
      - IdpUserAlreadyExists
      - CognitoUserAlreadyOrgMember
      - UserNotFound
      - UserWithEmailNotFound
      - PolicyKeyMismatch
      - EmptyScopes
      - InvalidScopesForRoleSession
      - InvalidLifetime
      - NoSingleKeyForUser
      - InvalidOrgPolicyRule
      - SourceIpAllowlistEmpty
      - LimitWindowTooLong
      - Erc20ContractDisallowed
      - EmptyRuleError
      - PolicyFieldValidationError
      - OptionalListEmpty
      - MultipleExclusiveFieldsProvided
      - DuplicateFieldEntry
      - InvalidRange
      - InvalidOrgPolicyRepeatedRule
      - InvalidSuiTransaction
      - SuiSenderMismatch
      - AvaSignHashError
      - AvaSignError
      - BtcSegwitHashError
      - BtcTaprootHashError
      - BtcSignError
      - TaprootSignError
      - Eip712SignError
      - InvalidMemberRoleInUserAdd
      - InvalidMemberRoleInRecipientAdd
      - ThirdPartyUserAlreadyExists
      - OidcIdentityAlreadyExists
      - UserAlreadyHasIdentity
      - ThirdPartyUserNotFound
      - DeleteOidcUserError
      - DeleteUserError
      - SessionRoleMismatch
      - InvalidOidcToken
      - InvalidOidcIdentity
      - OidcIssuerUnsupported
      - OidcIssuerNotAllowed
      - OidcIssuerNoApplicableJwk
      - FidoKeyAlreadyRegistered
      - FidoKeySignCountTooLow
      - FidoVerificationFailed
      - FidoChallengeMfaMismatch
      - UnsupportedLegacyCognitoSession
      - InvalidIdentityProof
      - PaginationDataExpired
      - ExistingKeysViolateExclusiveKeyAccess
      - ExportDelayTooShort
      - ExportWindowTooLong
      - InvalidTotpFailureLimit
      - InvalidEip191SignRequest
      - CannotResendUserInvitation
      - InvalidNotificationEndpointCount
      - CannotDeletePendingSubscription
      - InvalidNotificationUrlProtocol
      - EmptyOneOfOrgEventFilter
      - EmptyAllExceptOrgEventFilter
      - InvalidTapNodeHash
      - InvalidOneTimeCode
      - MessageNotFound
      - MessageAlreadySigned
      - MessageRejected
      - MessageReplaced
      - InvalidMessageType
      - EmptyAddress
      - InvalidEth2SigningPolicySlotRange
      - InvalidEth2SigningPolicyEpochRange
      - InvalidEth2SigningPolicyTimestampRange
      - InvalidEth2SigningPolicyOverlappingRule
      - RpcUrlMissing
      - MmiChainIdMissing
      - EthersInvalidRpcUrl
      - EthersGetTransactionCountError
      - InvalidPassword
      - BabylonStakingFeePlusDustOverflow
      - BabylonStaking
      - BabylonStakingIncorrectKey
      - BabylonStakingSegwitNonDeposit
      - BabylonStakingRegistrationRequiresTaproot
      - PsbtSigning
      - TooManyResets
      - TooManyRequests
      - TooManyFailedLogins
      - BadBtcMessageSignP2shFlag
      - InvalidTendermintRequest
      - PolicyVersionMaxReached
      - PolicyVersionInvalid
      - PolicySecretLimitReached
      - PolicySecretTooLarge
      - InvalidImportKey
      - AlienOwnerInvalid
      - EmptyUpdateRequest
      - InvalidPolicyReference
      - PolicyEngineDisabled
      - InvalidWasmPolicy
      - CelProgramTooLarge
      - InvalidPolicy
      - RedundantDerivationPath
      - ImportKeyMissing
      - InvalidAbiMethods
      - BabylonCovSign
      - InvalidPolicyLogsRequest
      - UserProfileMigrationMultipleEntries
      - UserProfileMigrationTooManyItems
      - InputTooShort
      - InvalidTweakLength
      - InvalidCustomChains
      - InvalidRpcRequest
    BtcListUtxosRequest:
      type: object
      description: Parameters for the [`cs_btcListUtxos`](CsRpc::BtcListUtxos) method.
      required:
      - address
      - network
      properties:
        address:
          type: string
          description: The Bitcoin address whose unspent outputs (UTXOs) are being queried.
        max_results:
          type: integer
          format: int32
          description: The maximum number of UTXOs to return (1-250).
          default: 100
          minimum: 0
        network:
          $ref: '#/components/schemas/BtcNetwork'
        next_token:
          type:
          - string
          - 'null'
          description: Pagination token returned by a previous call.
    PreconditionErrorCode:
      oneOf:
      - $ref: '#/components/schemas/PreconditionErrorOwnCodes'
      - $ref: '#/components/schemas/PolicyErrorCode'
    AcceptedValueCode:
      type: string
      enum:
      - SignDryRun
      - BinanceDryRun
      - BybitDryRun
      - CoinbaseDryRun
      - MfaRequired
    SubAccountAssetsRequest:
      type: object
      description: 'Parameters for `GET /sapi/v4/sub-account/assets`.


        Queries the spot-wallet balances of a single sub-account. Must be called by

        a master-account credential.'
      required:
      - email
      properties:
        email:
          type: string
          description: Email address of the sub-account whose balances to fetch.
    CreateEvmTransferRequest:
      allOf:
      - $ref: '#/components/schemas/EvmToken'
      - $ref: '#/components/schemas/EvmTxCustomization'
      - type: object
        required:
        - chain_id
        - from
        - to
        - value
        properties:
          chain_id:
            type: integer
            format: int64
            description: The EVM chain id this transaction is for.
            minimum: 0
          from:
            type: string
            description: 'The address that the amount will be transferred from.


              Must match the material id of a key the session can access.'
            pattern: ^(0x)?[a-fA-F0-9]{40}$
          to:
            type: string
            description: The address that the amount will be transferred to.
            pattern: ^(0x)?[a-fA-F0-9]{40}$
          value:
            type: string
            description: 'The amount being transferred, as a hex value.


              This value should be in WEI for native transfers, and in the token''s denomination

              for ERC-20 transfers.'
            pattern: ^(0x)?[a-fA-F0-9]{64}$
      description: Parameters for creating an EVM transfer.
    BinanceCoinInfoParams:
      type: object
      description: 'Parameters for `cs_binanceCoinInfo`.


        Binance endpoint: `GET /sapi/v1/capital/config/getall`. Returns the list

        of coins supported by the calling account along with per-coin balances,

        deposit/withdraw enablement, and network info. Since the endpoint takes

        no parameters beyond the common `recvWindow` / `timestamp` envelope, this

        struct is defined directly instead of going through the

        [`BinanceParams`] generic alias.'
      required:
      - keyId
      properties:
        dryRun:
          allOf:
          - $ref: '#/components/schemas/BinanceDryRunMode'
        keyId:
          $ref: '#/components/schemas/Id'
        recvWindow:
          type:
          - number
          - 'null'
          format: float
          description: 'Optional "receive window", i.e., for how long the request stays valid.

            May only be specified in milliseconds, with up to three decimal places of precision.

            If omitted, defaults to 10000. Must not be greater than 60000.'
    GetTransactionRequest:
      type: object
      description: Parameters for the [`cs_getTransaction`](RpcMethod::GetTransaction) method.
      required:
      - id
      properties:
        id:
          $ref: '#/components/schemas/Id'
    CsRpc:
      oneOf:
      - type: object
        description: Create a transaction for a given chain.
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_createTransaction
          params:
            $ref: '#/components/schemas/CreateTransactionRequest'
      - type: object
        description: Retry an existing failed transaction.
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_retryTransaction
          params:
            $ref: '#/components/schemas/RetryTransactionRequest'
      - type: object
        description: Cancel an existing unsuccessful transaction.
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_cancelTransaction
          params:
            $ref: '#/components/schemas/CancelTransactionRequest'
      - type: object
        description: Get an existing transaction.
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_getTransaction
          params:
            $ref: '#/components/schemas/GetTransactionRequest'
      - type: object
        description: List all existing transactions.
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_listTransactions
          params:
            $ref: '#/components/schemas/ListTransactionsRequest'
      - type: object
        description: List the unspent transaction outputs (UTXOs) for a Bitcoin address.
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_btcListUtxos
          params:
            $ref: '#/components/schemas/BtcListUtxosRequest'
      description: Core RPC methods (transaction CRUD).
    ListSubAccountsRequest:
      type: object
      description: 'Parameters for `GET /sapi/v1/sub-account/list`.


        Enumerates the sub-accounts under the calling master account. All filters

        are optional; if `email`/`is_freeze` are omitted, every sub-account is

        returned subject to pagination.'
      properties:
        email:
          type:
          - string
          - 'null'
          description: Filter to the sub-account with this email.
        isFreeze:
          type:
          - boolean
          - 'null'
          description: 'Filter by freeze status (`true` = frozen sub-accounts only,

            `false` = active sub-accounts only). Binance accepts this as the

            literal strings `"true"`/`"false"`, which is exactly what

            `serde_urlencoded` emits for `bool`.'
        limit:
          type:
          - integer
          - 'null'
          format: int32
          description: 'Page size (Binance default: 1, max: 200).'
          minimum: 0
        page:
          type:
          - integer
          - 'null'
          format: int32
          description: '1-based page number (Binance default: 1).'
          minimum: 0
    ErrorResponse:
      type: object
      description: The structure of ErrorResponse must match the response template that AWS uses
      required:
      - message
      - error_code
      properties:
        accepted:
          allOf:
          - $ref: '#/components/schemas/AcceptedValue'
        error_code:
          $ref: '#/components/schemas/SignerErrorCode'
        message:
          type: string
          description: Error message
        policy_eval_tree:
          description: Optional policy evaluation tree (included in signer responses, when requested)
        request_id:
          type: string
          description: Optional request identifier
    CoinbaseRpc:
      oneOf:
      - type: object
        description: List the brokerage accounts the calling key can see.
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_coinbaseListAccounts
          params:
            $ref: '#/components/schemas/CoinbaseListAccountsParams'
      - type: object
        description: List the portfolios the calling key can see.
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_coinbaseListPortfolios
          params:
            $ref: '#/components/schemas/CoinbaseListPortfoliosParams'
      - type: object
        description: Move funds between two portfolios on the calling key's account.
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_coinbaseMoveFunds
          params:
            $ref: '#/components/schemas/CoinbaseMoveFundsParams'
      description: 'Coinbase-family RPC methods. Each variant authenticates as the

        [`KeyType::Ed25519CoinbaseApi`] key in its `params.key_id`.'
    BinanceDepositParams:
      allOf:
      - $ref: '#/components/schemas/DepositRequest'
      - type: object
        required:
        - keyId
        properties:
          dryRun:
            allOf:
            - $ref: '#/components/schemas/BinanceDryRunMode'
          keyId:
            $ref: '#/components/schemas/Id'
          recvWindow:
            type:
            - number
            - 'null'
            format: float
            description: 'Optional "receive window", i.e., for how long the request stays valid.

              May only be specified in milliseconds, with up to three decimal places of precision.

              If omitted, defaults to 10000. Must not be greater than 60000.'
      description: Parameters envelope for all Binance RPC methods.
    HttpRequest:
      type: object
      description: 'Information about the request.


        Captures all the relevant info (including the request body) about requests that require MFA.

        We use this to verify that when a request is resumed (after obtaining necessary MFA approvals)

        it is exactly the same as it originally was.'
      required:
      - method
      - path
      properties:
        body:
          type:
          - object
          - 'null'
          description: HTTP request body
        method:
          type: string
          description: HTTP method of the request
        path:
          type: string
          description: HTTP path of the request, excluding the host
    BinanceDryRunArgs:
      type: object
      required:
      - method
      - url
      properties:
        method:
          type: string
          description: The Binance API method that would have been used
        url:
          type: string
          description: The Binance API url method that would have been called
    BybitRpc:
      oneOf:
      - type: object
        description: 'Query info about the calling API key, including the `userID` and

          `parentUid` of the account it authenticates as.'
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_bybitQueryUser
          params:
            $ref: '#/components/schemas/BybitQueryUserParams'
      - type: object
        description: Enumerate the sub-accounts of the calling master account.
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_bybitQuerySubMembers
          params:
            $ref: '#/components/schemas/BybitQuerySubMembersParams'
      - type: object
        description: 'Query the asset balances (per-coin) for an account. The `memberId`

          field optionally targets a sub-account; when omitted, the calling key''s

          own account is queried.'
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_bybitQueryCoinsBalance
          params:
            $ref: '#/components/schemas/BybitQueryCoinsBalanceParams'
      - type: object
        description: Fetch the deposit address for `coin` on the calling account.
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_bybitQueryDepositAddress
          params:
            $ref: '#/components/schemas/BybitQueryDepositAddressParams'
      - type: object
        description: Move funds between Bybit accounts (master ↔ sub, sub ↔ sub).
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_bybitUniversalTransfer
          params:
            $ref: '#/components/schemas/BybitUniversalTransferParams'
      - type: object
        description: Submit a withdrawal to an external address. Master-only.
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_bybitWithdraw
          params:
            $ref: '#/components/schemas/BybitWithdrawParams'
      - type: object
        description: Query the withdrawal history of the calling account.
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_bybitWithdrawals
          params:
            $ref: '#/components/schemas/BybitWithdrawalsParams'
      description: 'Bybit-family RPC methods. Each variant authenticates as the

        [`KeyType::HmacSha256Bybit`] key in its `params.key_id` (which must carry

        [`KeyProperties::BybitApi`]).'
    BybitQueryDepositAddressRequest:
      type: object
      description: Parameters for `GET /v5/asset/deposit/query-address`.
      required:
      - coin
      properties:
        chainType:
          type:
          - string
          - 'null'
          description: 'Optional network identifier (e.g. `"ETH"`, `"TRX"`). When omitted,

            Bybit returns the deposit address on every supported chain.'
        coin:
          type: string
          description: Coin symbol (e.g. `"BTC"`, `"USDT"`).
    Receipt:
      type: object
      description: Receipt that an MFA request was approved.
      required:
      - confirmation
      - final_approver
      - timestamp
      properties:
        confirmation:
          type: string
          description: Confirmation code the user needs to present when resuming the original request.
          example: ba1d75dd-d999-4c1b-944d-25c25440c8af
        final_approver:
          type: string
          description: The ID of the logged-in user whose action created this approval.
        timestamp:
          $ref: '#/components/schemas/EpochDateTime'
    BinanceRpc:
      oneOf:
      - type: object
        description: Transfer an asset from a sub-account to its master account.
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_binanceSubToMaster
          params:
            $ref: '#/components/schemas/BinanceSubToMasterParams'
      - type: object
        description: Transfer an asset between two sub-accounts of the same master.
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_binanceSubToSub
          params:
            $ref: '#/components/schemas/BinanceSubToSubParams'
      - type: object
        description: 'Transfer an asset between any two Binance accounts and wallet types.

          The provided key, however, must correspond to the Binance master account.'
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_binanceUniversalTransfer
          params:
            $ref: '#/components/schemas/BinanceUniversalTransferParams'
      - type: object
        description: 'Query the spot-wallet balances of one sub-account. The provided key

          must correspond to the Binance master account.'
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_binanceSubAccountAssets
          params:
            $ref: '#/components/schemas/BinanceSubAccountAssetsParams'
      - type: object
        description: 'Query the calling key''s Binance Spot account info (balances,

          permissions, commissions, uid). Works for both master and sub-account

          keys; the response is the account info for whichever account the key

          authenticates as.'
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_binanceAccountInfo
          params:
            $ref: '#/components/schemas/BinanceAccountInfoParams'
      - type: object
        description: 'Query the history of sub-account-initiated transfers (i.e., transfers

          originated by [`BinanceRpc::SubToMaster`] and [`BinanceRpc::SubToSub`]).

          The provided key must correspond to the same Binance sub-account that

          initiated the transfers; results are scoped to that sub-account''s

          activity. Use the returned `tranId` to match a record against the

          `txnId` returned by the original transfer call.'
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_binanceSubAccountTransferHistory
          params:
            $ref: '#/components/schemas/BinanceSubAccountTransferHistoryParams'
      - type: object
        description: 'Query the history of universal transfers initiated by the master

          account (i.e., transfers originated by

          [`BinanceRpc::UniversalTransfer`]). The provided key must correspond to

          the Binance master account. Match the returned `tranId` against the

          one returned by the original universal transfer call.'
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_binanceUniversalTransferHistory
          params:
            $ref: '#/components/schemas/BinanceUniversalTransferHistoryParams'
      - type: object
        description: 'Submit a withdrawal of an asset to an external address. Withdrawals

          to an external wallet can only be done from the master account.

          Additionally, the corresponding API key must be configured to allow

          withdrawals, which, in turn, requires a restricted list of IP addresses

          to be configured as well (which should be set to our lambda''s EIPs).'
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_binanceWithdraw
          params:
            $ref: '#/components/schemas/BinanceWithdrawParams'
      - type: object
        description: 'Query the history of external withdrawals submitted via

          [`BinanceRpc::Withdraw`]. The provided key must correspond to the

          Binance master account. Filter by the `idList` query parameter — or

          by `withdrawOrderId` if one was set on the original

          [`BinanceRpc::Withdraw`] call — to look up a specific withdrawal.'
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_binanceWithdrawHistory
          params:
            $ref: '#/components/schemas/BinanceWithdrawHistoryParams'
      - type: object
        description: 'Fetch the deposit address for an asset on the calling account. Works

          for both master and sub-account keys; the returned address belongs to

          whichever account the key authenticates as.'
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_binanceDeposit
          params:
            $ref: '#/components/schemas/BinanceDepositParams'
      - type: object
        description: 'Query the calling account''s deposit history. Works for both master and

          sub-account keys; the results are scoped to whichever account the key

          authenticates as. All filters are optional.'
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_binanceDepositHistory
          params:
            $ref: '#/components/schemas/BinanceDepositHistoryParams'
      - type: object
        description: 'Enumerate the sub-accounts under the master account. The provided key

          must correspond to the Binance master account. All filters are

          optional; pagination follows Binance''s defaults.'
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_binanceListSubAccounts
          params:
            $ref: '#/components/schemas/BinanceListSubAccountsParams'
      - type: object
        description: 'Query the list of coins supported by the calling account along with

          per-coin balances, deposit/withdraw enablement, and network info.

          Works for both master and sub-account keys.'
        required:
        - params
        - method
        properties:
          method:
            type: string
            enum:
            - cs_binanceCoinInfo
          params:
            $ref: '#/components/schemas/BinanceCoinInfoParams'
      description: 'Binance-family RPC methods. Each variant authenticates as the

        [`KeyType::Ed25519BinanceApi`] key in its `params.key_id`.'
    RetryTransactionRequest:
      allOf:
      - $ref: '#/components/schemas/EvmTxCustomization'
      - type: object
        required:
        - id
        properties:
          id:
            type: string
            description: The transaction id.
      description: Parameters for the [`cs_retryTransaction`](RpcMethod::RetryTransaction) method.
    PreconditionErrorOwnCodes:
      type: string
      enum:
      - FailOnMfaRequired
      - KeyRegionLocked
      - KeyRegionChangedRecently
      - MfaRegionLocked
      - Eth2ProposerSlotTooLow
      - Eth2AttestationSourceEpochTooLow
      - Eth2AttestationTargetEpochTooLow
      - Eth2ConcurrentBlockSigning
      - Eth2ConcurrentAttestationSigning
      - Eth2Mult

# --- truncated at 32 KB (95 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cubist/refs/heads/main/openapi/cubist-rpc-api-openapi.yml