Clusters Names API

Resolve addresses to cluster/wallet names and back

OpenAPI Specification

clusters-names-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Clusters Authentication Names API
  version: '1.0'
  description: Clusters is a multichain namespace and identity service that gives users a single universal name (username/wallet) resolvable across EVM, Solana, and other blockchain ecosystems. The v1 REST API resolves addresses to cluster names and back, reads cluster profiles, checks name availability, produces registration transaction data, manages community clusters, and streams a replayable historical event feed. Read endpoints are public; write/manage endpoints require a wallet-signature bearer token. An optional API key raises rate limits.
  contact:
    name: Clusters
    url: https://docs.clusters.xyz
  x-apievangelist-provenance:
    method: generated
    source: https://docs.clusters.xyz/getting-started/api/v1
    note: Faithfully modeled from the provider's published v1 documentation; the Clusters team does not publish an OpenAPI definition. Base URL verified live 2026-07-18.
servers:
- url: https://api.clusters.xyz/v1
  description: Production v1
security:
- ApiKeyAuth: []
- {}
tags:
- name: Names
  description: Resolve addresses to cluster/wallet names and back
paths:
  /names/address/{address}:
    get:
      operationId: getNameByAddress
      tags:
      - Names
      summary: Get name by address
      description: Get the cluster and wallet name for an address.
      parameters:
      - $ref: '#/components/parameters/AddressPath'
      - $ref: '#/components/parameters/TestnetQuery'
      responses:
        '200':
          description: Resolved name
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NameResolution'
        '404':
          description: No name registered for this address
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NameResolution'
  /names/owner/address/{address}:
    get:
      operationId: getNamesByOwner
      tags:
      - Names
      summary: Get names by owner
      description: Get all clusters and wallet names owned by a single wallet address.
      parameters:
      - $ref: '#/components/parameters/AddressPath'
      - $ref: '#/components/parameters/TestnetQuery'
      responses:
        '200':
          description: Owned names
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OwnedName'
  /names:
    post:
      operationId: getAddressesByName
      tags:
      - Names
      summary: Bulk resolve names to addresses
      description: Get the wallets associated with one or more cluster names. Names not found are omitted from the response.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
      responses:
        '200':
          description: Resolved addresses
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/NameAddress'
        '500':
          description: Error
          content:
            application/json:
              schema:
                type: array
                items: {}
components:
  schemas:
    NameAddress:
      type: object
      properties:
        name:
          type: string
        type:
          type: string
        address:
          type: string
        clusterName:
          type: string
        walletName:
          type: string
        isVerified:
          type: boolean
    OwnedName:
      type: object
      properties:
        name:
          type: string
        owner:
          type: string
        totalWeiAmount:
          type: string
        createdAt:
          type: string
        updatedAt:
          type: string
        updatedBy:
          type: string
        isTestnet:
          type: boolean
        clusterId:
          type: string
        expiresAt:
          type:
          - string
          - 'null'
    NameResolution:
      type: object
      properties:
        address:
          type: string
        type:
          type: string
          enum:
          - evm
          - solana
        clusterName:
          type:
          - string
          - 'null'
        walletName:
          type:
          - string
          - 'null'
        isVerified:
          type: boolean
  parameters:
    AddressPath:
      name: address
      in: path
      required: true
      schema:
        type: string
      description: EVM or Solana address.
    TestnetQuery:
      name: testnet
      in: query
      required: false
      schema:
        type: boolean
      description: Set true to query Sepolia testnet state.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY
      description: Optional API key from https://clusters.xyz/developer to raise rate limits.
    WalletBearerAuth:
      type: http
      scheme: bearer
      description: Wallet-signature auth token obtained from POST /auth/token.