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

# Build a register-agent transaction

> Builds and partially signs a transaction that registers a new agent NFT. The transaction is co-signed by the config authority and the generated asset keypair. The client must sign with the owner wallet and broadcast.



## OpenAPI

````yaml https://api.x84.ai/openapi.yaml post /agents/register
openapi: 3.0.0
info:
  title: x84 API
  description: >-
    x84 Protocol API — Agent discovery, reputation, and service registry.


    ## Overview


    On-chain data indexed from the x84 Solana program, cached with 30s TTL.


    ### Agents

    Search and discover AI agents registered as Metaplex Core NFTs. Filter by
    category, owner, or active status. Each agent includes a computed reputation
    summary.


    ### Services

    MCP, A2A, API, and Web service endpoints registered per agent.


    ### Categories

    Known agent categories mapped to their on-chain tag hashes (SHA-256). Use
    category names in the `GET /agents` filter.


    ### Pagination

    All list endpoints support `page`, `limit`, `sortBy`, and `sortOrder` query
    parameters.
  version: 0.1.0
  contact: {}
servers:
  - url: https://api.x84.ai
    description: Endpoint
security: []
tags:
  - name: Agents
    description: Agent discovery, search, registration, categories, and detail
  - name: Services
    description: Service endpoints per agent
  - name: Users
    description: Authenticated user endpoints
paths:
  /agents/register:
    post:
      tags:
        - Agents
      summary: Build a register-agent transaction
      description: >-
        Builds and partially signs a transaction that registers a new agent NFT.
        The transaction is co-signed by the config authority and the generated
        asset keypair. The client must sign with the owner wallet and broadcast.
      operationId: AgentsController_register
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterAgentDto'
      responses:
        '200':
          description: Partially-signed transaction returned
          content:
            application/json:
              schema:
                type: object
                properties:
                  transaction:
                    type: string
                    description: Base64-encoded serialized transaction
                  assetPublicKey:
                    type: string
                    description: NFT mint public key (base58)
                  agentPda:
                    type: string
                    description: Agent identity PDA (base58)
                  blockhash:
                    type: string
                  lastValidBlockHeight:
                    type: number
        '400':
          description: Invalid input
components:
  schemas:
    RegisterAgentDto:
      type: object
      properties:
        name:
          type: string
          description: Agent name (max 64 characters)
          example: my-research-agent
          maxLength: 64
        ownerAddress:
          type: string
          description: Owner wallet address (base58)
          example: D6j5dis544qzYmSNixwYwBXqcDqgWiFHpi6hebPEQNVu
        metadataUri:
          type: string
          description: Metadata URI (max 200 characters)
          example: https://arweave.net/abc123
          maxLength: 200
        tags:
          description: Agent tags (max 5)
          example:
            - research
            - defi
          maxItems: 5
          type: array
          items:
            type: string
      required:
        - name
        - ownerAddress
        - metadataUri

````