Neynar OnChainEvents API

Operations related to on-chain events.

Operations 3

GET /v1/onChainIdRegistryEventByAddress Fetch an on-chain ID Registry Event for a given Address #
GET /v1/onChainEventsByFid Fetch a list of on-chain events provided by an FID #
GET /v1/onChainSignersByFid Fetch a list of signers provided by an FID #

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/neynar-onchainevents-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

neynar-onchainevents-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Farcaster Hub On Chain Events API
  version: 2.35.0
  description: 'Perform basic queries of Farcaster state via the REST API of a Farcaster hub. See the [Neynar docs](https://docs.neynar.com/reference) for more details.

    '
  contact:
    name: Neynar
    url: https://neynar.com/
    email: team@neynar.com
servers:
- url: https://snapchain-api.neynar.com
security:
- ApiKeyAuth: []
tags:
- name: OnChainEvents
  description: Operations related to on-chain events.
paths:
  /v1/onChainIdRegistryEventByAddress:
    get:
      tags:
      - OnChainEvents
      summary: Fetch an on-chain ID Registry Event for a given Address
      description: Fetch an on-chain ID Registry Event for a given Address.
      externalDocs:
        description: Fetch an on-chain ID Registry Event for a given Address
        url: https://docs.neynar.com/reference/lookup-on-chain-id-registry-event-by-address
      operationId: lookup-on-chain-id-registry-event-by-address
      parameters:
      - name: address
        in: query
        required: true
        schema:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
        description: The ETH address being requested
        example: '0x6b0bda3f2ffed5efc83fa8c024acff1dd45793f1'
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnChainEventIdRegister'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /v1/onChainEventsByFid:
    get:
      tags:
      - OnChainEvents
      summary: Fetch a list of on-chain events provided by an FID
      description: Fetch on-chain events provided by a user.
      externalDocs:
        description: Fetch on-chain events provided by a user
        url: https://docs.neynar.com/reference/fetch-user-on-chain-events
      operationId: fetch-user-on-chain-events
      parameters:
      - name: fid
        in: query
        required: true
        schema:
          type: integer
        description: The FID being requested
        example: 616
      - name: event_type
        in: query
        schema:
          $ref: '#/components/schemas/OnChainEventType'
        description: The numeric or string value of the event type being requested
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  events:
                    type: array
                    items:
                      $ref: '#/components/schemas/OnChainEvent'
                required:
                - events
        default:
          $ref: '#/components/responses/ErrorResponse'
  /v1/onChainSignersByFid:
    get:
      tags:
      - OnChainEvents
      summary: Fetch a list of signers provided by an FID
      description: '**Note:** one of two different response schemas is returned based on whether the caller provides the `signer` parameter. If included, a single `OnChainEventSigner` message is returned (or a `not_found` error). If omitted, a non-paginated list of `OnChainEventSigner` messages is returned instead.'
      externalDocs:
        description: Fetch on-chain signers provided by a user
        url: https://docs.neynar.com/reference/fetch-user-on-chain-signers
      operationId: fetch-user-on-chain-signers-events
      parameters:
      - name: fid
        in: query
        required: true
        schema:
          type: integer
        description: The FID being requested
        example: 616
      - name: signer
        in: query
        schema:
          type: string
        description: The optional key of signer
        required: false
        example: '0x0852c07b5695ff94138b025e3f9b4788e06133f04e254f0ea0eb85a06e999cdd'
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/OnChainEventSigner'
                - type: object
                  properties:
                    events:
                      type: array
                      items:
                        $ref: '#/components/schemas/OnChainEventSigner'
                  required:
                  - events
        default:
          $ref: '#/components/responses/ErrorResponse'
components:
  responses:
    ErrorResponse:
      description: An unexpected error response.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  schemas:
    OnChainEventIdRegister:
      allOf:
      - $ref: '#/components/schemas/OnChainEventCommon'
      - type: object
        properties:
          idRegisterEventBody:
            $ref: '#/components/schemas/IdRegisterEventBody'
        required:
        - idRegisterEventBody
    ErrorResponse:
      required:
      - code
      - details
      - errCode
      - metadata
      - name
      - presentable
      type: object
      properties:
        errCode:
          type: string
        presentable:
          type: boolean
        name:
          type: string
        code:
          type: integer
        details:
          type: string
        metadata:
          required:
          - errcode
          type: object
          properties:
            errcode:
              type: array
              items:
                type: string
    IdRegisterEventBody:
      type: object
      properties:
        to:
          pattern: ^0x[a-fA-F0-9]*$
          type: string
          example: '0x00000000fcd5a8e45785c8a4b9a718c9348e4f18'
        eventType:
          $ref: '#/components/schemas/IdRegisterEventType'
        from:
          pattern: ^0x[a-fA-F0-9]*$|^$
          type: string
          example: '0x00000000fcd5a8e45785c8a4b9a718c9348e4f18'
        recoveryAddress:
          pattern: ^0x[a-fA-F0-9]*$
          type: string
          example: '0x00000000fcd5a8e45785c8a4b9a718c9348e4f18'
      required:
      - to
      - from
      - eventType
      - recoveryAddress
    IdRegisterEventType:
      type: string
      default: ID_REGISTER_EVENT_TYPE_REGISTER
      enum:
      - ID_REGISTER_EVENT_TYPE_REGISTER
      - ID_REGISTER_EVENT_TYPE_TRANSFER
      - ID_REGISTER_EVENT_TYPE_CHANGE_RECOVERY
    StorageRentEventBody:
      type: object
      properties:
        payer:
          pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
          type: string
          format: byte
        units:
          type: integer
          format: int64
        expiry:
          type: integer
          format: int64
      required:
      - payer
      - units
      - expiry
    OnChainEvent:
      oneOf:
      - $ref: '#/components/schemas/OnChainEventSigner'
      - $ref: '#/components/schemas/OnChainEventSignerMigrated'
      - $ref: '#/components/schemas/OnChainEventIdRegister'
      - $ref: '#/components/schemas/OnChainEventStorageRent'
      discriminator:
        propertyName: type
        mapping:
          EVENT_TYPE_SIGNER: '#/components/schemas/OnChainEventSigner'
          EVENT_TYPE_SIGNER_MIGRATED: '#/components/schemas/OnChainEventSignerMigrated'
          EVENT_TYPE_ID_REGISTER: '#/components/schemas/OnChainEventIdRegister'
          EVENT_TYPE_STORAGE_RENT: '#/components/schemas/OnChainEventStorageRent'
    OnChainEventStorageRent:
      allOf:
      - $ref: '#/components/schemas/OnChainEventCommon'
      - type: object
        properties:
          storageRentEventBody:
            $ref: '#/components/schemas/StorageRentEventBody'
        required:
        - storageRentEventBody
    SignerMigratedEventBody:
      type: object
      properties:
        migratedAt:
          type: integer
          format: int64
      required:
      - migratedAt
    SignerEventType:
      type: string
      default: SIGNER_EVENT_TYPE_ADD
      enum:
      - SIGNER_EVENT_TYPE_ADD
      - SIGNER_EVENT_TYPE_REMOVE
      - SIGNER_EVENT_TYPE_ADMIN_RESET
    OnChainEventCommon:
      type: object
      properties:
        type:
          type: string
          example: EVENT_TYPE_SIGNER
        chainId:
          type: integer
        blockNumber:
          type: integer
        blockHash:
          type: string
          example: '0x75fbbb8b2a4ede67ac350e1b0503c6a152c0091bd8e3ef4a6927d58e088eae28'
        blockTimestamp:
          type: integer
        transactionHash:
          type: string
          example: '0x36ef79e6c460e6ae251908be13116ff0065960adb1ae032b4cc65a8352f28952'
        logIndex:
          type: integer
        txIndex:
          type: integer
        fid:
          type: integer
      required:
      - type
      - chainId
      - blockNumber
      - blockHash
      - blockTimestamp
      - transactionHash
      - logIndex
      - txIndex
      - fid
    OnChainEventType:
      type: string
      default: EVENT_TYPE_SIGNER
      enum:
      - EVENT_TYPE_SIGNER
      - EVENT_TYPE_SIGNER_MIGRATED
      - EVENT_TYPE_ID_REGISTER
      - EVENT_TYPE_STORAGE_RENT
    OnChainEventSignerMigrated:
      allOf:
      - $ref: '#/components/schemas/OnChainEventCommon'
      - type: object
        properties:
          signerMigratedEventBody:
            $ref: '#/components/schemas/SignerMigratedEventBody'
        required:
        - signerMigratedEventBody
    OnChainEventSigner:
      allOf:
      - $ref: '#/components/schemas/OnChainEventCommon'
      - type: object
        properties:
          signerEventBody:
            $ref: '#/components/schemas/SignerEventBody'
        required:
        - signerEventBody
    SignerEventBody:
      type: object
      properties:
        key:
          pattern: ^0x[a-fA-F0-9]{64}$
          type: string
        keyType:
          type: integer
          format: int64
        eventType:
          $ref: '#/components/schemas/SignerEventType'
        metadata:
          pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
          type: string
          format: byte
        metadataType:
          type: integer
          format: int64
      required:
      - key
      - keyType
      - eventType
      - metadata
      - metadataType
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key to authorize requests
      x-default: NEYNAR_API_DOCS