Uniblock Market Data API
Endpoints for real-time and historical market data including token prices, market capitalization, trading volume, trending tokens, and charting data from multiple exchanges.
Endpoints for real-time and historical market data including token prices, market capitalization, trading volume, trending tokens, and charting data from multiple exchanges.
openapi: 3.1.0
info:
title: Uniblock Direct Direct Pass-Through Market Data 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: Market Data
description: Endpoints for real-time and historical market data including token prices, market capitalization, trading volume, trending tokens, and charting data from multiple exchanges.
paths:
/market-data/price:
get:
operationId: getMarketDataPrice
summary: Get Market Data Price
description: Retrieves the current price of a token from aggregated market data sources, providing real-time pricing from multiple exchanges.
tags:
- Market Data
parameters:
- $ref: '#/components/parameters/chainParam'
- $ref: '#/components/parameters/contractAddressParam'
responses:
'200':
description: Successful response with market price
content:
application/json:
schema:
$ref: '#/components/schemas/MarketDataPriceResponse'
'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'
/market-data/market-cap:
get:
operationId: getMarketDataMarketCap
summary: Get Market Capitalization
description: Retrieves the current market capitalization for a specific token, calculated from circulating supply and current price data.
tags:
- Market Data
parameters:
- $ref: '#/components/parameters/chainParam'
- $ref: '#/components/parameters/contractAddressParam'
responses:
'200':
description: Successful response with market cap
content:
application/json:
schema:
$ref: '#/components/schemas/MarketDataMarketCapResponse'
'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'
/market-data/volume:
get:
operationId: getMarketDataVolume
summary: Get Trading Volume
description: Retrieves the 24-hour trading volume for a specific token across aggregated exchange data sources.
tags:
- Market Data
parameters:
- $ref: '#/components/parameters/chainParam'
- $ref: '#/components/parameters/contractAddressParam'
responses:
'200':
description: Successful response with trading volume
content:
application/json:
schema:
$ref: '#/components/schemas/MarketDataVolumeResponse'
'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'
/market-data/trending:
get:
operationId: getMarketDataTrending
summary: Get Trending Tokens
description: Retrieves a list of currently trending tokens based on trading activity, volume, and market interest across aggregated data sources.
tags:
- Market Data
parameters:
- $ref: '#/components/parameters/chainParam'
- $ref: '#/components/parameters/limitParam'
responses:
'200':
description: Successful response with trending tokens
content:
application/json:
schema:
$ref: '#/components/schemas/MarketDataTrendingResponse'
'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'
/market-data/chart:
get:
operationId: getMarketDataChart
summary: Get Charting Data
description: Retrieves price, volume, and market cap data for a token at a given date range and predefined granularity, suitable for rendering charts and performing time-series analysis.
tags:
- Market Data
parameters:
- $ref: '#/components/parameters/chainParam'
- $ref: '#/components/parameters/contractAddressParam'
- name: from
in: query
description: Start date for the charting period in ISO 8601 format.
schema:
type: string
format: date
- name: to
in: query
description: End date for the charting period in ISO 8601 format.
schema:
type: string
format: date
- name: granularity
in: query
description: Time interval granularity for data points.
schema:
type: string
enum:
- 1h
- 4h
- 1d
- 1w
responses:
'200':
description: Successful response with charting data
content:
application/json:
schema:
$ref: '#/components/schemas/MarketDataChartResponse'
'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'
/market-data/history:
get:
operationId: getMarketDataHistory
summary: Get Historical Market Data
description: Retrieves historical price, volume, and market cap of a token at a specific date, enabling point-in-time market analysis.
tags:
- Market Data
parameters:
- $ref: '#/components/parameters/chainParam'
- $ref: '#/components/parameters/contractAddressParam'
- name: date
in: query
description: The specific date for historical data retrieval in ISO 8601 format.
schema:
type: string
format: date
responses:
'200':
description: Successful response with historical market data
content:
application/json:
schema:
$ref: '#/components/schemas/MarketDataHistoryResponse'
'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:
schemas:
MarketDataHistoryResponse:
type: object
description: Response containing historical market data for a specific date.
properties:
success:
type: boolean
description: Indicates whether the request was successful.
data:
type: object
description: Historical market data for the specified date.
properties:
date:
type: string
format: date
description: The date of the historical data.
price:
type: number
format: double
description: The price on the specified date in USD.
volume:
type: number
format: double
description: The trading volume on the specified date.
marketCap:
type: number
format: double
description: The market capitalization on the specified date.
MarketDataVolumeResponse:
type: object
description: Response containing 24-hour trading volume for a token.
properties:
success:
type: boolean
description: Indicates whether the request was successful.
data:
type: object
description: Trading volume data.
properties:
volume24h:
type: number
format: double
description: The 24-hour trading volume in USD.
contractAddress:
type: string
description: The contract address of the token.
chain:
type: string
description: The blockchain network.
MarketDataChartResponse:
type: object
description: Response containing time-series charting data for a token.
properties:
success:
type: boolean
description: Indicates whether the request was successful.
data:
type: array
description: List of data points for the charting period.
items:
type: object
properties:
timestamp:
type: string
format: date-time
description: The timestamp of the data point.
price:
type: number
format: double
description: The price at the given timestamp in USD.
volume:
type: number
format: double
description: The trading volume at the given timestamp.
marketCap:
type: number
format: double
description: The market cap at the given timestamp.
MarketDataMarketCapResponse:
type: object
description: Response containing market capitalization data for a token.
properties:
success:
type: boolean
description: Indicates whether the request was successful.
data:
type: object
description: Market capitalization data.
properties:
marketCap:
type: number
format: double
description: The current market capitalization in USD.
contractAddress:
type: string
description: The contract address of the token.
chain:
type: string
description: The blockchain network.
MarketDataTrendingResponse:
type: object
description: Response containing a list of currently trending tokens.
properties:
success:
type: boolean
description: Indicates whether the request was successful.
data:
type: array
description: List of trending tokens.
items:
type: object
properties:
name:
type: string
description: The name of the trending token.
symbol:
type: string
description: The ticker symbol of the trending token.
contractAddress:
type: string
description: The contract address of the token.
price:
type: number
format: double
description: The current price in USD.
volume24h:
type: number
format: double
description: The 24-hour trading volume in USD.
priceChange24h:
type: number
format: double
description: The 24-hour price change percentage.
MarketDataPriceResponse:
type: object
description: Response containing the current market price of a token.
properties:
success:
type: boolean
description: Indicates whether the request was successful.
data:
type: object
description: Market price data.
properties:
price:
type: number
format: double
description: The current market price in USD.
contractAddress:
type: string
description: The contract address of the 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.
parameters:
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
contractAddressParam:
name: contractAddress
in: query
required: true
description: The smart contract address of the token.
schema:
type: string
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