Hive Civilization X402 API

The X402 API from Hive Civilization — 18 operation(s) for x402.

Business capability
Subscription Billing & Revenue Management BC-4250

Operations 20

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /v1/x402 Get x402 facilitator metadata · X402 Facilitator Metadata #
Ask an LLM
“Which settlement schemes and chain/asset combinations does the HiveMorph x402 facilitator support?”
“What recipient address does the x402 facilitator settle payments to?”
Tell an agent
Show me the x402 facilitator metadata, including supported schemes and recipient address.
Fetch the facilitator overview with its pointer to per-rail discovery.
GET /v1/x402/pricing View the x402 per-call pricing table · Current x402 pricing table #
Ask an LLM
“How much does each monetized endpoint cost per call in USD?”
“Which pricing tier is each paid endpoint assigned to?”
Tell an agent
List every monetized endpoint with its tier and per-call USD price.
Pull the current x402 pricing table.
GET /v1/x402/stats Get x402 call and revenue statistics · x402 call statistics #
Ask an LLM
“How many 402 payment challenges have been issued and how many calls were actually paid?”
“What is the total paid revenue settled so far and which endpoints are called most?”
Tell an agent
Show aggregate x402 call statistics with revenue and top endpoints.
Report total calls served versus paid passes across all endpoints.
GET /v1/x402/stats/buckets Get endpoint stats grouped into buckets · Bucketed endpoint stats (top-level + drill-down) #
Ask an LLM
“Can I see call counters rolled up by category like Receipts, Compliance and Energy?”
“Which high-level bucket of endpoints gets the most traffic?”
Tell an agent
Show the bucketed endpoint stats with drill-down endpoints per bucket.
Break down call counters by the eleven top-level endpoint categories.
POST /v1/x402/proof/submit Submit an on-chain payment proof for a 402 · Submit a payment proof #
Ask an LLM
“How do I turn a paid 402 nonce into an access token for the X-Hive-Access header?”
“What happens if I submit a fake transaction hash as payment proof?”
Tell an agent
Submit payment proof for nonce {nonce} with transaction {tx_hash} from payer {payer} on {chain}.
Prove payment of nonce {nonce} using {asset} tx {tx_hash} on {chain} paid by {payer}.
GET /v1/x402/proof/verify Check whether an x402 access token is valid · Verify an access token #
Ask an LLM
“Is my x402 access token still valid or has its 5-minute window expired?”
“Can I confirm an access token issued after payment before reusing it?”
Tell an agent
Verify access token {token} is still valid.
Check whether paid-access token {token} has expired.
POST /v1/x402/pricing/set Set the price for an endpoint (admin) · Admin: update endpoint pricing #
Ask an LLM
“As an admin, can I change the per-call price of a specific path?”
“Are pricing changes made through the admin endpoint persisted across restarts?”
Tell an agent
Set the price of path {path} to {amount} USD.
Reprice {path} at {amount} USD in tier {tier}.
GET /v1/x402/rails List accepted x402 settlement rails · Available settlement rails #
Ask an LLM
“Which chain and asset rails are accepted for x402 settlement?”
“What token contract and decimals does a paying agent need for the default rail?”
Tell an agent
List the available settlement rails and the current default rail.
Get contract and decimals metadata for each accepted payment rail.
POST /v1/x402/rails/select Change the default settlement asset (admin) · Admin: choose default settlement asset #
Ask an LLM
“Can I switch the advertised default settlement asset from USDC to USDT?”
“Does changing the default rail remove other assets from 402 responses?”
Tell an agent
Make {asset} the default settlement asset.
Switch the advertised default rail to {asset}.
GET /v1/x402/stats/by-payer Get x402 stats per payer (internal) · Internal: aggregated x402 stats per payer (revenue forensics) #
Ask an LLM
“Which payer addresses or DIDs make the most paid calls?”
“Can I see a payer's first and last seen time and referrer DID?”
Tell an agent
Show the top payers by paid call volume for path {path}.
List per-payer revenue forensics for the last {since_minutes} minutes.
GET /v1/x402/today Get today's x402 quote and payment totals · Today's UTC x402 aggregate (restart-survivable) #
Ask an LLM
“What were the quote and payment totals for a given UTC day?”
“How does actual revenue compare to the asking-price equivalent today?”
Tell an agent
Show today's UTC x402 aggregate including barter spread.
Get the daily x402 aggregate for {date}.
GET /v1/x402/barter View counter-offer barter telemetry · Barter / counter-offer telemetry (per-path + histogram) #
Ask an LLM
“What share of paid calls were accepted at the floor price per path?”
“Can I see a histogram of amounts agents actually paid under the counter-offer scheme?”
Tell an agent
Show the barter demand-curve histogram for {date}.
Get counter-offer telemetry with {bucket_usd} USD histogram buckets.
GET /v1/x402/failed List unpaid or failed x402 nonces · Failed-tx recovery queue #
Ask an LLM
“Which quoted nonces were never paid or had proofs that failed verification?”
“Where can I find the failed-transaction recovery queue?”
Tell an agent
List failed and unpaid nonces since {since}.
Show the failed-tx recovery queue.
POST /v1/x402/recover Re-verify a previously failed payment proof · Manually re-verify a previously-failed proof #
Ask an LLM
“My transaction confirmed after the proof was rejected — can I get it re-checked?”
“Do replay and expiry rules still apply when recovering a failed proof?”
Tell an agent
Re-verify failed nonce {nonce} against transaction {tx_hash}.
Recover the proof for nonce {nonce} with tx {tx_hash} on {chain}.
GET /v1/x402/bogo See first-call-free redemptions · BOGO (first-call-free) introspection #
Ask an LLM
“How many agents have redeemed their free first call per endpoint family?”
“Which endpoint families are covered by the first-call-free offer?”
Tell an agent
Show the BOGO first-call-free redemption table.
List endpoint families eligible for a free first call.
POST /v1/x402/quote Create a signed x402 USDC payment quote · x402 atomic payment quote — LIVE, USDC on Base 8453 #
Ask an LLM
“Can I get a signed, redeemable USDC quote on Base for a specific endpoint?”
“What is required to request a post-quantum receipt profile on a quote?”
Tell an agent
Quote a payment for endpoint {endpoint_path} as agent {agent_did}.
Create an x402 quote for {amount_usdc} USDC with receipt profile {receipt_profile}.
GET /v1/x402/client-intent Get a browser-ready x402 payment intent · Browser/wallet-consumable x402 payment intent (LIVE nonce) #
Ask an LLM
“Can a browser wallet fetch the amount, recipient and nonce it needs to pay via a simple GET?”
“Which receipt profiles can a client payment intent use without a delegation envelope?”
Tell an agent
Fetch a client payment intent for {endpoint_path} with profile {profile}.
Get a client-intent GET for {amount_usdc} USDC.
POST /v1/x402/client-intent Create a browser-ready payment intent via POST · Browser/wallet-consumable x402 payment intent (LIVE nonce) — POST #
Ask an LLM
“Is there a POST form of the client payment intent for wallets?”
“Can my frontend POST to get a live nonce and the proof-submission shape?”
Tell an agent
POST a new client payment intent and return the live nonce.
Create a client-intent via POST for my wallet checkout.
GET /v1/x402/wallet-intent Get a payment intent via the wallet-intent alias · Alias of GET /v1/x402/client-intent #
Ask an LLM
“Does the wallet-intent GET path return the same data as client-intent?”
“Can a wallet call the wallet-intent alias with a profile and amount?”
Tell an agent
Call the wallet-intent alias for {endpoint_path} using profile {profile}.
Get a wallet-intent for {amount_usdc} USDC.
POST /v1/x402/wallet-intent Create a payment intent via the wallet-intent POST alias · Alias of POST /v1/x402/client-intent #
Ask an LLM
“Is there a POST wallet-intent alias for wallets that prefer POST?”
“What does POSTing to the wallet-intent alias give back?”
Tell an agent
POST to the wallet-intent alias to register a payment nonce.
Create a wallet-intent through the POST alias.

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/thehiveryiq-com:thehiveryiq-com-x402-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

thehiveryiq-com-x402-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: HiveMorph v0.1 X402 API
  description: 'Polymorphic agent runtime — single shape (Merchant), single supermodel (W2 MERCHANT). Three gates: NEED + YIELD + CLEAN-MONEY.'
  version: 0.1.0
tags:
- name: X402
paths:
  /v1/x402:
    get:
      summary: X402 Facilitator Metadata
      description: 'HiveMorph x402 facilitator metadata. Lists supported settlement schemes,

        chain/asset coverage, recipient EOA, and pointer to per-rail discovery.'
      operationId: x402_facilitator_metadata_v1_x402_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      tags:
      - X402
  /v1/x402/pricing:
    get:
      tags:
      - X402
      summary: Current x402 pricing table
      description: 'Returns the full HiveMorph x402 pricing table: all monetized endpoints, their tier assignments, and per-call prices in USD. This endpoint is always free (Tier0).'
      operationId: get_pricing_v1_x402_pricing_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /v1/x402/stats:
    get:
      tags:
      - X402
      summary: x402 call statistics
      description: 'Returns per-endpoint and aggregate call statistics: total calls served, 402s issued, paid passes, paid revenue, top endpoints. Revenue is real (USDC settled to treasury 0x15184Bf50B3d3F52b60434f8942b7D52F2eB436E on Base 8453). calls_paid=0 indicates no caller has yet completed an end-to-end paid call. This endpoint is always free (Tier0). This endpoint is always free (Tier0).'
      operationId: get_stats_v1_x402_stats_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /v1/x402/stats/buckets:
    get:
      tags:
      - X402
      summary: Bucketed endpoint stats (top-level + drill-down)
      description: Rolls every per-path counter into ~11 high-level buckets (Receipts, Payments & x402, Discovery & Manifests, Compliance & Audit, Energy & Grid, Identity & Delegation, Morph & Forge, Marketplace & Trade, Vault & Anchor, Affordance & Ops, Other). Each bucket includes its endpoint_count, aggregate counters, and an `endpoints` array for drill-down. Always free (Tier0).
      operationId: get_stats_buckets_v1_x402_stats_buckets_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /v1/x402/proof/submit:
    post:
      tags:
      - X402
      summary: Submit a payment proof
      description: 'Submit a payment proof for a pending 402 nonce. On success, returns an access token (5-minute TTL) that can be used in the X-Hive-Access header to bypass 402 for the same path.


        v0.2: REAL on-chain validation — proof_validator.py executes eth_getTransactionReceipt against Base mainnet via JSON-RPC; never fails open on RPC errors. Fake tx_hash returns chain_rejected.'
      operationId: submit_proof_v1_x402_proof_submit_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProofSubmitRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/x402/proof/verify:
    get:
      tags:
      - X402
      summary: Verify an access token
      description: Verify that an access token (issued by proof/submit or X-Payment) is still valid. Access tokens expire after 5 minutes.
      operationId: verify_token_v1_x402_proof_verify_get
      parameters:
      - name: token
        in: query
        required: true
        schema:
          type: string
          description: Access token to verify
          title: Token
        description: Access token to verify
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/x402/pricing/set:
    post:
      tags:
      - X402
      summary: 'Admin: update endpoint pricing'
      description: 'Set or update the price for a specific path. Requires ADMIN_API_KEY header matching the ADMIN_API_KEY environment variable. If ADMIN_API_KEY is not set, this endpoint returns 403 for all requests.


        Changes are in-memory only (not persisted across restarts in v0.1).'
      operationId: set_pricing_v1_x402_pricing_set_post
      parameters:
      - name: path
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: URL path to set price for
          title: Path
        description: URL path to set price for
      - name: amount
        in: query
        required: false
        schema:
          anyOf:
          - type: number
            minimum: 0.0
          - type: 'null'
          description: New price in USD
          title: Amount
        description: New price in USD
      - name: X-Admin-Api-Key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Admin-Api-Key
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PricingSetRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/x402/rails:
    get:
      tags:
      - X402
      summary: Available settlement rails
      description: Returns the list of (chain, asset) rails Hive accepts for x402 settlement, the current default rail, and the on-chain contract / decimals metadata needed by paying agents. Always free.
      operationId: get_rails_v1_x402_rails_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /v1/x402/rails/select:
    post:
      tags:
      - X402
      summary: 'Admin: choose default settlement asset'
      description: Switch the default settlement asset advertised by `/v1/x402/rails`. Affects only the `default_asset` field exposed to clients — the full `accepts[]` list in 402 responses always includes every active rail. Requires ADMIN_API_KEY header.
      operationId: select_rail_v1_x402_rails_select_post
      parameters:
      - name: X-Admin-Api-Key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Admin-Api-Key
      - name: X-Hive-Trust
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Hive-Trust
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RailSelectRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/x402/stats/by-payer:
    get:
      tags:
      - X402
      summary: 'Internal: aggregated x402 stats per payer (revenue forensics)'
      description: Top-100 payer addresses / DIDs by call volume across paid endpoints, with per-endpoint breakdown, status counts, first/last seen, and (when present) referrer DIDs. Gated by HIVE_INTERNAL_DRIVER_KEY via X-Hive-Internal header (RAILS_RULES.md Rule 8). Pure in-memory; no PII beyond payer addr / DID.
      operationId: stats_by_payer_v1_x402_stats_by_payer_get
      parameters:
      - name: path
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter to a single endpoint path.
          title: Path
        description: Filter to a single endpoint path.
      - name: since_minutes
        in: query
        required: false
        schema:
          anyOf:
          - type: number
            minimum: 0
          - type: 'null'
          description: Only events within the last N minutes.
          title: Since Minutes
        description: Only events within the last N minutes.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/x402/today:
    get:
      tags:
      - X402
      summary: Today's UTC x402 aggregate (restart-survivable)
      description: 'Aggregates today''s UTC quote and payment activity from the SQLite persistence layer. Survives Render restarts. Always free (Tier0). Includes barter telemetry: revenue_usd_actual vs revenue_usd_at_asking_equivalent, spread, and accepted_at_floor_pct.'
      operationId: get_today_v1_x402_today_get
      parameters:
      - name: date
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional UTC date in YYYY-MM-DD form. Defaults to today (UTC).
          title: Date
        description: Optional UTC date in YYYY-MM-DD form. Defaults to today (UTC).
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/x402/barter:
    get:
      tags:
      - X402
      summary: Barter / counter-offer telemetry (per-path + histogram)
      description: Per-path floor_pct, sample size, conversion-at-floor, total spread, and a demand-curve histogram of paid amounts. Always free (Tier0). This is the observability surface for the counter-offer scheme.
      operationId: get_barter_v1_x402_barter_get
      parameters:
      - name: date
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional UTC date for the histogram. Defaults to today (UTC).
          title: Date
        description: Optional UTC date for the histogram. Defaults to today (UTC).
      - name: bucket_usd
        in: query
        required: false
        schema:
          type: number
          exclusiveMinimum: 0
          description: Histogram bucket width in USD (default $0.005).
          default: 0.005
          title: Bucket Usd
        description: Histogram bucket width in USD (default $0.005).
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/x402/failed:
    get:
      tags:
      - X402
      summary: Failed-tx recovery queue
      description: Returns nonces that were quoted but never paid AND nonces whose proof submit failed verification, since `since` (ISO date or unix seconds). Always free (Tier0).
      operationId: get_failed_v1_x402_failed_get
      parameters:
      - name: since
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: ISO timestamp (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSZ) or unix seconds. Defaults to the start of today (UTC).
          title: Since
        description: ISO timestamp (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSZ) or unix seconds. Defaults to the start of today (UTC).
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/x402/recover:
    post:
      tags:
      - X402
      summary: Manually re-verify a previously-failed proof
      description: Re-submit a (nonce, tx_hash) pair for a previously-failed proof. Useful when an on-chain tx finally confirmed after the nonce briefly tipped into chain_rejected (insufficient confirmations, RPC flake, etc). Re-uses the standard validator path so the same replay/expiry rules apply.
      operationId: recover_proof_v1_x402_recover_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RecoverRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/x402/bogo:
    get:
      tags:
      - X402
      summary: BOGO (first-call-free) introspection
      description: 'Returns the BOGO redemption table: how many unique agent_dids have redeemed first-call-free across each endpoint family, plus the list of families covered. Public read — no auth.'
      operationId: bogo_stats_v1_x402_bogo_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /v1/x402/quote:
    post:
      tags:
      - X402
      summary: x402 atomic payment quote — LIVE, USDC on Base 8453
      description: 'Produces a signed, machine-redeemable x402 quote for any HiveMorph surface. Real treasury. USDC on Base chain 8453. ERC-681 deeplink ready for any wallet or agent. Includes a service-signed receipt envelope verifiable against /v1/receipt/verify and /v1/prov/pubkey, plus a crypto_agility block declaring classical (Ed25519) and post-quantum-ready (ML-KEM/ML-DSA) posture.


        Receipt-profile gating: ''pq'' requires a valid regulated-tier delegation envelope (regulated_envelope_jti). Otherwise the call returns 402 regulated_tier_required.'
      operationId: quote_v1_x402_quote_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuoteRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/x402/client-intent:
    get:
      tags:
      - X402
      summary: Browser/wallet-consumable x402 payment intent (LIVE nonce)
      description: 'Returns the safe, browser-consumable fields from a live x402 payment envelope: amount, asset, chain, contract, recipient, decimals, nonce, expires_at, payment_endpoint, per-chain ERC-681 deeplink, and the exact proof-submission shape. Registers a REAL redeemable nonce. profile=nano|standard (pq needs a regulated delegation envelope — use POST /v1/x402/quote for pq). Wallet-native one-click pay is supported up to the final client broadcast+proof step, which the wallet performs.'
      operationId: client_intent_get_v1_x402_client_intent_get
      parameters:
      - name: profile
        in: query
        required: false
        schema:
          type: string
          description: 'Receipt profile: nano | standard.'
          default: nano
          title: Profile
        description: 'Receipt profile: nano | standard.'
      - name: amount_usdc
        in: query
        required: false
        schema:
          anyOf:
          - type: number
            maximum: 10000000.0
            minimum: 0.0001
          - type: 'null'
          description: Explicit USDC amount. Overrides the profile default price.
          title: Amount Usdc
        description: Explicit USDC amount. Overrides the profile default price.
      - name: endpoint_path
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            maxLength: 512
          - type: 'null'
          description: Optional target path to price the intent for (pricing-table lookup).
          title: Endpoint Path
        description: Optional target path to price the intent for (pricing-table lookup).
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - X402
      summary: Browser/wallet-consumable x402 payment intent (LIVE nonce) — POST
      operationId: client_intent_post_v1_x402_client_intent_post
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
              - $ref: '#/components/schemas/ClientIntentRequest'
              - type: 'null'
              title: Body
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/x402/wallet-intent:
    get:
      tags:
      - X402
      summary: Alias of GET /v1/x402/client-intent
      operationId: wallet_intent_get_v1_x402_wallet_intent_get
      parameters:
      - name: profile
        in: query
        required: false
        schema:
          type: string
          default: nano
          title: Profile
      - name: amount_usdc
        in: query
        required: false
        schema:
          anyOf:
          - type: number
            maximum: 10000000.0
            minimum: 0.0001
          - type: 'null'
          title: Amount Usdc
      - name: endpoint_path
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            maxLength: 512
          - type: 'null'
          title: Endpoint Path
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - X402
      summary: Alias of POST /v1/x402/client-intent
      operationId: wallet_intent_post_v1_x402_wallet_intent_post
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
              - $ref: '#/components/schemas/ClientIntentRequest'
              - type: 'null'
              title: Body
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    RailSelectRequest:
      properties:
        asset:
          type: string
          title: Asset
          description: Default settlement asset to advertise. 'USDC' or 'USDT'.
      type: object
      required:
      - asset
      title: RailSelectRequest
      description: Body for POST /v1/x402/rails/select.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    RecoverRequest:
      properties:
        nonce:
          type: string
          title: Nonce
          description: Nonce of a previously failed proof.
        tx_hash:
          type: string
          title: Tx Hash
          description: On-chain tx hash to re-verify.
        payer:
          type: string
          title: Payer
          description: Payer address (optional; carried for audit).
          default: ''
        chain:
          type: string
          title: Chain
          description: '''base'', ''ethereum'', or ''solana''.'
          default: base
        asset:
          type: string
          title: Asset
          description: Asset of the original quote.
          default: USDC
      type: object
      required:
      - nonce
      - tx_hash
      title: RecoverRequest
      description: Body for POST /v1/x402/recover.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ProofSubmitRequest:
      properties:
        nonce:
          type: string
          title: Nonce
          description: Nonce from the 402 PaymentRequired response.
        payer:
          type: string
          title: Payer
          description: On-chain address of the paying account.
        chain:
          type: string
          title: Chain
          description: '''base'' or ''solana''.'
        tx_hash:
          type: string
          title: Tx Hash
          description: On-chain transaction hash (Base) or signature (Solana). Validated against the chain via JSON-RPC — see proof_validator.py. Fake or unfound tx_hash returns chain_rejected; never fails open.
        amount_usd:
          type: number
          title: Amount Usd
          description: Claimed payment amount (informational).
          default: 0.0
        asset:
          type: string
          title: Asset
          description: Payment asset. 'USDC' or 'USDPT'.
          default: USDC
      type: object
      required:
      - nonce
      - payer
      - chain
      - tx_hash
      title: ProofSubmitRequest
      description: Body for POST /v1/x402/proof/submit.
    PricingSetRequest:
      properties:
        path:
          anyOf:
          - type: string
          - type: 'null'
          title: Path
          description: URL path to set price for.
        amount:
          anyOf:
          - type: number
            minimum: 0.0
          - type: 'null'
          title: Amount
          description: New price in USD.
        tier:
          anyOf:
          - type: string
          - type: 'null'
          title: Tier
          description: Tier label (optional; inferred from amount if omitted).
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
          description: Human-readable note.
        asset:
          anyOf:
          - type: string
          - type: 'null'
          title: Asset
          description: Optional asset filter. If provided ('USDC' or 'USDT'), updates the per-asset price for this path only — the cross-asset base price is unchanged. Useful when Tether/Circle peg spreads diverge.
      type: object
      title: PricingSetRequest
      description: Body for POST /v1/x402/pricing/set (also accepts query params).
    QuoteRequest:
      properties:
        endpoint_path:
          anyOf:
          - type: string
            maxLength: 512
          - type: 'null'
          title: Endpoint Path
          description: Optional HiveMorph endpoint path the caller intends to redeem the quote for (e.g. '/v1/receipt/emit'). Used to look up the price from the x402 pricing table. Mutually exclusive with amount_usdc; if both are supplied, amount_usdc wins.
        amount_usdc:
          anyOf:
          - type: number
            maximum: 10000000.0
            minimum: 0.0001
          - type: 'null'
          title: Amount Usdc
          description: Optional explicit USDC amount. Overrides endpoint_path lookup.
        receipt_profile:
          type: string
          maxLength: 16
          title: Receipt Profile
          description: 'Receipt profile attached to the quote: nano | standard | pq.'
          default: standard
        agent_did:
          anyOf:
          - type: string
            maxLength: 200
          - type: 'null'
          title: Agent Did
          description: Caller agent DID. Surfaced in the receipt and audit row.
        counterparty_did:
          anyOf:
          - type: string
            maxLength: 200
          - type: 'null'
          title: Counterparty Did
          description: Optional payee/counterparty DID for two-sided settlement.
        hktn_tier:
          anyOf:
          - type: string
            maxLength: 24
          - type: 'null'
          title: Hktn Tier
          description: Optional explicit HKTN reputation tier override (cold|warm|hot|regulated, or legacy bronze|silver|gold|platinum|pq_eligible). When omitted, the tier is resolved from agent_did via the R5 ledger; if neither is supplied, default is Cold.
        memo:
          type: string
          maxLength: 64
          title: Memo
          description: Optional short memo (≤ 64 chars). Included in the quote payload and receipt hash. Not embedded in the ERC-681 deeplink — ERC-681 transfer URIs do not carry memos.
          default: ''
        regulated_envelope_jti:
          anyOf:
          - type: string
            maxLength: 64
          - type: 'null'
          title: Regulated Envelope Jti
          description: Required when receipt_profile='pq'. The jti of a delegation envelope (issued via /v1/delegation/issue or /operator-sign) whose allowed_surfaces includes 'pq'. Caller asserts authority; this endpoint verifies it on-the-fly.
      type: object
      title: QuoteRequest
      description: 'Body for POST /v1/x402/quote.


        All fields optional — caller can ask for a generic settlement quote, or a

        quote tied to a specific HiveMorph endpoint, or a quote for a specific

        USDC amount. Receipt profile defaults to ''standard''.'
    ClientIntentRequest:
      properties:
        profile:
          type: string
          maxLength: 16
          title: Profile
          description: nano | standard.
          default: nano
        amount_usdc:
          anyOf:
          - type: number
            maximum: 10000000.0
            minimum: 0.0001
          - type: 'null'
          title: Amount Usdc
        endpoint_path:
          anyOf:
          - type: string
            maxLength: 512
          - type: 'null'
          title: Endpoint Path
      type: object
      title: ClientIntentRequest
      description: Optional body for POST /v1/x402/client-intent (and wallet-intent alias).
x-provenance:
  method: harvested
  publisher: Hive Civilization
  source: https://receipts.thehiveryiq.com/openapi.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)