Skip to content

API Reference

SQD

sqd.SQD(*, dataset, portal_url='https://portal.sqd.dev', stream_type='realtime')

SQD(
    *,
    dataset: HyperliquidDataset
    | Literal["hyperliquid-fills"],
    portal_url: str = "https://portal.sqd.dev",
    stream_type: Literal[
        "finalized", "realtime"
    ] = "realtime",
) -> HyperliquidQuery
SQD(
    *,
    dataset: SolanaDataset | Literal["solana-mainnet"],
    portal_url: str = "https://portal.sqd.dev",
    stream_type: Literal[
        "finalized", "realtime"
    ] = "realtime",
) -> SolanaQuery
SQD(
    *,
    dataset: EvmDataset | str,
    portal_url: str = "https://portal.sqd.dev",
    stream_type: Literal[
        "finalized", "realtime"
    ] = "realtime",
) -> EVMQuery

Create a query builder for the specified dataset.

This is the main entry point for building SQD queries.

Parameters:

Name Type Description Default
dataset Dataset | str

Dataset to query (e.g., 'ethereum-mainnet', 'arbitrum-one', 'solana-mainnet')

required
portal_url str

SQD portal URL

'https://portal.sqd.dev'
stream_type Literal['finalized', 'realtime']

Type of stream ('finalized' or 'realtime')

'realtime'

Returns:

Type Description
EVMQuery | SolanaQuery | HyperliquidQuery

EVMQuery for EVM chains or SolanaQuery for Solana

Example
sqd = SQD(dataset='ethereum-mainnet')
query = sqd.get_transactions(from_block=17_000_000, address='0x...')
async for tx in query:
    print(tx)

sqd.Dataset

Bases: StrEnum

EVM

sqd.query.evm.decode

EVM decoding utilities for common events and data types.

DecodedTransfer

Bases: TypedDict

Decoded ERC-20/ERC-721 Transfer event.

decode_transfer(log)

Decode an ERC-20/ERC-721 Transfer event log.

Parameters:

Name Type Description Default
log dict[str, object]

Raw log data from SQD API

required

Returns:

Type Description
DecodedTransfer

DecodedTransfer with parsed addresses and value

Example
async for block in query:
    for log in block.get("logs", []):
        transfer = decode_transfer(log)
        print(f"{transfer['from_address']} -> {transfer['to_address']}: {transfer['value']}")

format_token_amount(value, decimals)

Format a token amount with decimals for display.

Parameters:

Name Type Description Default
value int

Raw token amount (in smallest units)

required
decimals int

Token decimals (default: 18 for most ERC-20 tokens)

required

Returns:

Type Description
str

Formatted string with decimal point

Example
>>> format_token_amount(1000000000000000000, 18)
'1.0'
>>> format_token_amount(1500000, 6)  # USDC
'1.5'

Utilities

sqd.setup_logging(level=logging.INFO)

Configure logging for the SQD client.

Parameters:

Name Type Description Default
level int

Logging level (default: logging.INFO)

INFO
Example
import sqd
sqd.setup_logging()  # Enable INFO level logging with colors
sqd.setup_logging(logging.DEBUG)  # Enable DEBUG level logging