Fireblocks Web3 connections API

The Web3 connections API from Fireblocks — 3 operation(s) for web3 connections.

Operations 4

GET /connections List all open Web3 connections #
POST /connections/wc Create a new Web3 connection #
PUT /connections/wc/{id} Respond to a pending Web3 connection request #
DELETE /connections/wc/{id} Remove an existing Web3 connection #

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/fireblocks:fireblocks-web3-connections-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

fireblocks-web3-connections-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fireblocks Web3 connections API
  description: 'Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain.


    - Visit our website for more information: Fireblocks Website

    - Visit our developer docs: Fireblocks DevPortal'
  version: 1.6.2
  contact:
    email: developers@fireblocks.com
servers:
- url: https://api.fireblocks.io/v1
  description: Fireblocks Production Environment Base URL
- url: https://sandbox-api.fireblocks.io/v1
  description: Fireblocks Sandbox Environment Base URL
tags:
- name: Web3 connections
paths:
  /connections:
    get:
      operationId: get
      summary: List all open Web3 connections
      description: Get open Web3 connections.
      x-rate-limit-category: query
      parameters:
      - $ref: '#/components/parameters/X-End-User-Wallet-Id'
      - name: order
        required: false
        in: query
        description: List order; ascending or descending.
        schema:
          type: string
          enum:
          - ASC
          - DESC
          default: ASC
      - name: filter
        required: false
        in: query
        description: Parsed filter object
        examples:
          object:
            summary: The filter object
            description: ''
            value:
              id: string
              userId: string
              vaultAccountId: number
              connectionMethod: string
              feeLevel: string
              appUrl: string
              appName: string
          stringified:
            summary: The stringified parsed object
            description: 'About stringified parsed objects:


              * Each key-value pair is separated by ''='', and each pair is separated by '','' (you can use [`qs`](https://www.npmjs.com/package/qs) package for this)'
            value: id=string,userId=string,vaultAccountId=number,connectionMethod=string,feeLevel=string,appUrl=string,appName=string
        schema:
          type: object
          properties:
            id:
              type: string
            userId:
              type: string
            vaultAccountId:
              type: number
            connectionMethod:
              type: string
            feeLevel:
              type: string
            appUrl:
              type: string
            appName:
              type: string
      - name: sort
        required: false
        in: query
        description: Property to sort Web3 connections by.
        schema:
          type: string
          enum:
          - id
          - userId
          - vaultAccountId
          - createdAt
          - feeLevel
          - appUrl
          - appName
          default: createdAt
      - name: pageSize
        required: false
        in: query
        description: Amount of results to return in the next page.
        schema:
          type: number
          default: 10
          maximum: 50
      - name: next
        required: false
        in: query
        description: Cursor to the next page
        schema:
          type: string
      responses:
        '200':
          description: ''
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetConnectionsResponse'
        '400':
          description: Query parameters were invalid
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
        '500':
          description: Something went wrong
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
      tags:
      - Web3 connections
      x-readme:
        code-samples:
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<GetConnectionsResponse>> = fireblocks.web3Connections.get(web3ConnectionsApiGetRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<GetConnectionsResponse>> response = fireblocks.web3Connections().get(order, filter, sort, pageSize, next, xEndUserWalletId);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.web3_connections.get(order, filter, sort, page_size, next, x_end_user_wallet_id);
          name: Fireblocks SDK Python example
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<GetConnectionsResponse>> = fireblocks.web3Connections.get(web3ConnectionsApiGetRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<GetConnectionsResponse>> response = fireblocks.web3Connections().get(order, filter, sort, pageSize, next, xEndUserWalletId);
      - lang: Python
        source: response = fireblocks.web3_connections.get(order, filter, sort, page_size, next, x_end_user_wallet_id);
  /connections/wc:
    post:
      operationId: create
      summary: Create a new Web3 connection
      description: 'Initiate a new Web3 connection.


        * Note: After this succeeds, make a request to `PUT /v1/connections/wc/{id}` (below) to approve or reject the new Web3 connection.'
      x-rate-limit-category: high_compute
      parameters:
      - $ref: '#/components/parameters/X-Idempotency-Key'
      - $ref: '#/components/parameters/X-End-User-Wallet-Id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateConnectionRequest'
      responses:
        '201':
          description: Web3 connection initiated successfully
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateConnectionResponse'
        '400':
          description: Invalid data sent
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
        '500':
          description: Something went wrong
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
      tags:
      - Web3 connections
      x-readme:
        code-samples:
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<CreateConnectionResponse>> = fireblocks.web3Connections.create(web3ConnectionsApiCreateRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<CreateConnectionResponse>> response = fireblocks.web3Connections().create(createConnectionRequest, idempotencyKey, xEndUserWalletId);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.web3_connections.create(create_connection_request, idempotency_key, x_end_user_wallet_id);
          name: Fireblocks SDK Python example
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<CreateConnectionResponse>> = fireblocks.web3Connections.create(web3ConnectionsApiCreateRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<CreateConnectionResponse>> response = fireblocks.web3Connections().create(createConnectionRequest, idempotencyKey, xEndUserWalletId);
      - lang: Python
        source: response = fireblocks.web3_connections.create(create_connection_request, idempotency_key, x_end_user_wallet_id);
  /connections/wc/{id}:
    put:
      operationId: submit
      summary: Respond to a pending Web3 connection request
      description: 'Submit a response to *approve* or *reject* an initiated Web3 connection.

        * Note: This call is used to complete your `POST /v1/connections/wc/` request.


        After this succeeds, your new Web3 connection is created and functioning.'
      x-rate-limit-category: high_compute
      parameters:
      - name: id
        description: The ID of the initiated Web3 connection to approve.
        required: true
        in: path
        schema:
          type: string
      - $ref: '#/components/parameters/X-Idempotency-Key'
      - $ref: '#/components/parameters/X-End-User-Wallet-Id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RespondToConnectionRequest'
      responses:
        '200':
          description: Connection submitted successfully
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
        '400':
          description: Invalid data sent
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
        '404':
          description: Connection not found
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
        '500':
          description: Something went wrong
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
      tags:
      - Web3 connections
      x-readme:
        code-samples:
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<void>> = fireblocks.web3Connections.submit(web3ConnectionsApiSubmitRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<Void>> response = fireblocks.web3Connections().submit(respondToConnectionRequest, id, idempotencyKey, xEndUserWalletId);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.web3_connections.submit(respond_to_connection_request, id, idempotency_key, x_end_user_wallet_id);
          name: Fireblocks SDK Python example
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<void>> = fireblocks.web3Connections.submit(web3ConnectionsApiSubmitRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<Void>> response = fireblocks.web3Connections().submit(respondToConnectionRequest, id, idempotencyKey, xEndUserWalletId);
      - lang: Python
        source: response = fireblocks.web3_connections.submit(respond_to_connection_request, id, idempotency_key, x_end_user_wallet_id);
    delete:
      operationId: remove
      summary: Remove an existing Web3 connection
      description: Remove a Web3 connection
      x-rate-limit-category: high_compute
      parameters:
      - $ref: '#/components/parameters/X-End-User-Wallet-Id'
      - name: id
        description: The ID of the existing Web3 connection to remove.
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: Connection removed successfully
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
        '404':
          description: Connection not found
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
        '500':
          description: Something went wrong
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
      tags:
      - Web3 connections
      x-readme:
        code-samples:
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<void>> = fireblocks.web3Connections.remove(web3ConnectionsApiRemoveRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<Void>> response = fireblocks.web3Connections().remove(id, xEndUserWalletId);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.web3_connections.remove(id, x_end_user_wallet_id);
          name: Fireblocks SDK Python example
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<void>> = fireblocks.web3Connections.remove(web3ConnectionsApiRemoveRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<Void>> response = fireblocks.web3Connections().remove(id, xEndUserWalletId);
      - lang: Python
        source: response = fireblocks.web3_connections.remove(id, x_end_user_wallet_id);
components:
  parameters:
    X-End-User-Wallet-Id:
      name: X-End-User-Wallet-Id
      in: header
      description: Unique ID of the End-User wallet to the API request. Required for end-user wallet operations.
      required: false
      schema:
        type: string
        format: uuid
    X-Idempotency-Key:
      name: Idempotency-Key
      in: header
      description: A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
      required: false
      schema:
        type: string
  schemas:
    Paging:
      type: object
      properties:
        next:
          type: string
          description: Cursor to the next page
      required:
      - next
    RespondToConnectionRequest:
      type: object
      properties:
        approve:
          type: boolean
          description: Approval of the initiated Web3 connection.
          example: true
      required:
      - approve
    SessionDTO:
      type: object
      properties:
        id:
          type: string
          description: Id of the connection
          example: 4e9e7051-f3b2-48e9-8ee6-b12492552657
        userId:
          type: string
          description: Id of the user that created the connection
        sessionMetadata:
          description: Metadata of the connection (provided by the dapp)
          allOf:
          - $ref: '#/components/schemas/SessionMetadata'
        vaultAccountId:
          type: number
          description: The vault to connect
          example: 1
        feeLevel:
          type: string
          description: The default fee level
          example: MEDIUM
          enum:
          - MEDIUM
          - HIGH
        chainIds:
          description: The chains approved for the connection
          example:
          - ETH
          - ETH_TEST
          - SOL
          type: array
          items:
            type: string
        connectionType:
          type: string
          description: The connection's type
          example: WalletConnect
          enum:
          - WalletConnect
        connectionMethod:
          type: string
          description: The method through which the connection was established
          example: API
          enum:
          - DESKTOP
          - MOBILE
          - API
        creationDate:
          format: date-time
          type: string
          description: Timestamp of the session's creation
      required:
      - id
      - userId
      - sessionMetadata
      - vaultAccountId
      - feeLevel
      - chainIds
      - connectionType
      - connectionMethod
      - creationDate
    CreateConnectionResponse:
      type: object
      properties:
        id:
          type: string
          description: The ID of the Web3 connection initiated.
          example: 4e9e7051-f3b2-48e9-8ee6-b12492552657
        sessionMetadata:
          description: Metadata of the Web3 connection (provided by the DApp).
          allOf:
          - $ref: '#/components/schemas/SessionMetadata'
      required:
      - id
      - sessionMetadata
    CreateVaultAccountConnectionRequest:
      type: object
      properties:
        vaultAccountId:
          type: number
          description: The ID of the vault to connect to the dApp.
          example: 1
        feeLevel:
          type: string
          description: The default fee level. Valid values are `MEDIUM` and `HIGH`.
          example: MEDIUM
          enum:
          - MEDIUM
          - HIGH
        uri:
          type: string
          description: The WalletConnect uri provided by the dapp.
          example: wc:77752975-906f-48f5-b59f-047826ee947e@1?bridge=https%3A%2F%2F0.bridge.walletconnect.org&key=64be99adc6086b7a729b0ec8c7e1f174927ab92e84f5c6f9527050225344a637
        chainIds:
          description: The IDs of the blockchain networks used in the Web3 connection (Currently required in V1 connections only).
          example:
          - ETH
          type: array
          items:
            type: string
      required:
      - vaultAccountId
      - feeLevel
      - uri
    CreateNcwConnectionRequest:
      type: object
      properties:
        ncwId:
          type: string
          description: The ID of the Non-Custodial Wallet to connect to the dApp.
          example: b8337f1d-bd61-4d6c-afc1-4c9d60aa2132
        ncwAccountId:
          type: number
          description: The NCW account ID to connect to the dApp.
          example: 1
        feeLevel:
          type: string
          description: The default fee level. Valid values are `MEDIUM` and `HIGH`.
          example: MEDIUM
          enum:
          - MEDIUM
          - HIGH
        uri:
          type: string
          description: The WalletConnect uri provided by the dapp.
          example: wc:77752975-906f-48f5-b59f-047826ee947e@1?bridge=https%3A%2F%2F0.bridge.walletconnect.org&key=64be99adc6086b7a729b0ec8c7e1f174927ab92e84f5c6f9527050225344a637
        chainIds:
          description: The IDs of the blockchain networks used in the Web3 connection (Currently required in V1 connections only).
          example:
          - ETH
          type: array
          items:
            type: string
      required:
      - ncwId
      - ncwAccountId
      - feeLevel
      - uri
    CreateConnectionRequest:
      oneOf:
      - $ref: '#/components/schemas/CreateVaultAccountConnectionRequest'
      - $ref: '#/components/schemas/CreateNcwConnectionRequest'
    SessionMetadata:
      type: object
      properties:
        appUrl:
          type: string
        appName:
          type: string
        appDescription:
          type: string
        appIcon:
          type: string
      required:
      - appUrl
    GetConnectionsResponse:
      type: object
      properties:
        data:
          description: Array with the requested Web3 connection's data
          type: array
          items:
            $ref: '#/components/schemas/SessionDTO'
        paging:
          $ref: '#/components/schemas/Paging'
      required:
      - data
  headers:
    X-Request-ID:
      schema:
        type: string
      description: Unique ID correlated to the API request. Please provide it in any support ticket you create or on Github issues related to Fireblocks SDKs
  securitySchemes:
    bearerTokenAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
x-readme:
  explorer-enabled: false
  samples-languages:
  - curl
  - javascript
  - python
x-provenance:
  method: harvested
  publisher: Fireblocks
  source: https://swagger.fireblocks.com/openapi.yaml
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)