Uniblock Scan API

Endpoints for scanning blockchain networks for transactions, transfers, native supply, and block-level data similar to block explorers.

OpenAPI Specification

uniblock-scan-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Uniblock Direct Direct Pass-Through Scan API
  description: The Uniblock Direct API gives developers pass-through access to provider-specific endpoints exactly as offered by upstream blockchain data providers. Requests follow the pattern of specifying the provider and optional prefix in the URL path, while still benefiting from Uniblock's routing, retry, and failover infrastructure. Results are returned exactly as they would be if the first-party provider endpoint was called directly. This is intended for use cases where a specific method is not yet abstracted into the Unified API.
  version: '1.0'
  contact:
    name: Uniblock Support
    url: https://docs.uniblock.dev
  termsOfService: https://uniblock.dev/terms
servers:
- url: https://api.uniblock.dev/direct/v1
  description: Uniblock Direct API Production Server
security:
- apiKeyHeader: []
tags:
- name: Scan
  description: Endpoints for scanning blockchain networks for transactions, transfers, native supply, and block-level data similar to block explorers.
paths:
  /scan/transactions:
    get:
      operationId: getScanTransactions
      summary: Get Scanned Transactions
      description: Retrieves transactions for a specific address using blockchain explorer-style scanning, useful for auditing transaction histories and monitoring network activity.
      tags:
      - Scan
      parameters:
      - $ref: '#/components/parameters/chainParam'
      - $ref: '#/components/parameters/walletAddressParam'
      - $ref: '#/components/parameters/limitParam'
      - $ref: '#/components/parameters/cursorParam'
      responses:
        '200':
          description: Successful response with scanned transactions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScanTransactionsResponse'
        '400':
          description: Bad request - invalid parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized - missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /scan/transfers:
    get:
      operationId: getScanTransfers
      summary: Get Scanned Transfers
      description: Retrieves token transfer events for a specific address using blockchain explorer-style scanning, including ERC-20 and ERC-721 transfers.
      tags:
      - Scan
      parameters:
      - $ref: '#/components/parameters/chainParam'
      - $ref: '#/components/parameters/walletAddressParam'
      - $ref: '#/components/parameters/limitParam'
      - $ref: '#/components/parameters/cursorParam'
      responses:
        '200':
          description: Successful response with scanned transfers
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScanTransfersResponse'
        '400':
          description: Bad request - invalid parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized - missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /scan/native-supply:
    get:
      operationId: getScanNativeSupply
      summary: Get Native Token Supply
      description: Returns the current amount of the native token in circulation for the specified blockchain network, similar to block explorer supply queries.
      tags:
      - Scan
      parameters:
      - $ref: '#/components/parameters/chainParam'
      responses:
        '200':
          description: Successful response with native token supply
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NativeSupplyResponse'
        '400':
          description: Bad request - invalid parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized - missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  parameters:
    walletAddressParam:
      name: address
      in: query
      required: true
      description: The wallet address to query data for.
      schema:
        type: string
    chainParam:
      name: chain
      in: query
      required: true
      description: The blockchain network identifier (e.g., ethereum, polygon, solana, bsc, arbitrum, optimism, avalanche, base).
      schema:
        type: string
        examples:
        - ethereum
        - polygon
        - solana
    limitParam:
      name: limit
      in: query
      description: Maximum number of results to return per page.
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 25
    cursorParam:
      name: cursor
      in: query
      description: Pagination cursor for retrieving the next page of results.
      schema:
        type: string
  schemas:
    Transaction:
      type: object
      description: A blockchain transaction with summary information.
      properties:
        transactionHash:
          type: string
          description: The unique hash identifier of the transaction.
        from:
          type: string
          description: The sender address.
        to:
          type: string
          description: The recipient address.
        value:
          type: string
          description: The value transferred in the native token's smallest unit.
        blockNumber:
          type: integer
          description: The block number containing the transaction.
        blockTimestamp:
          type: string
          format: date-time
          description: The timestamp of the block containing the transaction.
        status:
          type: string
          description: The execution status of the transaction.
          enum:
          - success
          - failed
        gasUsed:
          type: string
          description: The amount of gas consumed by the transaction.
    NativeSupplyResponse:
      type: object
      description: Response containing the native token supply for a blockchain network.
      properties:
        success:
          type: boolean
          description: Indicates whether the request was successful.
        data:
          type: object
          description: Native supply data.
          properties:
            supply:
              type: string
              description: The current circulating supply of the native token.
            chain:
              type: string
              description: The blockchain network.
    ErrorResponse:
      type: object
      description: Standard error response returned when a request fails.
      properties:
        success:
          type: boolean
          description: Indicates whether the request was successful.
          example: false
        error:
          type: object
          description: Error details object.
          properties:
            code:
              type: string
              description: Machine-readable error code.
            message:
              type: string
              description: Human-readable error message describing what went wrong.
    ScanTransactionsResponse:
      type: object
      description: Response containing scanned transactions in explorer format.
      properties:
        success:
          type: boolean
          description: Indicates whether the request was successful.
        data:
          type: array
          description: List of scanned transactions.
          items:
            $ref: '#/components/schemas/Transaction'
        cursor:
          type: string
          description: Pagination cursor for the next page of results.
    ScanTransfersResponse:
      type: object
      description: Response containing scanned token transfer events.
      properties:
        success:
          type: boolean
          description: Indicates whether the request was successful.
        data:
          type: array
          description: List of scanned transfer events.
          items:
            $ref: '#/components/schemas/TokenTransfer'
        cursor:
          type: string
          description: Pagination cursor for the next page of results.
    TokenTransfer:
      type: object
      description: A single token transfer event between two addresses.
      properties:
        transactionHash:
          type: string
          description: The hash of the transaction containing this transfer.
        from:
          type: string
          description: The sender address.
        to:
          type: string
          description: The recipient address.
        value:
          type: string
          description: The amount transferred in the token's smallest unit.
        contractAddress:
          type: string
          description: The smart contract address of the transferred token.
        tokenName:
          type: string
          description: The name of the transferred token.
        tokenSymbol:
          type: string
          description: The symbol of the transferred token.
        blockNumber:
          type: integer
          description: The block number in which the transfer occurred.
        blockTimestamp:
          type: string
          format: date-time
          description: The timestamp of the block in which the transfer occurred.
  securitySchemes:
    apiKeyHeader:
      type: apiKey
      in: header
      name: x-api-key
      description: Uniblock project API key passed as a header. If no provider-specific authentication is passed in the request, Uniblock will use the credentials stored in the project associated with this API key.
externalDocs:
  description: Uniblock Direct API Documentation
  url: https://docs.uniblock.dev/docs/direct-api-overview