gRPC requests, log filters and block payloads
    Resources & endpoints
    Read-only preview
    You're browsing the public Firehose reference. Sign in to open a live stream with your team's API key.

    Bytes & event signatures

    Protobuf JSON represents bytes as base64 and 64-bit integers as decimal strings. The examples use the accepted protobuf field names in snake_case; ProtoJSON also accepts their lowerCamelCase equivalents. Native protobuf clients supply raw address and topic bytes.

    Node.js · encode the address bytes, not the hex text
    1const address = '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48';
    2Buffer.from(address.slice(2), 'hex').toString('base64');
    3// oLhpkcYhizbB0Z1KLp6wzjYG60g=

    event_signatures takes the full Keccak-256 hash of the canonical event declaration, without parameter names or indexed keywords. It is a 32-byte log topic, not a 4-byte function selector.

    Transfer(address,address,uint256)
    1// topic[0] as hex
    20xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
    3// The same 32 bytes in ProtoJSON
    43fJSrRviyJtpwrBo/DeNqpUrp/FjxKEWKPVaTfUjs+8=
    Ethereum addresses & Uniswap Swap signatures
    Hex inputs · accepted by Try It
    1Ethereum USDC: 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
    2Ethereum USDT: 0xdac17f958d2ee523a2206206994597c13d831ec7
    3
    4V2: Swap(address,uint256,uint256,uint256,uint256,address)
    50xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822
    6
    7V3: Swap(address,address,int256,int256,uint160,uint128,int24)
    80xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67
    9
    10V4: Swap(bytes32,address,int128,int128,uint160,uint128,int24,uint24)
    110x40e9cecb9f5f1f1c5b9c97dec2917b7ee92e57ba5563708daca94dd84ad7112f

    Signature-only matching includes contracts with compatible events. Transfer also matches ERC-721 events; a Swap signature does not establish an official Uniswap deployment. Add known emitter addresses when contract identity matters. Filter indexed sender/recipient topics locally; LogFilter only supports the emitter and topic[0].

    ProtoJSON encoding reference