> ## Documentation Index
> Fetch the complete documentation index at: https://docs.neynar.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Fetch a list of on-chain events provided by an FID

> Fetch on-chain events provided by a user.



## OpenAPI

````yaml get /v1/onChainEventsByFid
openapi: 3.0.4
info:
  title: Farcaster Hub 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: Info
    description: Operations related to hub information.
  - name: Casts
    description: Operations related to casts.
  - name: Reactions
    description: Operations related to reactions.
  - name: Links
    description: Operations related to links.
  - name: UserData
    description: Operations related to user data.
  - name: Fids
    description: Operations related to FIDs.
  - name: Storage
    description: Operations related to storage limits.
  - name: Usernames
    description: Operations related to usernames.
  - name: Verifications
    description: Operations related to verifications.
  - name: OnChainEvents
    description: Operations related to on-chain events.
  - name: Message
    description: Operations related to messages.
  - name: HubEvents
    description: Operations related to hub events.
paths:
  /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.
      operationId: fetch-user-on-chain-events
      parameters:
        - name: fid
          in: query
          schema:
            type: integer
          required: true
          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'
      externalDocs:
        description: Fetch on-chain events provided by a user
        url: https://docs.neynar.com/reference/fetch-user-on-chain-events
components:
  schemas:
    OnChainEventType:
      type: string
      default: EVENT_TYPE_SIGNER
      enum:
        - EVENT_TYPE_SIGNER
        - EVENT_TYPE_SIGNER_MIGRATED
        - EVENT_TYPE_ID_REGISTER
        - EVENT_TYPE_STORAGE_RENT
    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:
            $ref: '#/components/schemas/OnChainEventSigner'
          EVENT_TYPE_SIGNER_MIGRATED:
            $ref: '#/components/schemas/OnChainEventSignerMigrated'
          EVENT_TYPE_ID_REGISTER:
            $ref: '#/components/schemas/OnChainEventIdRegister'
          EVENT_TYPE_STORAGE_RENT:
            $ref: '#/components/schemas/OnChainEventStorageRent'
    OnChainEventSigner:
      allOf:
        - $ref: '#/components/schemas/OnChainEventCommon'
        - type: object
          properties:
            signerEventBody:
              $ref: '#/components/schemas/SignerEventBody'
          required:
            - signerEventBody
    OnChainEventSignerMigrated:
      allOf:
        - $ref: '#/components/schemas/OnChainEventCommon'
        - type: object
          properties:
            signerMigratedEventBody:
              $ref: '#/components/schemas/SignerMigratedEventBody'
          required:
            - signerMigratedEventBody
    OnChainEventIdRegister:
      allOf:
        - $ref: '#/components/schemas/OnChainEventCommon'
        - type: object
          properties:
            idRegisterEventBody:
              $ref: '#/components/schemas/IdRegisterEventBody'
          required:
            - idRegisterEventBody
    OnChainEventStorageRent:
      allOf:
        - $ref: '#/components/schemas/OnChainEventCommon'
        - type: object
          properties:
            storageRentEventBody:
              $ref: '#/components/schemas/StorageRentEventBody'
          required:
            - storageRentEventBody
    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
    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
    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
    SignerMigratedEventBody:
      type: object
      properties:
        migratedAt:
          type: integer
          format: int64
      required:
        - migratedAt
    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
    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
    SignerEventType:
      type: string
      default: SIGNER_EVENT_TYPE_ADD
      enum:
        - SIGNER_EVENT_TYPE_ADD
        - SIGNER_EVENT_TYPE_REMOVE
        - SIGNER_EVENT_TYPE_ADMIN_RESET
    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
  responses:
    ErrorResponse:
      description: An unexpected error response.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key to authorize requests
      x-default: NEYNAR_API_DOCS

````