openapi: 3.0.3
info:
  title: Proofwork Evidence APIs
  version: 1.0.0
  description: Observed 14-route Proofwork x402 contract. This 3.0.3 proof is a public, read-only documentation artifact;
    payment is required for live route calls.
  contact:
    url: https://proofwork-the402-webhook.phase-voice.workers.dev
  x-guidance: Choose one GET query or POST JSON route for the report you need, then satisfy the returned x402 Base USDC payment
    requirements. Each successful paid request returns one evidence report as JSON.
  license:
    name: Proofwork public documentation license
    url: https://proofwork-the402-webhook.phase-voice.workers.dev/llms.txt
servers:
- url: https://proofwork-the402-webhook.phase-voice.workers.dev
components:
  securitySchemes:
    x402Payment:
      type: apiKey
      in: header
      name: PAYMENT-SIGNATURE
      description: x402 v2 Base USDC payment authorization
paths:
  /v1/crypto-task-scan:
    get:
      operationId: cryptoTaskScanGet
      summary: Scan current crypto work sources with spend and scam filters (GET query variant)
      description: Screen public crypto opportunities for freshness, risk, likely net value, and payment evidence. No credentialed
        or cyber work is included. GET accepts the documented inputs as query parameters.
      security:
      - x402Payment: []
      x-price: $0.01
      x-payment-info:
        protocols:
        - x402: {}
        network: eip155:8453
        price:
          mode: fixed
          currency: USD
          amount: '0.01'
        offers:
        - intent: charge
          method: evm
          amount: '10000'
          currency: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
          description: $0.01 in USDC on Base (eip155:8453) via x402 exact
      parameters:
      - name: minimum_margin_usd
        in: query
        schema:
          type: number
          minimum: 0
          maximum: 100000
          default: 1
      responses:
        '200':
          description: Purchased evidence report
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '402':
          description: x402 payment required; terms are returned in the PAYMENT-REQUIRED header
        '502':
          description: Fulfillment failed before settlement
    post:
      operationId: cryptoTaskScan
      summary: Scan current crypto work sources with spend and scam filters
      description: Screen public crypto opportunities for freshness, risk, likely net value, and payment evidence. No credentialed
        or cyber work is included.
      security:
      - x402Payment: []
      x-price: $0.01
      x-payment-info:
        protocols:
        - x402: {}
        network: eip155:8453
        price:
          mode: fixed
          currency: USD
          amount: '0.01'
        offers:
        - intent: charge
          method: evm
          amount: '10000'
          currency: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
          description: $0.01 in USDC on Base (eip155:8453) via x402 exact
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              properties:
                minimum_margin_usd:
                  type: number
                  minimum: 0
                  maximum: 100000
                  default: 1
      responses:
        '200':
          description: Purchased evidence report
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '402':
          description: x402 payment required; terms are returned in the PAYMENT-REQUIRED header
        '502':
          description: Fulfillment failed before settlement
  /v1/crypto-price:
    get:
      operationId: cryptoPriceGet
      summary: Get live prices for one or more crypto assets (GET query variant)
      description: Return current price, 24-hour change, volume, and market cap for up to 25 ticker symbols or CoinGecko IDs
        using a keyless public source. Read-only; no trading or custody. GET accepts the documented inputs as query parameters.
      security:
      - x402Payment: []
      x-price: $0.005
      x-payment-info:
        protocols:
        - x402: {}
        network: eip155:8453
        price:
          mode: fixed
          currency: USD
          amount: '0.005'
        offers:
        - intent: charge
          method: evm
          amount: '5000'
          currency: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
          description: $0.005 in USDC on Base (eip155:8453) via x402 exact
      parameters:
      - name: coins
        in: query
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 1800
          description: Comma-separated ticker symbols or CoinGecko IDs
      - name: currency
        in: query
        schema:
          type: string
          pattern: ^[a-zA-Z]{2,8}$
          default: usd
      responses:
        '200':
          description: Purchased evidence report
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '402':
          description: x402 payment required; terms are returned in the PAYMENT-REQUIRED header
        '502':
          description: Fulfillment failed before settlement
    post:
      operationId: cryptoPrice
      summary: Get live prices for one or more crypto assets
      description: Return current price, 24-hour change, volume, and market cap for up to 25 ticker symbols or CoinGecko IDs
        using a keyless public source. Read-only; no trading or custody.
      security:
      - x402Payment: []
      x-price: $0.005
      x-payment-info:
        protocols:
        - x402: {}
        network: eip155:8453
        price:
          mode: fixed
          currency: USD
          amount: '0.005'
        offers:
        - intent: charge
          method: evm
          amount: '5000'
          currency: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
          description: $0.005 in USDC on Base (eip155:8453) via x402 exact
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - coins
              properties:
                coins:
                  type: string
                  minLength: 1
                  maxLength: 1800
                  description: Comma-separated ticker symbols or CoinGecko IDs
                currency:
                  type: string
                  pattern: ^[a-zA-Z]{2,8}$
                  default: usd
      responses:
        '200':
          description: Purchased evidence report
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '402':
          description: x402 payment required; terms are returned in the PAYMENT-REQUIRED header
        '502':
          description: Fulfillment failed before settlement
  /v1/base-market-pulse:
    get:
      operationId: baseEthMarketPulseGet
      summary: Get a zero-input cross-source Base ETH and WETH/USDC market snapshot (GET query variant)
      description: Return a live Coinbase ETH/USD and canonical Uniswap Base WETH/USDC price, liquidity, volume, transactions,
        and price-change snapshot with public evidence links. GET accepts the documented inputs as query parameters.
      security:
      - x402Payment: []
      x-price: $0.01
      x-payment-info:
        protocols:
        - x402: {}
        network: eip155:8453
        price:
          mode: fixed
          currency: USD
          amount: '0.01'
        offers:
        - intent: charge
          method: evm
          amount: '10000'
          currency: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
          description: $0.01 in USDC on Base (eip155:8453) via x402 exact
      parameters: []
      responses:
        '200':
          description: Purchased evidence report
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '402':
          description: x402 payment required; terms are returned in the PAYMENT-REQUIRED header
        '502':
          description: Fulfillment failed before settlement
    post:
      operationId: baseEthMarketPulse
      summary: Get a zero-input cross-source Base ETH and WETH/USDC market snapshot
      description: Return a live Coinbase ETH/USD and canonical Uniswap Base WETH/USDC price, liquidity, volume, transactions,
        and price-change snapshot with public evidence links.
      security:
      - x402Payment: []
      x-price: $0.01
      x-payment-info:
        protocols:
        - x402: {}
        network: eip155:8453
        price:
          mode: fixed
          currency: USD
          amount: '0.01'
        offers:
        - intent: charge
          method: evm
          amount: '10000'
          currency: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
          description: $0.01 in USDC on Base (eip155:8453) via x402 exact
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              properties: {}
      responses:
        '200':
          description: Purchased evidence report
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '402':
          description: x402 payment required; terms are returned in the PAYMENT-REQUIRED header
        '502':
          description: Fulfillment failed before settlement
  /v1/base-usdc-receipt:
    get:
      operationId: inspectBaseUsdcReceiptGet
      summary: Inspect Base-mainnet Circle USDC transfers or verify an exact payment (GET query variant)
      description: Read-only verification of a Base transaction receipt and Circle USDC Transfer logs, with optional exact
        recipient and amount matching. GET accepts the documented inputs as query parameters.
      security:
      - x402Payment: []
      x-price: $0.01
      x-payment-info:
        protocols:
        - x402: {}
        network: eip155:8453
        price:
          mode: fixed
          currency: USD
          amount: '0.01'
        offers:
        - intent: charge
          method: evm
          amount: '10000'
          currency: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
          description: $0.01 in USDC on Base (eip155:8453) via x402 exact
      parameters:
      - name: transaction_hash
        in: query
        required: true
        schema:
          type: string
          pattern: ^0x[a-fA-F0-9]{64}$
      - name: expected_recipient
        in: query
        schema:
          type: string
          pattern: ^0x[a-fA-F0-9]{40}$
      - name: expected_amount_usdc
        in: query
        schema:
          type: string
          pattern: ^(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,6})?$
      responses:
        '200':
          description: Purchased evidence report
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '402':
          description: x402 payment required; terms are returned in the PAYMENT-REQUIRED header
        '502':
          description: Fulfillment failed before settlement
    post:
      operationId: inspectBaseUsdcReceipt
      summary: Inspect Base-mainnet Circle USDC transfers or verify an exact payment
      description: Read-only verification of a Base transaction receipt and Circle USDC Transfer logs, with optional exact
        recipient and amount matching.
      security:
      - x402Payment: []
      x-price: $0.01
      x-payment-info:
        protocols:
        - x402: {}
        network: eip155:8453
        price:
          mode: fixed
          currency: USD
          amount: '0.01'
        offers:
        - intent: charge
          method: evm
          amount: '10000'
          currency: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
          description: $0.01 in USDC on Base (eip155:8453) via x402 exact
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - transaction_hash
              properties:
                transaction_hash:
                  type: string
                  pattern: ^0x[a-fA-F0-9]{64}$
                expected_recipient:
                  type: string
                  pattern: ^0x[a-fA-F0-9]{40}$
                expected_amount_usdc:
                  type: string
                  pattern: ^(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,6})?$
      responses:
        '200':
          description: Purchased evidence report
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '402':
          description: x402 payment required; terms are returned in the PAYMENT-REQUIRED header
        '502':
          description: Fulfillment failed before settlement
  /v1/base-usdc-balance:
    get:
      operationId: baseUsdcBalanceGet
      summary: Read a current Base USDC balance (GET query variant)
      description: Read-only live USDC balanceOf lookup for any Base mainnet address using Circle's canonical USDC contract
        and two independent public RPC providers. No transaction is signed, broadcast, or paid. GET accepts the documented
        inputs as query parameters.
      security:
      - x402Payment: []
      x-price: $0.003
      x-payment-info:
        protocols:
        - x402: {}
        network: eip155:8453
        price:
          mode: fixed
          currency: USD
          amount: '0.003'
        offers:
        - intent: charge
          method: evm
          amount: '3000'
          currency: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
          description: $0.003 in USDC on Base (eip155:8453) via x402 exact
      parameters:
      - name: address
        in: query
        required: true
        schema:
          type: string
          pattern: ^0x[a-fA-F0-9]{40}$
      responses:
        '200':
          description: Purchased evidence report
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '402':
          description: x402 payment required; terms are returned in the PAYMENT-REQUIRED header
        '502':
          description: Fulfillment failed before settlement
    post:
      operationId: baseUsdcBalance
      summary: Read a current Base USDC balance
      description: Read-only live USDC balanceOf lookup for any Base mainnet address using Circle's canonical USDC contract
        and two independent public RPC providers. No transaction is signed, broadcast, or paid.
      security:
      - x402Payment: []
      x-price: $0.003
      x-payment-info:
        protocols:
        - x402: {}
        network: eip155:8453
        price:
          mode: fixed
          currency: USD
          amount: '0.003'
        offers:
        - intent: charge
          method: evm
          amount: '3000'
          currency: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
          description: $0.003 in USDC on Base (eip155:8453) via x402 exact
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - address
              properties:
                address:
                  type: string
                  pattern: ^0x[a-fA-F0-9]{40}$
      responses:
        '200':
          description: Purchased evidence report
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '402':
          description: x402 payment required; terms are returned in the PAYMENT-REQUIRED header
        '502':
          description: Fulfillment failed before settlement
  /v1/base-network-status:
    get:
      operationId: baseNetworkStatusGet
      summary: Get Base gas price and latest block (GET query variant)
      description: Read the current Base gas price and latest block number through two independent public RPC providers. No
        transaction is signed, broadcast, or paid. GET accepts the documented inputs as query parameters.
      security:
      - x402Payment: []
      x-price: $0.001
      x-payment-info:
        protocols:
        - x402: {}
        network: eip155:8453
        price:
          mode: fixed
          currency: USD
          amount: '0.001'
        offers:
        - intent: charge
          method: evm
          amount: '1000'
          currency: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
          description: $0.001 in USDC on Base (eip155:8453) via x402 exact
      parameters: []
      responses:
        '200':
          description: Purchased evidence report
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '402':
          description: x402 payment required; terms are returned in the PAYMENT-REQUIRED header
        '502':
          description: Fulfillment failed before settlement
    post:
      operationId: baseNetworkStatus
      summary: Get Base gas price and latest block
      description: Read the current Base gas price and latest block number through two independent public RPC providers. No
        transaction is signed, broadcast, or paid.
      security:
      - x402Payment: []
      x-price: $0.001
      x-payment-info:
        protocols:
        - x402: {}
        network: eip155:8453
        price:
          mode: fixed
          currency: USD
          amount: '0.001'
        offers:
        - intent: charge
          method: evm
          amount: '1000'
          currency: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
          description: $0.001 in USDC on Base (eip155:8453) via x402 exact
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              properties: {}
      responses:
        '200':
          description: Purchased evidence report
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '402':
          description: x402 payment required; terms are returned in the PAYMENT-REQUIRED header
        '502':
          description: Fulfillment failed before settlement
  /v1/base-token-snapshot:
    get:
      operationId: baseTokenSnapshotGet
      summary: Get a current crypto price and Base token snapshot (GET query variant)
      description: 'Read GeckoTerminal''s current public Base token-analysis data: crypto price, market capitalization, fully
        diluted value, reserve, 24-hour volume, and top-pool identifiers. Informational only; no trading or custody. GET accepts
        the documented inputs as query parameters.'
      security:
      - x402Payment: []
      x-price: $0.01
      x-payment-info:
        protocols:
        - x402: {}
        network: eip155:8453
        price:
          mode: fixed
          currency: USD
          amount: '0.01'
        offers:
        - intent: charge
          method: evm
          amount: '10000'
          currency: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
          description: $0.01 in USDC on Base (eip155:8453) via x402 exact
      parameters:
      - name: token_address
        in: query
        required: true
        schema:
          type: string
          pattern: ^0x[a-fA-F0-9]{40}$
      responses:
        '200':
          description: Purchased evidence report
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '402':
          description: x402 payment required; terms are returned in the PAYMENT-REQUIRED header
        '502':
          description: Fulfillment failed before settlement
    post:
      operationId: baseTokenSnapshot
      summary: Get a current crypto price and Base token snapshot
      description: 'Read GeckoTerminal''s current public Base token-analysis data: crypto price, market capitalization, fully
        diluted value, reserve, 24-hour volume, and top-pool identifiers. Informational only; no trading or custody.'
      security:
      - x402Payment: []
      x-price: $0.01
      x-payment-info:
        protocols:
        - x402: {}
        network: eip155:8453
        price:
          mode: fixed
          currency: USD
          amount: '0.01'
        offers:
        - intent: charge
          method: evm
          amount: '10000'
          currency: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
          description: $0.01 in USDC on Base (eip155:8453) via x402 exact
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - token_address
              properties:
                token_address:
                  type: string
                  pattern: ^0x[a-fA-F0-9]{40}$
      responses:
        '200':
          description: Purchased evidence report
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '402':
          description: x402 payment required; terms are returned in the PAYMENT-REQUIRED header
        '502':
          description: Fulfillment failed before settlement
  /v1/base-token-price:
    get:
      operationId: baseTokenPriceGet
      summary: Get Base ERC-20 price and metadata (GET query variant)
      description: Resolve a Base ERC-20 token address to its current price and public name, symbol, and decimals from GeckoTerminal
        data. No trading or custody. GET accepts the documented inputs as query parameters.
      security:
      - x402Payment: []
      x-price: $0.001
      x-payment-info:
        protocols:
        - x402: {}
        network: eip155:8453
        price:
          mode: fixed
          currency: USD
          amount: '0.001'
        offers:
        - intent: charge
          method: evm
          amount: '1000'
          currency: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
          description: $0.001 in USDC on Base (eip155:8453) via x402 exact
      parameters:
      - name: token_address
        in: query
        required: true
        schema:
          type: string
          pattern: ^0x[a-fA-F0-9]{40}$
      responses:
        '200':
          description: Purchased evidence report
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '402':
          description: x402 payment required; terms are returned in the PAYMENT-REQUIRED header
        '502':
          description: Fulfillment failed before settlement
    post:
      operationId: baseTokenPrice
      summary: Get Base ERC-20 price and metadata
      description: Resolve a Base ERC-20 token address to its current price and public name, symbol, and decimals from GeckoTerminal
        data. No trading or custody.
      security:
      - x402Payment: []
      x-price: $0.001
      x-payment-info:
        protocols:
        - x402: {}
        network: eip155:8453
        price:
          mode: fixed
          currency: USD
          amount: '0.001'
        offers:
        - intent: charge
          method: evm
          amount: '1000'
          currency: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
          description: $0.001 in USDC on Base (eip155:8453) via x402 exact
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - token_address
              properties:
                token_address:
                  type: string
                  pattern: ^0x[a-fA-F0-9]{40}$
      responses:
        '200':
          description: Purchased evidence report
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '402':
          description: x402 payment required; terms are returned in the PAYMENT-REQUIRED header
        '502':
          description: Fulfillment failed before settlement
  /v1/bounty-reality-check:
    get:
      operationId: bountyRealityCheckGet
      summary: Check whether a public bounty is realistically claimable and payable (GET query variant)
      description: Check a public bounty for freshness, payout evidence, eligibility blockers, required spend, and likely
        net value. GET accepts the documented inputs as query parameters.
      security:
      - x402Payment: []
      x-price: $0.02
      x-payment-info:
        protocols:
        - x402: {}
        network: eip155:8453
        price:
          mode: fixed
          currency: USD
          amount: '0.02'
        offers:
        - intent: charge
          method: evm
          amount: '20000'
          currency: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
          description: $0.02 in USDC on Base (eip155:8453) via x402 exact
      parameters:
      - name: issue_url
        in: query
        required: true
        schema:
          type: string
          format: uri
      - name: advertised_reward_usd
        in: query
        schema:
          type: number
          minimum: 0
          maximum: 1000000
      - name: minimum_profit_usd
        in: query
        schema:
          type: number
          minimum: 0
          maximum: 1000000
      - name: deadline
        in: query
        schema:
          type: string
          maxLength: 100
      responses:
        '200':
          description: Purchased evidence report
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '402':
          description: x402 payment required; terms are returned in the PAYMENT-REQUIRED header
        '502':
          description: Fulfillment failed before settlement
    post:
      operationId: bountyRealityCheck
      summary: Check whether a public bounty is realistically claimable and payable
      description: Check a public bounty for freshness, payout evidence, eligibility blockers, required spend, and likely
        net value.
      security:
      - x402Payment: []
      x-price: $0.02
      x-payment-info:
        protocols:
        - x402: {}
        network: eip155:8453
        price:
          mode: fixed
          currency: USD
          amount: '0.02'
        offers:
        - intent: charge
          method: evm
          amount: '20000'
          currency: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
          description: $0.02 in USDC on Base (eip155:8453) via x402 exact
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - issue_url
              properties:
                issue_url:
                  type: string
                  format: uri
                advertised_reward_usd:
                  type: number
                  minimum: 0
                  maximum: 1000000
                minimum_profit_usd:
                  type: number
                  minimum: 0
                  maximum: 1000000
                deadline:
                  type: string
                  maxLength: 100
      responses:
        '200':
          description: Purchased evidence report
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '402':
          description: x402 payment required; terms are returned in the PAYMENT-REQUIRED header
        '502':
          description: Fulfillment failed before settlement
  /v1/json-to-csv:
    get:
      operationId: jsonToCsvGet
      summary: Convert bounded flat JSON rows to deterministic CSV (GET query variant)
      description: Convert a bounded array of flat JSON objects to deterministic CSV without network access. GET accepts the
        documented inputs as query parameters.
      security:
      - x402Payment: []
      x-price: $0.01
      x-payment-info:
        protocols:
        - x402: {}
        network: eip155:8453
        price:
          mode: fixed
          currency: USD
          amount: '0.01'
        offers:
        - intent: charge
          method: evm
          amount: '10000'
          currency: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
          description: $0.01 in USDC on Base (eip155:8453) via x402 exact
      parameters:
      - name: rows
        in: query
        required: true
        description: URL-encoded JSON array of flat objects
        schema:
          type: string
          minLength: 2
      responses:
        '200':
          description: Purchased evidence report
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '402':
          description: x402 payment required; terms are returned in the PAYMENT-REQUIRED header
        '502':
          description: Fulfillment failed before settlement
    post:
      operationId: jsonToCsv
      summary: Convert bounded flat JSON rows to deterministic CSV
      description: Convert a bounded array of flat JSON objects to deterministic CSV without network access.
      security:
      - x402Payment: []
      x-price: $0.01
      x-payment-info:
        protocols:
        - x402: {}
        network: eip155:8453
        price:
          mode: fixed
          currency: USD
          amount: '0.01'
        offers:
        - intent: charge
          method: evm
          amount: '10000'
          currency: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
          description: $0.01 in USDC on Base (eip155:8453) via x402 exact
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - rows
              properties:
                rows:
                  type: array
                  minItems: 1
                  maxItems: 500
                  items:
                    type: object
                    additionalProperties:
                      oneOf:
                      - type: string
                        nullable: true
                      - type: number
                      - type: boolean
      responses:
        '200':
          description: Purchased evidence report
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '402':
          description: x402 payment required; terms are returned in the PAYMENT-REQUIRED header
        '502':
          description: Fulfillment failed before settlement
  /v1/csv-to-json:
    get:
      operationId: csvToJsonGet
      summary: Convert bounded CSV text to deterministic JSON (GET query variant)
      description: Convert CSV text with a unique header row to deterministic JSON without network access. GET accepts the
        documented inputs as query parameters.
      security:
      - x402Payment: []
      x-price: $0.01
      x-payment-info:
        protocols:
        - x402: {}
        network: eip155:8453
        price:
          mode: fixed
          currency: USD
          amount: '0.01'
        offers:
        - intent: charge
          method: evm
          amount: '10000'
          currency: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
          description: $0.01 in USDC on Base (eip155:8453) via x402 exact
      parameters:
      - name: csv
        in: query
        required: true
        description: URL-encoded CSV text with a unique header row
        schema:
          type: string
          minLength: 1
      responses:
        '200':
          description: Purchased evidence report
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '402':
          description: x402 payment required; terms are returned in the PAYMENT-REQUIRED header
        '502':
          description: Fulfillment failed before settlement
    post:
      operationId: csvToJson
      summary: Convert bounded CSV text to deterministic JSON
      description: Convert CSV text with a unique header row to deterministic JSON without network access.
      security:
      - x402Payment: []
      x-price: $0.01
      x-payment-info:
        protocols:
        - x402: {}
        network: eip155:8453
        price:
          mode: fixed
          currency: USD
          amount: '0.01'
        offers:
        - intent: charge
          method: evm
          amount: '10000'
          currency: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
          description: $0.01 in USDC on Base (eip155:8453) via x402 exact
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - csv
              properties:
                csv:
                  type: string
                  minLength: 1
                  maxLength: 16384
      responses:
        '200':
          description: Purchased evidence report
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '402':
          description: x402 payment required; terms are returned in the PAYMENT-REQUIRED header
        '502':
          description: Fulfillment failed before settlement
  /v1/github-actions-log-parser:
    get:
      operationId: githubActionsLogParserGet
      summary: Parse bounded GitHub Actions logs into a typed failure report (GET query variant)
      description: Parse public or buyer-supplied GitHub Actions logs without fetching restricted repositories or executing
        code. Common credentials are redacted from returned excerpts. GET accepts the documented inputs as query parameters.
      security:
      - x402Payment: []
      x-price: $0.01
      x-payment-info:
        protocols:
        - x402: {}
        network: eip155:8453
        price:
          mode: fixed
          currency: USD
          amount: '0.01'
        offers:
        - intent: charge
          method: evm
          amount: '10000'
          currency: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
          description: $0.01 in USDC on Base (eip155:8453) via x402 exact
      parameters:
      - name: logs
        in: query
        required: true
        description: URL-encoded JSON object mapping public log filenames to text
        schema:
          type: string
          minLength: 2
          maxLength: 16384
      responses:
        '200':
          description: Purchased evidence report
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '402':
          description: x402 payment required; terms are returned in the PAYMENT-REQUIRED header
        '502':
          description: Fulfillment failed before settlement
    post:
      operationId: githubActionsLogParser
      summary: Parse bounded GitHub Actions logs into a typed failure report
      description: Parse public or buyer-supplied GitHub Actions logs without fetching restricted repositories or executing
        code. Common credentials are redacted from returned excerpts.
      security:
      - x402Payment: []
      x-price: $0.01
      x-payment-info:
        protocols:
        - x402: {}
        network: eip155:8453
        price:
          mode: fixed
          currency: USD
          amount: '0.01'
        offers:
        - intent: charge
          method: evm
          amount: '10000'
          currency: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
          description: $0.01 in USDC on Base (eip155:8453) via x402 exact
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - logs
              properties:
                logs:
                  type: object
                  minProperties: 1
                  maxProperties: 50
                  additionalProperties:
                    type: string
                    minLength: 1
                    maxLength: 12000
      responses:
        '200':
          description: Purchased evidence report
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '402':
          description: x402 payment required; terms are returned in the PAYMENT-REQUIRED header
        '502':
          description: Fulfillment failed before settlement
  /v1/encoding-tools:
    get:
      operationId: encodingToolsGet
      summary: Run bounded deterministic hash and encoding operations (GET query variant)
      description: Run SHA-256, SHA-512, UTF-8 base64 encoding, or UTF-8 base64 decoding without network access, secrets,
        or code execution. GET accepts the documented inputs as query parameters.
      security:
      - x402Payment: []
      x-price: $0.01
      x-payment-info:
        protocols:
        - x402: {}
        network: eip155:8453
        price:
          mode: fixed
          currency: USD
          amount: '0.01'
        offers:
        - intent: charge
          method: evm
          amount: '10000'
          currency: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
          description: $0.01 in USDC on Base (eip155:8453) via x402 exact
      parameters:
      - name: operation
        in: query
        required: true
        schema:
          type: string
          enum:
          - sha256
          - sha512
          - base64_encode
          - base64_decode
      - name: value
        in: query
        required: true
        schema:
          type: string
          minLength: 0
          maxLength: 12000
      responses:
        '200':
          description: Purchased evidence report
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '402':
          description: x402 payment required; terms are returned in the PAYMENT-REQUIRED header
        '502':
          description: Fulfillment failed before settlement
    post:
      operationId: encodingTools
      summary: Run bounded deterministic hash and encoding operations
      description: Run SHA-256, SHA-512, UTF-8 base64 encoding, or UTF-8 base64 decoding without network access, secrets,
        or code execution.
      security:
      - x402Payment: []
      x-price: $0.01
      x-payment-info:
        protocols:
        - x402: {}
        network: eip155:8453
        price:
          mode: fixed
          currency: USD
          amount: '0.01'
        offers:
        - intent: charge
          method: evm
          amount: '10000'
          currency: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
          description: $0.01 in USDC on Base (eip155:8453) via x402 exact
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - operation
              - value
              properties:
                operation:
                  type: string
                  enum:
                  - sha256
                  - sha512
                  - base64_encode
                  - base64_decode
                value:
                  type: string
                  minLength: 0
                  maxLength: 12000
      responses:
        '200':
          description: Purchased evidence report
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '402':
          description: x402 payment required; terms are returned in the PAYMENT-REQUIRED header
        '502':
          description: Fulfillment failed before settlement
  /v1/hash:
    get:
      operationId: hashGet
      summary: Compute a bounded SHA hash (GET query variant)
      description: Compute a SHA-256 or SHA-512 digest for text and return hex and base64 encodings without network access
        or code execution. GET accepts the documented inputs as query parameters.
      security:
      - x402Payment: []
      x-price: $0.001
      x-payment-info:
        protocols:
        - x402: {}
        network: eip155:8453
        price:
          mode: fixed
          currency: USD
          amount: '0.001'
        offers:
        - intent: charge
          method: evm
          amount: '1000'
          currency: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
          description: $0.001 in USDC on Base (eip155:8453) via x402 exact
      parameters:
      - name: text
        in: query
        required: true
        schema:
          type: string
          minLength: 0
          maxLength: 12000
      - name: algorithm
        in: query
        required: true
        schema:
          type: string
          enum:
          - sha256
          - sha512
      responses:
        '200':
          description: Purchased evidence report
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '402':
          description: x402 payment required; terms are returned in the PAYMENT-REQUIRED header
        '502':
          description: Fulfillment failed before settlement
    post:
      operationId: hash
      summary: Compute a bounded SHA hash
      description: Compute a SHA-256 or SHA-512 digest for text and return hex and base64 encodings without network access
        or code execution.
      security:
      - x402Payment: []
      x-price: $0.001
      x-payment-info:
        protocols:
        - x402: {}
        network: eip155:8453
        price:
          mode: fixed
          currency: USD
          amount: '0.001'
        offers:
        - intent: charge
          method: evm
          amount: '1000'
          currency: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
          description: $0.001 in USDC on Base (eip155:8453) via x402 exact
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - text
              - algorithm
              properties:
                text:
                  type: string
                  minLength: 0
                  maxLength: 12000
                algorithm:
                  type: string
                  enum:
                  - sha256
                  - sha512
      responses:
        '200':
          description: Purchased evidence report
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '402':
          description: x402 payment required; terms are returned in the PAYMENT-REQUIRED header
        '502':
          description: Fulfillment failed before settlement
