GoldRush x402 API

Pay-per-request HTTP 402 endpoints designed for autonomous AI agents and onchain micropayments. Lists and searches available x402 endpoints, exposes token balance and recent transaction lookups via the 402 settlement flow, and returns per-endpoint metadata for agents to discover and pay for data without a long-lived API key.

OpenAPI Specification

covalent-x402-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: GoldRush x402 API
  description: >
    Pay-per-request HTTP 402 endpoints for autonomous AI agents and onchain
    micropayments. Discover available x402 endpoints, search the directory,
    and call balance / transaction lookups with a 402 settlement flow.
  version: v1
  contact:
    name: GoldRush Support
    url: https://goldrush.dev/support/
servers:
  - url: https://api.covalenthq.com
    description: GoldRush x402 endpoints
security:
  - BearerAuth: []
tags:
  - name: Discovery
    description: List and search x402 endpoints exposed by GoldRush.
  - name: Data
    description: x402-priced data endpoints.
paths:
  /v1/x402/endpoints:
    get:
      summary: List All Available X402 Endpoints
      operationId: listX402Endpoints
      tags: [Discovery]
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items: { $ref: '#/components/schemas/X402Endpoint' }
  /v1/x402/endpoints/search:
    get:
      summary: Search X402 Endpoints
      operationId: searchX402Endpoints
      tags: [Discovery]
      parameters:
        - name: q
          in: query
          required: true
          schema: { type: string }
      responses:
        '200': { description: OK }
  /v1/x402/endpoints/{endpointId}:
    get:
      summary: Get Details For A Specific X402 Endpoint
      operationId: getX402Endpoint
      tags: [Discovery]
      parameters:
        - name: endpointId
          in: path
          required: true
          schema: { type: string }
      responses:
        '200': { description: OK, content: { application/json: { schema: { $ref: '#/components/schemas/X402Endpoint' } } } }
  /v1/x402/{chainName}/address/{walletAddress}/balances_v2/:
    get:
      summary: Get Token Balances For Address (X402)
      operationId: getX402TokenBalancesForAddress
      tags: [Data]
      parameters:
        - name: chainName
          in: path
          required: true
          schema: { type: string }
        - name: walletAddress
          in: path
          required: true
          schema: { type: string }
      responses:
        '200': { description: OK }
        '402':
          description: Payment Required - settle via x402 protocol and retry.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/X402Challenge' }
  /v1/x402/{chainName}/address/{walletAddress}/transactions_v3/:
    get:
      summary: Get Recent Transactions For Address (X402)
      operationId: getX402RecentTransactionsForAddress
      tags: [Data]
      parameters:
        - name: chainName
          in: path
          required: true
          schema: { type: string }
        - name: walletAddress
          in: path
          required: true
          schema: { type: string }
      responses:
        '200': { description: OK }
        '402':
          description: Payment Required - settle via x402 protocol and retry.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/X402Challenge' }
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Optional bearer key; pay-per-request endpoints accept an x402 settlement header in lieu of a long-lived key.
  schemas:
    X402Endpoint:
      type: object
      properties:
        id: { type: string }
        path: { type: string }
        method: { type: string }
        description: { type: string }
        price:
          type: object
          properties:
            amount: { type: string }
            asset: { type: string }
            chain: { type: string }
    X402Challenge:
      type: object
      properties:
        scheme: { type: string, example: x402 }
        recipient: { type: string }
        amount: { type: string }
        asset: { type: string }
        chain: { type: string }
        nonce: { type: string }
        expires: { type: integer, format: int64 }