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

# Profile Lookup

> Retrieves aggregated profile information for a given address or name. Combines data from multiple Web3 identity sources including ENS, Lens, Farcaster, and Basement profiles.



## OpenAPI

````yaml /openapi/profiles.json get /
openapi: 3.0.0
info:
  title: B3 Profiles API
  description: >-
    Unified Web3 identity aggregation service that enhances wallet
    authentication with social identity data from ENS, Lens, and Farcaster. The
    B3 Profiles service aggregates profile data from multiple Web3 sources
    including Basement, ENS, Thirdweb Social, Global Accounts, and other
    identity providers, providing a single API endpoint for comprehensive user
    information.


    ## Features


    - **Multi-source Profile Aggregation**: Combines data from Basement, ENS,
    Thirdweb, Global Accounts, and other Web3 identity providers

    - **Social Identity Integration**: Fetches social profiles from ENS, Lens
    Protocol, and Farcaster networks  

    - **Intelligent Caching**: Uses Cloudflare KV storage for efficient data
    caching with TTL

    - **Profile Preferences**: Allows users to set preferred profile sources via
    cryptographic signatures

    - **Flexible Lookup**: Supports lookup by wallet address or username/domain
    name

    - **Real-time Verification**: Includes signature verification for preference
    setting

    - **Global Account Fallback**: Automatically looks up B3 global accounts and
    aggregates profiles from linked wallet addresses when no other profiles are
    found


    ## Data Sources


    The service aggregates data from:


    - **Basement Profiles**: B3 ecosystem usernames and gaming profiles

    - **ENS Data**: Ethereum Name Service domains, avatars, and metadata

    - **Thirdweb Social**: Multi-platform social profiles (Farcaster, Lens,
    etc.)

    - **B3 ENS Gateway**: B3-specific ENS resolution

    - **Global Accounts**: B3 smart contract wallets linked to social logins and
    EOA wallets, with automatic discovery and aggregation of linked wallet
    profiles (fallback when no other profiles found)


    ## Security


    - Cryptographic signature verification for all preference settings

    - EIP-191 message verification using viem library

    - Timestamp validation to prevent replay attacks

    - Address normalization for consistent storage


    See more documentation at
    [https://docs.b3.fun/data/profiles](https://docs.b3.fun/data/profiles)
  version: 1.0.0
  contact:
    url: https://docs.b3.fun/data/profiles
servers:
  - url: https://profiles.b3.fun
    description: Production server
security: []
tags:
  - name: Lookup
    description: Profile lookup and identity aggregation
  - name: Preferences
    description: User profile preferences and settings
paths:
  /:
    get:
      tags:
        - Lookup
      summary: Profile Lookup
      description: >-
        Retrieves aggregated profile information for a given address or name.
        Combines data from multiple Web3 identity sources including ENS, Lens,
        Farcaster, and Basement profiles.
      parameters:
        - name: address
          in: query
          required: false
          schema:
            type: string
            pattern: ^0x[a-fA-F0-9]{40}$
          description: >-
            Ethereum wallet address to lookup (e.g.,
            0x1234567890abcdef1234567890abcdef12345678)
        - name: name
          in: query
          required: false
          schema:
            type: string
          description: Username or ENS name to lookup (e.g., vitalik.eth, username.b3.fun)
        - name: fresh
          in: query
          required: false
          schema:
            type: boolean
            default: false
          description: Skip cache and fetch fresh data
        - name: b3GlobalId
          in: query
          required: false
          schema:
            type: string
          description: B3 Global ID to lookup (e.g., c0fd88a3-0589-41d5-8834-d6ae782f675e)
      responses:
        '200':
          description: Successful profile lookup
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CombinedProfile'
        '400':
          description: Bad Request - Missing required parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                missing-params:
                  summary: Missing address or name parameter
                  value:
                    error: Missing ?address or ?name
                invalid-address:
                  summary: Invalid Ethereum address format
                  value:
                    error: Invalid address format
        '404':
          description: Profile not found
components:
  schemas:
    CombinedProfile:
      type: object
      description: Aggregated profile data from multiple Web3 identity sources
      properties:
        name:
          type: string
          nullable: true
          description: Primary name or username (ENS name, Basement username, etc.)
        address:
          type: string
          nullable: true
          description: Normalized Ethereum wallet address
        avatar:
          type: string
          nullable: true
          description: Profile avatar URL from preferred source
        bio:
          type: string
          nullable: true
          description: Profile bio/description from preferred source
        displayName:
          type: string
          nullable: true
          description: >-
            Display name from preferred source or custom user setting. Falls
            back to 'name' if not set.
        profiles:
          type: array
          description: Array of all profile data from different sources
          items:
            $ref: '#/components/schemas/Profile'
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
          description: Error message describing what went wrong
      required:
        - error
    Profile:
      type: object
      description: Profile data from a specific source
      properties:
        type:
          type: string
          description: Profile source type
          enum:
            - ensdata
            - basement
            - b3-ens
            - thirdweb-farcaster
            - thirdweb-lens
            - global-account
        address:
          type: string
          nullable: true
          description: Wallet address associated with this profile
        name:
          type: string
          nullable: true
          description: Name or username from this source
        avatar:
          type: string
          nullable: true
          description: Avatar URL from this source
        bio:
          type: string
          nullable: true
          description: Bio/description from this source
        displayName:
          type: string
          nullable: true
          description: Display name from this source
        userId:
          type: string
          nullable: true
          description: >-
            B3 Global Account user ID (only present for global-account profile
            type)
      required:
        - type

````