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

# Post Comment

> Creates a new comment on a swap transaction.



## OpenAPI

````yaml POST /v1/swap-comments
openapi: 3.0.0
info:
  version: 1.0.0
  title: Daylight.xyz API
  description: >-
    Welcome to the Daylight API! API endpoints require a Daylight partner API
    key passed in the HTTP Authorization header.
servers:
  - url: https://api.clicker.xyz
security:
  - {}
  - bearerAuth: []
paths:
  /v1/swap-comments:
    post:
      tags:
        - Submitting Transactions
      summary: Create Swap Comment
      description: Creates a new comment on a swap transaction.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSwapCommentRequest'
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SwapCommentResponse'
        '400':
          description: >-
            The request payload or query string parameter you passed was not
            valid
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
components:
  schemas:
    CreateSwapCommentRequest:
      type: object
      properties:
        transactionHash:
          type: string
          minLength: 1
          description: >-
            The transaction hash associated with the swap. For hyperliquid, you
            may pass a Hyperliquid order ID (oid) instead of a transaction hash.
        chain:
          type: string
          enum:
            - ethereum
            - optimism
            - polygon
            - arbitrum
            - zora
            - base
            - zero
            - solana
            - hyperliquid
        tokenAddress:
          type: string
          description: The token address associated with the swap
        commentText:
          type: string
          minLength: 1
          maxLength: 9999
          description: The comment text. Must be between 1 and 9999 characters
        signature:
          type: string
          description: >-
            The signature proving ownership of the signer address; the string to
            sign is:


            ```

            Clicker Swap Comment:


            Chain: <chain>

            Token Address: <token_address>

            Txn Hash: <txn_hash_or_oid>

            Comment: <comment_text>

            ```


            For the txn_hash field, use whatever value you passed as
            transactionHash (including a Hyperliquid oid if applicable).
        signerAddress:
          type: string
          default: '0xa4e221aa5a7ba51b5d5c7d5c923bfb9bcebcb252'
          description: The address / public key.
        shouldSuppressNotifications:
          type: boolean
          description: >-
            If true, suppress webhook notifications for this comment. Only
            available to the Clicker partner.
          readOnly: true
        commentTimestamp:
          type: integer
          minimum: 0
          exclusiveMinimum: true
          description: >-
            Unix timestamp to use as the comment creation date. Only available
            to the Clicker partner.
          readOnly: true
        source:
          type: string
          maxLength: 255
          description: >-
            Source identifier for the comment. Only available to the Clicker
            partner.
          readOnly: true
      required:
        - transactionHash
        - chain
        - tokenAddress
        - commentText
        - signature
        - signerAddress
    SwapCommentResponse:
      type: object
      properties:
        uid:
          type: string
          description: Unique identifier for the comment
        transactionHash:
          type: string
          description: The transaction hash associated with the swap
        chain:
          type: string
          enum:
            - ethereum
            - optimism
            - polygon
            - arbitrum
            - zora
            - base
            - zero
            - solana
            - hyperliquid
        tokenAddress:
          type: string
          description: The token address associated with the swap
        commentText:
          type: string
          description: The comment text
        signerAddress:
          type: string
          description: The Ethereum address of the comment author
        timestamp:
          type: number
          description: Unix timestamp of when the comment was created
        isAppUserComment:
          type: boolean
          description: Whether the comment was created by a user of this partner's app
        metrics:
          type: object
          properties:
            copyCount:
              type: number
              description: The number of times the comment has been copied
            copyVolume:
              type: string
              description: The volume of the comment in USD
            likeCount:
              type: number
              description: The number of likes on this comment
            isLikedByUser:
              type: boolean
              description: Whether the requesting user has liked this comment
          required:
            - copyCount
            - copyVolume
            - likeCount
            - isLikedByUser
        replies:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: Unique identifier for the reply
              text:
                type: string
                description: The reply text
              author:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - user
                  address:
                    type: string
                  name:
                    type: string
                    description: >-
                      The name of the feed actor. Use this field for maximum
                      forward compatibility.
                  images:
                    type: object
                    properties:
                      raw:
                        type: string
                        nullable: true
                        description: The full-sized image
                      xs:
                        type: string
                        nullable: true
                        description: 75x75
                      sm:
                        type: string
                        nullable: true
                        description: 300x300
                    required:
                      - raw
                      - xs
                      - sm
                    description: >-
                      An image of the feed actor. Use this field for maximum
                      forward compatibility.
                  profile:
                    type: object
                    properties:
                      id:
                        type: string
                      name:
                        type: string
                      images:
                        type: object
                        properties:
                          raw:
                            type: string
                            nullable: true
                            description: The full-sized image
                          xs:
                            type: string
                            nullable: true
                            description: 75x75
                          sm:
                            type: string
                            nullable: true
                            description: 300x300
                        required:
                          - raw
                          - xs
                          - sm
                        description: URLs for different size squares.
                      addresses:
                        type: array
                        items:
                          type: string
                      externalId:
                        type: string
                      metadata:
                        type: object
                        properties:
                          farcasterUsername:
                            type: string
                            nullable: true
                          farcasterId:
                            type: number
                            nullable: true
                          lensHandle:
                            type: string
                            nullable: true
                          ensName:
                            type: string
                            nullable: true
                          twitterHandle:
                            type: string
                            nullable: true
                          debankName:
                            type: string
                            nullable: true
                          hlName:
                            type: string
                            nullable: true
                          commentCount30d:
                            type: number
                            nullable: true
                          pnl30d:
                            type: number
                            nullable: true
                          winRate30d:
                            type: number
                            nullable: true
                          tradeCount30d:
                            type: number
                            nullable: true
                          roiPercent30d:
                            type: number
                            nullable: true
                          pnl7d:
                            type: number
                            nullable: true
                          winRate7d:
                            type: number
                            nullable: true
                          tradeCount7d:
                            type: number
                            nullable: true
                          roiPercent7d:
                            type: number
                            nullable: true
                          medianHoldingTimeMinutes:
                            type: number
                            nullable: true
                        required:
                          - farcasterUsername
                          - farcasterId
                          - lensHandle
                          - ensName
                          - twitterHandle
                          - debankName
                          - hlName
                          - commentCount30d
                          - pnl30d
                          - winRate30d
                          - tradeCount30d
                          - roiPercent30d
                          - pnl7d
                          - winRate7d
                          - tradeCount7d
                          - roiPercent7d
                          - medianHoldingTimeMinutes
                      isNSFW:
                        anyOf:
                          - type: boolean
                            enum:
                              - false
                          - type: object
                            properties:
                              nsfwImage:
                                type: boolean
                              nsfwText:
                                type: boolean
                            required:
                              - nsfwImage
                              - nsfwText
                        description: >-
                          `false` when the profile is clean. Otherwise an object
                          with `nsfwImage` and `nsfwText` booleans indicating
                          which axes the scanner flagged. Clients decide whether
                          to render, censor, or hide the underlying content.
                    required:
                      - id
                      - name
                      - images
                      - addresses
                      - metadata
                      - isNSFW
                    description: >-
                      Profile of the user (including additional known addresses
                      and extra metadata). Use this field to tailor your UI
                      specifically.
                required:
                  - type
                  - address
                  - name
                  - images
                  - profile
                description: The actor that completed an action to create a feed item.
              timestamp:
                type: number
                description: Unix timestamp of when the reply was created
              likeCount:
                type: number
                description: The number of likes on this reply
              isLikedByUser:
                type: boolean
                description: Whether the requesting user has liked this reply
            required:
              - id
              - text
              - author
              - timestamp
              - likeCount
              - isLikedByUser
          description: >-
            Replies to this comment, only included when fetching a single
            position
      required:
        - uid
        - transactionHash
        - chain
        - tokenAddress
        - commentText
        - timestamp
        - isAppUserComment
        - metrics
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````