growaify-com X402 API

The X402 API from growaify-com — 12 operation(s) for x402.

GitHub OpenAPI

Operations 12

GET /x402/template One automation template (n8n JSON) delivered instantly #
GET /x402/audit Automation audit: a written report on one workflow #
GET /x402/agent-starter Agent starter bundle: three templates plus integration notes #
GET /x402/item/{id} Buy one micro item (recipe, prompt pack, schema or tool) #
GET /x402/obs/agents A JSON snapshot of what agents do at this merchant: visits, distinct… #
GET /x402/obs/methodology Just the method: how the observation feed is measured, what it excludes and… #
GET /x402/obs/tick One reading from the live series: agent visits, distinct identities and the… #
GET /x402/test/{test_id} The agent testbed: point a real agent here to learn whether it can act on a 402… #
GET /api/v1/x402/funnel The payment funnel: where clients stop between being asked to pay and paying #
GET /api/v1/x402/resources The paid catalogue #
GET /api/v1/x402/micro The micro tier, item by item #
GET /api/v1/x402/payments What has actually settled #

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/growaify-com:growaify-com-x402-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

growaify-com-x402-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Growaify Autonomous Agent Commerce X402 API
  version: 2.3.0
  description: 'Autonomous agent commerce API. Everything under /x402 is sold for USDC on Base over x402: unpaid requests answer HTTP 402 and the deliverable ships in the paid response. Everything else is free to read.'
servers:
- url: https://growaify.com
  description: Production Engine
tags:
- name: X402
paths:
  /x402/template:
    get:
      summary: One automation template (n8n JSON) delivered instantly
      description: 'Paid over x402 on eip155:8453. Unpaid requests return HTTP 402 with a PAYMENT-REQUIRED header; the response body is the deliverable once payment settles, so the artefact arrives in the same HTTP response that is paid for. Price: None USD in USDC to 0x71aa2941B023e27532604B55A3c999601128CB4d.'
      responses:
        '200':
          description: Paid and delivered. The body is the purchased artefact.
        '402':
          description: Payment required. No free tier on this resource.
          headers:
            PAYMENT-REQUIRED:
              description: Base64 JSON describing the accepted payment. Decode it to get scheme, network, asset, amount and pay_to, then pay and retry with the X-PAYMENT header.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                - message
                properties:
                  error:
                    type: string
                    const: payment_required
                  message:
                    type: string
                  accepts:
                    type: array
                    items:
                      type: object
      x-x402:
        scheme: exact
        network: eip155:8453
        asset: USDC
        assetAddress: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
        amount: null
        priceUsd: null
        payTo: '0x71aa2941B023e27532604B55A3c999601128CB4d'
      parameters:
      - name: tpl
        in: query
        required: true
        description: Template sku, for example clinic-reminder. The catalogue is at /templates/.
        schema:
          type: string
      tags:
      - X402
      operationId: getX402Template
      x-operation-id-source: derived
  /x402/audit:
    get:
      summary: 'Automation audit: a written report on one workflow'
      description: 'Paid over x402 on eip155:8453. Unpaid requests return HTTP 402 with a PAYMENT-REQUIRED header; the response body is the deliverable once payment settles, so the artefact arrives in the same HTTP response that is paid for. Price: 49.0 USD in USDC to 0x71aa2941B023e27532604B55A3c999601128CB4d.'
      responses:
        '200':
          description: Paid and delivered. The body is the purchased artefact.
        '402':
          description: Payment required. No free tier on this resource.
          headers:
            PAYMENT-REQUIRED:
              description: Base64 JSON describing the accepted payment. Decode it to get scheme, network, asset, amount and pay_to, then pay and retry with the X-PAYMENT header.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                - message
                properties:
                  error:
                    type: string
                    const: payment_required
                  message:
                    type: string
                  accepts:
                    type: array
                    items:
                      type: object
      x-x402:
        scheme: exact
        network: eip155:8453
        asset: USDC
        assetAddress: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
        amount: '49000000'
        priceUsd: 49.0
        payTo: '0x71aa2941B023e27532604B55A3c999601128CB4d'
      parameters:
      - name: target
        in: query
        required: false
        description: 'What to audit: a workflow name, a system, or a URL.'
        schema:
          type: string
      - name: note
        in: query
        required: false
        description: Anything else the auditor should know before starting.
        schema:
          type: string
      tags:
      - X402
      operationId: getX402Audit
      x-operation-id-source: derived
  /x402/agent-starter:
    get:
      summary: 'Agent starter bundle: three templates plus integration notes'
      description: 'Paid over x402 on eip155:8453. Unpaid requests return HTTP 402 with a PAYMENT-REQUIRED header; the response body is the deliverable once payment settles, so the artefact arrives in the same HTTP response that is paid for. Price: 149.0 USD in USDC to 0x71aa2941B023e27532604B55A3c999601128CB4d.'
      responses:
        '200':
          description: Paid and delivered. The body is the purchased artefact.
        '402':
          description: Payment required. No free tier on this resource.
          headers:
            PAYMENT-REQUIRED:
              description: Base64 JSON describing the accepted payment. Decode it to get scheme, network, asset, amount and pay_to, then pay and retry with the X-PAYMENT header.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                - message
                properties:
                  error:
                    type: string
                    const: payment_required
                  message:
                    type: string
                  accepts:
                    type: array
                    items:
                      type: object
      x-x402:
        scheme: exact
        network: eip155:8453
        asset: USDC
        assetAddress: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
        amount: '149000000'
        priceUsd: 149.0
        payTo: '0x71aa2941B023e27532604B55A3c999601128CB4d'
      requestBody:
        required: false
        description: This resource takes no input. The body is empty by design; everything the buyer needs is in the response.
        content:
          application/json:
            schema:
              type: object
              properties: {}
              additionalProperties: false
      tags:
      - X402
      operationId: getX402AgentStarter
      x-operation-id-source: derived
  /x402/item/{id}:
    get:
      summary: Buy one micro item (recipe, prompt pack, schema or tool)
      description: Each of the 489 micro items is payable individually over x402 and is delivered in the paid response. The catalogue is at /api/v1/x402/micro, one item is described by /api/v1/x402/micro/{id}, and this path buys it. Items are US$0.99 to US$2.99.
      parameters:
      - name: id
        in: path
        required: true
        description: Item id, e.g. recipe-webhook-slack
        schema:
          type: string
      responses:
        '200':
          description: Paid and delivered. The body is the item.
        '402':
          description: Payment required.
          headers:
            PAYMENT-REQUIRED:
              description: Base64 JSON describing the accepted payment. Decode it to get scheme, network, asset, amount and pay_to, then pay and retry with the X-PAYMENT header.
              schema:
                type: string
      tags:
      - X402
      operationId: getX402ItemById
      x-operation-id-source: derived
  /x402/obs/agents:
    get:
      summary: 'A JSON snapshot of what agents do at this merchant: visits, distinct…'
      description: 'Paid over x402 on eip155:8453. Unpaid requests return HTTP 402 with a PAYMENT-REQUIRED header; the response body is the deliverable once payment settles, so the artefact arrives in the same HTTP response that is paid for. Price: 0.3 USD in USDC to 0x71aa2941B023e27532604B55A3c999601128CB4d.'
      responses:
        '200':
          description: Paid and delivered. The body is the purchased artefact.
        '402':
          description: Payment required. No free tier on this resource.
          headers:
            PAYMENT-REQUIRED:
              description: Base64 JSON describing the accepted payment. Decode it to get scheme, network, asset, amount and pay_to, then pay and retry with the X-PAYMENT header.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                - message
                properties:
                  error:
                    type: string
                    const: payment_required
                  message:
                    type: string
                  accepts:
                    type: array
                    items:
                      type: object
      x-x402:
        scheme: exact
        network: eip155:8453
        asset: USDC
        assetAddress: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
        amount: '300000'
        priceUsd: 0.3
        payTo: '0x71aa2941B023e27532604B55A3c999601128CB4d'
      parameters:
      - name: days
        in: query
        required: false
        description: Window in days, 1 to 30. Defaults to 7. Clamped to what the log covers, and echoed back as window_days so the buyer knows what they received.
        schema:
          type: integer
          minimum: 1
          maximum: 30
          default: 7
      tags:
      - X402
      operationId: getX402ObsAgents
      x-operation-id-source: derived
  /x402/obs/methodology:
    get:
      summary: 'Just the method: how the observation feed is measured, what it excludes and…'
      description: 'Paid over x402 on eip155:8453. Unpaid requests return HTTP 402 with a PAYMENT-REQUIRED header; the response body is the deliverable once payment settles, so the artefact arrives in the same HTTP response that is paid for. Price: 0.1 USD in USDC to 0x71aa2941B023e27532604B55A3c999601128CB4d.'
      responses:
        '200':
          description: Paid and delivered. The body is the purchased artefact.
        '402':
          description: Payment required. No free tier on this resource.
          headers:
            PAYMENT-REQUIRED:
              description: Base64 JSON describing the accepted payment. Decode it to get scheme, network, asset, amount and pay_to, then pay and retry with the X-PAYMENT header.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                - message
                properties:
                  error:
                    type: string
                    const: payment_required
                  message:
                    type: string
                  accepts:
                    type: array
                    items:
                      type: object
      x-x402:
        scheme: exact
        network: eip155:8453
        asset: USDC
        assetAddress: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
        amount: '100000'
        priceUsd: 0.1
        payTo: '0x71aa2941B023e27532604B55A3c999601128CB4d'
      requestBody:
        required: false
        description: This resource takes no input. The body is empty by design; everything the buyer needs is in the response.
        content:
          application/json:
            schema:
              type: object
              properties: {}
              additionalProperties: false
      tags:
      - X402
      operationId: getX402ObsMethodology
      x-operation-id-source: derived
  /x402/obs/tick:
    get:
      summary: 'One reading from the live series: agent visits, distinct identities and the…'
      description: 'Paid over x402 on eip155:8453. Unpaid requests return HTTP 402 with a PAYMENT-REQUIRED header; the response body is the deliverable once payment settles, so the artefact arrives in the same HTTP response that is paid for. Price: 0.001 USD in USDC to 0x71aa2941B023e27532604B55A3c999601128CB4d. No request parameters: this resource is bought as-is.'
      responses:
        '200':
          description: Paid and delivered. The body is the purchased artefact.
        '402':
          description: Payment required. No free tier on this resource.
          headers:
            PAYMENT-REQUIRED:
              description: Base64 JSON describing the accepted payment. Decode it to get scheme, network, asset, amount and pay_to, then pay and retry with the X-PAYMENT header.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                - message
                properties:
                  error:
                    type: string
                    const: payment_required
                  message:
                    type: string
                  accepts:
                    type: array
                    items:
                      type: object
      x-x402:
        scheme: exact
        network: eip155:8453
        asset: USDC
        assetAddress: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
        amount: '1000'
        priceUsd: 0.001
        payTo: '0x71aa2941B023e27532604B55A3c999601128CB4d'
      tags:
      - X402
      operationId: getX402ObsTick
      x-operation-id-source: derived
  /x402/test/{test_id}:
    get:
      summary: 'The agent testbed: point a real agent here to learn whether it can act on a 402…'
      description: 'Paid over x402 on eip155:8453. Unpaid requests return HTTP 402 with a PAYMENT-REQUIRED header; the response body is the deliverable once payment settles, so the artefact arrives in the same HTTP response that is paid for. Price: 0.001 USD in USDC to 0x71aa2941B023e27532604B55A3c999601128CB4d.'
      responses:
        '200':
          description: Paid and delivered. The body is the purchased artefact.
        '402':
          description: Payment required. No free tier on this resource.
          headers:
            PAYMENT-REQUIRED:
              description: Base64 JSON describing the accepted payment. Decode it to get scheme, network, asset, amount and pay_to, then pay and retry with the X-PAYMENT header.
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                - message
                properties:
                  error:
                    type: string
                    const: payment_required
                  message:
                    type: string
                  accepts:
                    type: array
                    items:
                      type: object
      x-x402:
        scheme: exact
        network: eip155:8453
        asset: USDC
        assetAddress: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
        amount: '1000'
        priceUsd: 0.001
        payTo: '0x71aa2941B023e27532604B55A3c999601128CB4d'
      parameters:
      - name: test_id
        in: path
        required: true
        description: 'The id returned by POST /api/v1/agent-test/register. An id that was never registered gets 404 rather than 402, deliberately: a challenge for a test whose report cannot be read would bill an agent for a measurement it will never see.'
        schema:
          type: string
      tags:
      - X402
      operationId: getX402TestByTestId
      x-operation-id-source: derived
  /api/v1/x402/funnel:
    get:
      summary: 'The payment funnel: where clients stop between being asked to pay and paying'
      description: 'Our own request log, reduced to the stages that explain a failure. A log of successful payments cannot explain why nobody bought; this records the challenge, the attempt, the verification and the settlement separately, so an empty stage is published as an empty stage. It is the one measurement in this ecosystem that explains non-conversion, and it stays free to read because a merchant reading it is the point. Figures are re-derivable from our raw event log with the named script, and the window is honoured rather than ignored. The event store is bounded, so the window is honoured as far as the store reaches and no further: read `coverage` before quoting any stage figure, and `lifetime` when the all-time number is what you need.'
      parameters:
      - name: days
        in: query
        required: false
        description: Window in days, 1 to 90, default 1. Clamped and echoed back as window_days. A parameter that is accepted and silently ignored would publish a twenty-four hour figure under a longer label - and so would a parameter honoured only as far as a bounded store reaches, which is why the response distinguishes days_requested from days_covered.
        schema:
          type: integer
          minimum: 1
          maximum: 90
          default: 1
      responses:
        '200':
          description: stages, attempt_rate, completion_rate, challenged_by_caller_class, attempt_failure_reasons, per_resource, internal_vs_external, window_days, coverage {days_requested, days_covered, truncated, events_held, events_held_limit, oldest_event_held, newest_event_held}, lifetime {challenges, attempts, delivered}. coverage.truncated=true means every stage count describes the held window, not the requested one, so the figures are a floor; lifetime counts since the store was created and is never trimmed.
      tags:
      - X402
      operationId: getApiV1X402Funnel
      x-operation-id-source: derived
  /api/v1/x402/resources:
    get:
      summary: The paid catalogue
      description: 'Every resource this merchant sells over x402, with its price, asset, network, receiving address and scheme - everything a buyer needs before it signs. No key, no account. Prices here are the prices charged: the published spec is generated from this document, not typed alongside it.'
      responses:
        '200':
          description: The resource list.
      tags:
      - X402
      operationId: getApiV1X402Resources
      x-operation-id-source: derived
  /api/v1/x402/micro:
    get:
      summary: The micro tier, item by item
      description: Hundreds of finished items at $0.99 to $2.99, each payable individually and delivered in the paid response. One item is described by /api/v1/x402/micro/{id} and bought at /x402/item/{id}.
      responses:
        '200':
          description: count, price_range_usd and the item list.
      tags:
      - X402
      operationId: getApiV1X402Micro
      x-operation-id-source: derived
  /api/v1/x402/payments:
    get:
      summary: What has actually settled
      description: 'The settled-payment record: how many transactions, for how much, and the recent ones. Published as it stands, including when it reads zero.'
      responses:
        '200':
          description: total_usd, count and the recent settlements.
      tags:
      - X402
      operationId: getApiV1X402Payments
      x-operation-id-source: derived
x-discovery:
  x402: https://growaify.com/.well-known/x402
  catalogue: https://growaify.com/api/v1/x402/resources
  micro: https://growaify.com/api/v1/x402/micro
  mcp: https://growaify.com/mcp
  agentCard: https://growaify.com/.well-known/agent-card.json
  llms: https://growaify.com/llms.txt
  erc8004: https://growaify.com/.well-known/agent-registration.json
  did: did:web:growaify.com
  attestations: https://growaify.com/api/v1/attest/summary
  agentTest: https://growaify.com/api/v1/agent-test/register
  funnel: https://growaify.com/api/v1/x402/funnel
  cohorts: https://growaify.com/api/v1/live/cohorts
  research: https://growaify.com/api/v1/research/agent-commerce.json