> ## Documentation Index
> Fetch the complete documentation index at: https://tokenlayer-2a53bba4.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Get tokens list

> 
    Retrieves a list of tokens with filtering options (trending, new, popular, top_posts).
    Supports optional hashtag filtering and pagination.

    Returns token data including:
    - Holder counts
    - Media counts
    - Vote aggregates (upvotes/downvotes with weights)
    - Livestream status
    - Associated hashtags
    - Creator information

    Authentication is optional - unauthenticated requests receive public data without user-specific vote information.
  



## OpenAPI

````yaml post /get-tokens
openapi: 3.0.3
info:
  title: Thrust API
  version: 1.0.0
  description: |2-

          Thrust is a social trading platform where users can create, trade, and engage with tokens.

          This API provides comprehensive access to token operations, social features (posts, voting, clubs),
          blockchain transactions, and real-time interactions.

          ## Base URL
          All endpoints are accessed via: `${SUPABASE_URL}/functions/v1/{endpoint}`

          ## Authentication
          Most endpoints require authentication using an JWT token or API key passed as a Bearer token in the Authorization header.

          ## Rate Limiting
          API calls are rate limited per user. Please implement appropriate backoff strategies.
        
  contact:
    name: Thrust API Support
    url: https://onthrust.com
servers:
  - url: https://yppncslmsswqydhhgygz.supabase.co/functions/v1
    description: Production server
  - url: https://yppncslmsswqydhhgygz.supabase.co/functions/v1
    description: Staging server
security: []
tags:
  - name: Tokens
    description: Token creation, browsing, search, trading, and price operations
  - name: Posts
    description: Creating and retrieving posts and topics
  - name: Voting
    description: Voting on posts, polls, tokens, and livestreams
  - name: Notifications
    description: User notifications management
  - name: Clubs
    description: Club and group management
  - name: Feed
    description: Timeline and feed operations
  - name: Transactions
    description: Blockchain transactions (send, tip, ownership checks)
paths:
  /get-tokens:
    post:
      tags:
        - Tokens
      summary: Get tokens list
      description: |2-

            Retrieves a list of tokens with filtering options (trending, new, popular, top_posts).
            Supports optional hashtag filtering and pagination.

            Returns token data including:
            - Holder counts
            - Media counts
            - Vote aggregates (upvotes/downvotes with weights)
            - Livestream status
            - Associated hashtags
            - Creator information

            Authentication is optional - unauthenticated requests receive public data without user-specific vote information.
          
      operationId: getTokens
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetTokensRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTokensResponse'
        '400':
          description: Bad request - Invalid parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - BearerAuth: []
        - {}
components:
  schemas:
    GetTokensRequest:
      type: object
      properties:
        hashtag_name:
          type: string
          description: Filter tokens by hashtag name
          example: defi
        filter:
          type: string
          enum:
            - trending
            - new
            - popular
            - top_posts
          description: Sorting/filtering strategy for tokens
          example: trending
        limit:
          type: integer
          minimum: 1
          maximum: 100
          default: 20
          description: Maximum number of tokens to return
          example: 20
        offset:
          type: integer
          minimum: 0
          default: 0
          description: Number of tokens to skip for pagination
          example: 0
        verified_only:
          type: boolean
          default: false
          description: Only return tokens with token_layer_id (verified)
          example: false
      required:
        - filter
    GetTokensResponse:
      type: object
      properties:
        success:
          type: boolean
          enum:
            - true
        tokens:
          type: array
          items:
            $ref: '#/components/schemas/Token'
        pagination:
          $ref: '#/components/schemas/Pagination'
      required:
        - success
        - tokens
        - pagination
    Error:
      type: object
      properties:
        success:
          type: boolean
          enum:
            - false
        error:
          type: string
      required:
        - success
        - error
      description: Error response
    Token:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        symbol:
          type: string
        slug:
          type: string
        logo:
          type: string
          nullable: true
          format: uri
        banner_url:
          type: string
          nullable: true
          format: uri
        video_url:
          type: string
          nullable: true
          format: uri
        description:
          type: string
        token_layer_id:
          type: string
          nullable: true
        created_at:
          type: string
          format: date-time
        launch_post_id:
          type: string
          nullable: true
          format: uuid
        total_posts_count:
          type: integer
          minimum: 0
        total_media_count:
          type: integer
          minimum: 0
        groups_count:
          type: integer
          minimum: 0
        holders_count:
          type: integer
          minimum: 0
        upvotes:
          type: integer
          minimum: 0
        downvotes:
          type: integer
          minimum: 0
        weighted_upvotes:
          type: number
          minimum: 0
        weighted_downvotes:
          type: number
          minimum: 0
        user_vote:
          type: string
          nullable: true
          enum:
            - upvote
            - downvote
        is_live:
          type: boolean
        hashtags:
          type: array
          items:
            type: string
        creator:
          $ref: '#/components/schemas/User'
      required:
        - id
        - name
        - symbol
        - slug
        - logo
        - banner_url
        - video_url
        - description
        - token_layer_id
        - created_at
        - launch_post_id
        - total_posts_count
        - total_media_count
        - groups_count
        - holders_count
        - upvotes
        - downvotes
        - weighted_upvotes
        - weighted_downvotes
        - user_vote
        - is_live
        - hashtags
        - creator
      description: Token with full metadata
    Pagination:
      type: object
      properties:
        limit:
          type: integer
          minimum: 0
          exclusiveMinimum: true
        offset:
          type: integer
          minimum: 0
        total_returned:
          type: integer
          minimum: 0
        has_more:
          type: boolean
      required:
        - limit
        - offset
        - total_returned
        - has_more
      description: Pagination information
    User:
      type: object
      nullable: true
      properties:
        id:
          type: string
          format: uuid
        username:
          type: string
        profile_picture:
          type: string
          nullable: true
          format: uri
      required:
        - id
        - username
        - profile_picture
      description: User profile information
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT token or API key

````