Quant Network User API

Authenticated user profile and resource data

Operations 12

GET /users/me/access-details Get deployed and permitted contracts for the user on the Fusion Rollup #
GET /users/me/deployed-contracts List user's deployed contracts on the Fusion Rollup #
GET /users/me/history List the user's combined deposit + swap history #
GET /users/me/id Get current user ID #
GET /users/me/nodes List user's registered nodes connected to Overledger #
GET /users/me/providers List user's registered RPC providers connected to Overledger #
POST /users/me/providers/{providerId}/reactivate Reactivate a provider's nodes #
PUT /users/me/providers/{providerId}/reset-policy Update provider reset policy #
GET /users/me/stakes List user's QNT stake transactions #
GET /users/me/stakes/total Get total QNT staked amount for the user #
GET /users/me/swaps List the authenticated user's swaps on the Fusion Rollup #
GET /users/me/transactions List user transactions on the Fusion Rollup #

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/quant:quant-user-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

quant-user-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Overledger Server User API
  description: The Overledger Server is the primary client-facing gateway.
  version: 1.0.0
servers:
- url: https://fusion-rollup.quant.dev
  description: Testnet (live) — the public Fusion Server endpoint
- url: http://localhost:8080
  description: Local development
security:
- bearerAuth: []
- apiKeyAuth: []
tags:
- name: User
  description: Authenticated user profile and resource data
paths:
  /users/me/access-details:
    get:
      tags:
      - User
      summary: Get deployed and permitted contracts for the user on the Fusion Rollup
      parameters:
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/pageSizeParam'
      responses:
        '200':
          description: Access details
          content:
            application/json:
              schema:
                type: object
                properties:
                  deployedContracts:
                    type: object
                    description: Paginated deployed contracts
                  permittedContracts:
                    type: object
                    description: Paginated contracts the user has been granted access to
        '401':
          $ref: '#/components/responses/Unauthorized'
      operationId: getUsersMeAccessDetails
      x-operation-id-source: derived
  /users/me/deployed-contracts:
    get:
      tags:
      - User
      summary: List user's deployed contracts on the Fusion Rollup
      responses:
        '200':
          description: Deployed contracts
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeployedContract'
        '401':
          $ref: '#/components/responses/Unauthorized'
      operationId: getUsersMeDeployedContracts
      x-operation-id-source: derived
  /users/me/history:
    get:
      tags:
      - User
      operationId: getUserHistory
      summary: List the user's combined deposit + swap history
      parameters:
      - name: page
        in: query
        schema:
          type: integer
          minimum: 1
          default: 1
      - name: pageSize
        in: query
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 10
      - name: type
        in: query
        schema:
          type: string
          enum:
          - all
          - deposit
          - swap
          default: all
      responses:
        '200':
          description: Paginated history
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                - pagination
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      required:
                      - id
                      - type
                      - amount
                      - status
                      - createdAt
                      properties:
                        id:
                          type: string
                        type:
                          type: string
                          enum:
                          - deposit
                          - swap
                        tokenIn:
                          type: string
                        tokenOut:
                          type: string
                        amount:
                          type: string
                        status:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                  pagination:
                    $ref: '#/components/schemas/OffsetPagination'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /users/me/id:
    get:
      tags:
      - User
      summary: Get current user ID
      responses:
        '200':
          description: User ID
          content:
            application/json:
              schema:
                type: object
                properties:
                  userId:
                    type: string
        '401':
          $ref: '#/components/responses/Unauthorized'
      operationId: getUsersMeId
      x-operation-id-source: derived
  /users/me/nodes:
    get:
      tags:
      - User
      summary: List user's registered nodes connected to Overledger
      parameters:
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/pageSizeParam'
      responses:
        '200':
          description: Paginated nodes
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/PaginatedMeta'
                - type: object
                  properties:
                    data:
                      type: array
                      items:
                        $ref: '#/components/schemas/Node'
        '401':
          $ref: '#/components/responses/Unauthorized'
      operationId: getUsersMeNodes
      x-operation-id-source: derived
  /users/me/providers:
    get:
      tags:
      - User
      summary: List user's registered RPC providers connected to Overledger
      parameters:
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/pageSizeParam'
      responses:
        '200':
          description: Paginated providers
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/PaginatedMeta'
                - type: object
                  properties:
                    data:
                      type: array
                      items:
                        $ref: '#/components/schemas/Provider'
        '401':
          $ref: '#/components/responses/Unauthorized'
      operationId: getUsersMeProviders
      x-operation-id-source: derived
  /users/me/providers/{providerId}/reactivate:
    post:
      tags:
      - User
      summary: Reactivate a provider's nodes
      description: Reactivation is asynchronous; returns 202 immediately.
      parameters:
      - $ref: '#/components/parameters/providerIdParam'
      responses:
        '202':
          description: Reactivation accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Provider'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      operationId: postUsersMeProvidersByProviderIdReactivate
      x-operation-id-source: derived
  /users/me/providers/{providerId}/reset-policy:
    put:
      tags:
      - User
      summary: Update provider reset policy
      parameters:
      - $ref: '#/components/parameters/providerIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResetPolicy'
      responses:
        '200':
          description: Updated provider
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Provider'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      operationId: putUsersMeProvidersByProviderIdResetPolicy
      x-operation-id-source: derived
  /users/me/stakes:
    get:
      tags:
      - User
      summary: List user's QNT stake transactions
      responses:
        '200':
          description: Stakes list
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Stake'
        '401':
          $ref: '#/components/responses/Unauthorized'
      operationId: getUsersMeStakes
      x-operation-id-source: derived
  /users/me/stakes/total:
    get:
      tags:
      - User
      summary: Get total QNT staked amount for the user
      responses:
        '200':
          description: Total staked
          content:
            application/json:
              schema:
                type: object
                properties:
                  total:
                    type: string
        '401':
          $ref: '#/components/responses/Unauthorized'
      operationId: getUsersMeStakesTotal
      x-operation-id-source: derived
  /users/me/swaps:
    get:
      tags:
      - User
      operationId: getUserSwaps
      summary: List the authenticated user's swaps on the Fusion Rollup
      parameters:
      - name: page
        in: query
        schema:
          type: integer
          minimum: 1
          default: 1
      - name: pageSize
        in: query
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 10
      responses:
        '200':
          description: Paginated swap list
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                - pagination
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Swap'
                  pagination:
                    $ref: '#/components/schemas/OffsetPagination'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /users/me/transactions:
    get:
      tags:
      - User
      summary: List user transactions on the Fusion Rollup
      parameters:
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/pageSizeParam'
      responses:
        '200':
          description: Paginated transactions
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/PaginatedMeta'
                - type: object
                  properties:
                    data:
                      type: array
                      items:
                        type: object
                        additionalProperties: true
        '401':
          $ref: '#/components/responses/Unauthorized'
      operationId: getUsersMeTransactions
      x-operation-id-source: derived
components:
  parameters:
    pageParam:
      name: page
      in: query
      schema:
        type: integer
        minimum: 1
        default: 1
    providerIdParam:
      name: providerId
      in: path
      required: true
      schema:
        type: string
        minLength: 1
    pageSizeParam:
      name: pageSize
      in: query
      schema:
        type: integer
        minimum: 1
        default: 10
  schemas:
    DltType:
      type: string
      enum:
      - EVM
      - HEDERA
      - SOLANA
      - SUI
      - APTOS
      - COSMOS
    OffsetPagination:
      type: object
      required:
      - page
      - pageSize
      - total
      properties:
        page:
          type: integer
          minimum: 1
        pageSize:
          type: integer
          minimum: 1
        total:
          type: integer
          minimum: 0
    PaginatedMeta:
      type: object
      required:
      - total
      - page
      - pageSize
      properties:
        total:
          type: integer
        page:
          type: integer
        pageSize:
          type: integer
        hasMore:
          type: boolean
    ContractVisibility:
      type: string
      enum:
      - PUBLIC
      - PERMISSIONED
      - PRIVATE
    TxHash:
      type: string
      pattern: ^0x[a-fA-F0-9]{64}$
      example: '0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890ab'
    EvmAddress:
      type: string
      pattern: ^0x[a-fA-F0-9]{40}$
      example: '0xAbCd1234AbCd1234AbCd1234AbCd1234AbCd1234'
    StandardError:
      type: object
      required:
      - timestamp
      - status
      - error
      - message
      - path
      properties:
        timestamp:
          type: integer
          description: Milliseconds since epoch
        status:
          type: integer
        error:
          type: string
        message:
          type: string
        path:
          type: string
      example:
        timestamp: 1709737845000
        status: 400
        error: Bad request
        message: Validation failed
        path: /users/me/deposits
    DeployedContract:
      type: object
      required:
      - deployerId
      - address
      - name
      - type
      - visibility
      - createdAt
      - updatedAt
      properties:
        deployerId:
          type: string
        address:
          $ref: '#/components/schemas/EvmAddress'
        name:
          type: string
        type:
          type: string
        visibility:
          $ref: '#/components/schemas/ContractVisibility'
        whitelistedContractIds:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    Stake:
      type: object
      required:
      - txHash
      - network
      - status
      - amount
      - createdAt
      - updatedAt
      properties:
        txHash:
          $ref: '#/components/schemas/TxHash'
        network:
          type: string
        status:
          type: string
        amount:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    ResetPolicy:
      oneOf:
      - type: object
        required:
        - type
        properties:
          type:
            type: string
            enum:
            - manual
      - type: object
        required:
        - type
        - hour
        properties:
          type:
            type: string
            enum:
            - daily
          hour:
            type: integer
            minimum: 0
            maximum: 23
      - type: object
        required:
        - type
        - dayOfMonth
        properties:
          type:
            type: string
            enum:
            - monthly
          dayOfMonth:
            type: integer
            minimum: 1
            maximum: 28
    Node:
      type: object
      required:
      - _id
      - userId
      - address
      - dlt
      - createdAt
      - updatedAt
      properties:
        _id:
          type: string
        userId:
          type: string
        address:
          type: string
          format: uri
        network:
          type: string
        name:
          type: string
        dlt:
          $ref: '#/components/schemas/DltType'
        networkId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    Provider:
      type: object
      required:
      - _id
      - userId
      - name
      - url
      - resetPolicy
      - status
      - createdAt
      - updatedAt
      properties:
        _id:
          type: string
        userId:
          type: string
        name:
          type: string
        url:
          type: string
          format: uri
        resetPolicy:
          $ref: '#/components/schemas/ResetPolicy'
        status:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    Swap:
      type: object
      required:
      - id
      - userId
      - tokenIn
      - tokenOut
      - amountIn
      - amountOutEstimated
      - amountOutMin
      - slippageBps
      - routeTokens
      - encodedPath
      - walletAddress
      - status
      - createdAt
      - updatedAt
      properties:
        id:
          type: string
        userId:
          type: string
        tokenIn:
          type: string
        tokenOut:
          type: string
        amountIn:
          type: string
        amountOutEstimated:
          type: string
        amountOutMin:
          type: string
        amountOutActual:
          type: string
        slippageBps:
          type: integer
        routeTokens:
          type: array
          items:
            type: string
        encodedPath:
          type: string
        walletAddress:
          $ref: '#/components/schemas/EvmAddress'
        txHash:
          type: string
        status:
          type: string
          enum:
          - initiated
          - completed
          - failed
          - unknown
        failureReason:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
  responses:
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/StandardError'
    BadRequest:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/StandardError'
    Unauthorized:
      description: Unauthorized — missing or invalid credentials
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/StandardError'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'A Keycloak access token (JWT), verified against the realm JWKS

        (signature / issuer / expiry). The caller''s identity is the token''s

        `sub` claim — this is **not** a `clientId`.

        '
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: 'An Overledger-issued API key of the form `fk_<keyId>.<secret>`, minted via

        `POST /users/me/api-keys`. Accepted on any route and **takes precedence**

        over the `Authorization` header when both are supplied. Resolves to the

        same identity (Keycloak `sub`) as the equivalent Bearer JWT.

        '
x-provenance:
  method: searched
  source: https://docs.overledger.dev/reference
  harvested: '2026-10-14'
  tool: harvest-readme-openapi.py
  note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
  assembled_from:
  - https://docs.overledger.dev/reference/checkdepositstatus.md
  - https://docs.overledger.dev/reference/checkswapstatus.md
  - https://docs.overledger.dev/reference/checkwithdrawalstatus.md
  - https://docs.overledger.dev/reference/createdeposit.md
  - https://docs.overledger.dev/reference/createsession.md
  - https://docs.overledger.dev/reference/createsubscription.md
  - https://docs.overledger.dev/reference/createswap.md
  - https://docs.overledger.dev/reference/createwithdrawal.md
  - https://docs.overledger.dev/reference/delete_deployed-contracts-contractaddress-permissions.md
  - https://docs.overledger.dev/reference/delete_nodes-nodeid.md
  - https://docs.overledger.dev/reference/deletesubscription.md
  - https://docs.overledger.dev/reference/get_deployed-contracts-contractaddress-permissions.md
  - https://docs.overledger.dev/reference/get_deployed-contracts-contractaddress.md
  - https://docs.overledger.dev/reference/get_health.md
  - https://docs.overledger.dev/reference/get_metrics.md
  - https://docs.overledger.dev/reference/get_networks-fusion.md
  - https://docs.overledger.dev/reference/get_networks-total.md
  - https://docs.overledger.dev/reference/get_networks.md
  - https://docs.overledger.dev/reference/get_ready.md
  - https://docs.overledger.dev/reference/get_stakes-address.md
  - https://docs.overledger.dev/reference/get_users-me-access-details.md
  - https://docs.overledger.dev/reference/get_users-me-deployed-contracts.md
  - https://docs.overledger.dev/reference/get_users-me-id.md
  - https://docs.overledger.dev/reference/get_users-me-nodes.md
  - https://docs.overledger.dev/reference/get_users-me-providers.md
  - https://docs.overledger.dev/reference/get_users-me-stakes-total.md
  - https://docs.overledger.dev/reference/get_users-me-stakes.md
  - https://docs.overledger.dev/reference/get_users-me-transactions.md
  - https://docs.overledger.dev/reference/getactionablewithdrawals.md
  - https://docs.overledger.dev/reference/getallowedcomponents.md
  - https://docs.overledger.dev/reference/getapp.md
  - https://docs.overledger.dev/reference/getdeposit.md
  - https://docs.overledger.dev/reference/getdepositallowance.md
  - https://docs.overledger.dev/reference/getdepositbalances.md
  - https://docs.overledger.dev/reference/getsession.md
  - https://docs.overledger.dev/reference/getstep.md
  - https://docs.overledger.dev/reference/getsupportedswaptokens.md
  - https://docs.overledger.dev/reference/getswap.md
  - https://docs.overledger.dev/reference/getswapquote.md
  - https://docs.overledger.dev/reference/gettransactionstatus.md
  - https://docs.overledger.dev/reference/getuserhistory.md
  - https://docs.overledger.dev/reference/getuserswaps.md
  - https://docs.overledger.dev/reference/getuserwithdrawals.md
  - https://docs.overledger.dev/reference/getwithdrawalbyid.md
  - https://docs.overledger.dev/reference/listaddressevents.md
  - https://docs.overledger.dev/reference/listapikeys.md
  - https://docs.overledger.dev/reference/listapps.md
  - https://docs.overledger.dev/reference/listeventsubscriptionevents.md
  - https://docs.overledger.dev/reference/listsessions.md
  - https://docs.overledger.dev/reference/listsubscriptions.md
  - https://docs.overledger.dev/reference/listuserdeposits.md
  - https://docs.overledger.dev/reference/mintapikey.md
  - https://docs.overledger.dev/reference/post_deployed-contracts-contractaddress-permissions.md
  - https://docs.overledger.dev/reference/post_nodes.md
  - https://docs.overledger.dev/reference/post_rpc-apikey.md
  - https://docs.overledger.dev/reference/post_stakes.md
  - https://docs.overledger.dev/reference/post_users-me-providers-providerid-reactivate.md
  - https://docs.overledger.dev/reference/put_deployed-contracts-contractaddress.md
  - https://docs.overledger.dev/reference/put_users-me-providers-providerid-reset-policy.md
  - https://docs.overledger.dev/reference/queryappstate.md
  - https://docs.overledger.dev/reference/recordfinalizetx.md
  - https://docs.overledger.dev/reference/recordprovetx.md
  - https://docs.overledger.dev/reference/replayevents.md
  - https://docs.overledger.dev/reference/revokeapikey.md
  - https://docs.overledger.dev/reference/submitstep.md
  - https://docs.overledger.dev/reference/subscribeaddress.md
  - https://docs.overledger.dev/reference/subscribeevent.md
  - https://docs.overledger.dev/reference/tracktransaction.md
  - https://docs.overledger.dev/reference/unsubscribeaddress.md
  - https://docs.overledger.dev/reference/unsubscribeevent.md
  merge:
    pages: 70
    deduped: 480
    conflicts_kept_first: 0