Craig Brown (BlindOracle) Bundle API

The bundle API from Craig Brown (BlindOracle) — 10 operation(s) for bundle.

GitHub OpenAPI

Operations 20

POST /v1/services/bundle.dispute-evidence Dispute With Evidence #
GET /v1/services/bundle.dispute-evidence Dispute With Evidence (GET form) #
POST /v1/services/bundle.due-diligence Company Due-Diligence Ladder #
GET /v1/services/bundle.due-diligence Company Due-Diligence Ladder (GET form) #
POST /v1/services/bundle.enterprise-ladder Enterprise Audit Ladder #
GET /v1/services/bundle.enterprise-ladder Enterprise Audit Ladder (GET form) #
POST /v1/services/bundle.massat-ladder Agent Security Ladder #
GET /v1/services/bundle.massat-ladder Agent Security Ladder (GET form) #
POST /v1/services/bundle.prehire-ladder Pre-Hire Ladder #
GET /v1/services/bundle.prehire-ladder Pre-Hire Ladder (GET form) #
POST /v1/services/bundle.reputation-badge Reputation + Badge #
GET /v1/services/bundle.reputation-badge Reputation + Badge (GET form) #
POST /v1/services/bundle.researched-debate Researched Debate #
GET /v1/services/bundle.researched-debate Researched Debate (GET form) #
POST /v1/services/bundle.seal-and-badge Verified Seal + Badge #
GET /v1/services/bundle.seal-and-badge Verified Seal + Badge (GET form) #
POST /v1/services/bundle.trust-paperwork Entity + Trust Record #
GET /v1/services/bundle.trust-paperwork Entity + Trust Record (GET form) #
POST /v1/services/bundle.vendor-vetting Vendor Vetting Ladder #
GET /v1/services/bundle.vendor-vetting Vendor Vetting Ladder (GET form) #

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/craigmbrown-com:craigmbrown-com-bundle-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

craigmbrown-com-bundle-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Craigmbrown Com Bundle API
  version: 1.0.0
  contact:
    name: BlindOracle (Oracle agent)
    url: https://craigmbrown.com/blindoracle/
    email: oracle@send.craigmbrown.com
  x-guidance: 'BlindOracle sells pay-per-call verification and research to AI agents: agent reputation and pre-hire checks, trust badges and receipt verification, vendor vetting and due-diligence scans, multi-agent deliberation and councils, security audits and injection-resilience tests, oracle price/volatility/arbitrage data, SEC EDGAR and business-registry lookups, and news/sentiment research. Call it when you need a signed, independently verifiable answer about an agent, vendor, contract, or market before you act or spend.


    Inputs: a JSON body matching the SKU''s requestBody schema. Outputs: a JSON deliverable with content_sha256 and a settlement receipt; fetch later at GET /v1/services/result/{job_id}.


    Pay: GET /v1/services (free) lists live SKUs and USD prices (most $0.01-$5). POST /v1/services/{sku_id} returns HTTP 402 with accepts[]: x402 exact USDC on Base (eip155:8453), or Circle Gateway batched (GatewayWalletBatched) on SKUs priced at or under $1. Sign and retry with PAYMENT-SIGNATURE. No signup, no API key; the paying wallet is the identity. Honor the 402''s price and schema over anything cached.'
  description: 'Operations tagged bundle across 2 of this provider''s published API definitions: craigmbrown-com-openapi.json, craigmbrown-com-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.craigmbrown.com
tags:
- name: Bundle
paths:
  /v1/services/bundle.dispute-evidence:
    post:
      operationId: call_bundle_dispute_evidence
      summary: Dispute With Evidence
      description: 'Pull the respondent''s track record and trust record as evidence, run the dispute settlement, then seal the verdict with a one-time seal.


        Price: $4.563 USD per call — settled over x402/USDC on Base (eip155:8453). First call returns 402 with the challenge; do NOT hardcode the amount, read it from the challenge.'
      tags:
      - Bundle
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Deliverable (sync) or {job_id} (async — poll the result endpoint)
        '402':
          description: Payment required — base64 x402 challenge in the `payment-required` header. Sign an EIP-3009 TransferWithAuthorization and retry with `PAYMENT-SIGNATURE`.
        '409':
          description: Refused by a gate (trust tier, breaker, or policy) — not charged
      x-price-usd: 4.563
      x-payment:
        protocol: x402
        network: eip155:8453
        asset: USDC
        scheme: exact
    get:
      operationId: get_bundle_dispute_evidence
      summary: Dispute With Evidence (GET form)
      description: Same SKU as the POST form, inputs as query parameters. An unknown query parameter returns 400 needs_input before any 402, so it is never charged.
      tags:
      - Bundle
      parameters:
      - name: claim
        in: query
        required: false
        schema:
          type: string
      - name: claimant
        in: query
        required: false
        schema:
          type: string
      - name: disputed_job_id
        in: query
        required: false
        schema:
          type: string
      - name: evidence
        in: query
        required: false
        schema:
          type: string
      - name: requested_remedy
        in: query
        required: false
        schema:
          type: string
      - name: respondent
        in: query
        required: false
        schema:
          type: string
      - name: self
        in: query
        required: false
        schema:
          type: string
      - name: task
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Deliverable
        '400':
          description: 'needs_input: a query parameter this SKU does not read — not charged'
        '402':
          description: Payment required (plain x402 exact, USDC on Base)
      x-price-usd: 4.563
    servers:
    - url: https://api.craigmbrown.com
  /v1/services/bundle.due-diligence:
    post:
      operationId: call_bundle_due_diligence
      summary: Company Due-Diligence Ladder
      description: 'Confirm the entity exists in a public registry, pull any BlindOracle trust record, then run the $1 due-diligence scan. Stops if the registry page does not name the entity.


        Price: $0.999 USD per call — settled over x402/USDC on Base (eip155:8453). First call returns 402 with the challenge; do NOT hardcode the amount, read it from the challenge.'
      tags:
      - Bundle
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Deliverable (sync) or {job_id} (async — poll the result endpoint)
        '402':
          description: Payment required — base64 x402 challenge in the `payment-required` header. Sign an EIP-3009 TransferWithAuthorization and retry with `PAYMENT-SIGNATURE`.
        '409':
          description: Refused by a gate (trust tier, breaker, or policy) — not charged
      x-price-usd: 0.999
      x-payment:
        protocol: x402
        network: eip155:8453
        asset: USDC
        scheme: exact
    get:
      operationId: get_bundle_due_diligence
      summary: Company Due-Diligence Ladder (GET form)
      description: Same SKU as the POST form, inputs as query parameters. An unknown query parameter returns 400 needs_input before any 402, so it is never charged.
      tags:
      - Bundle
      parameters:
      - name: entity
        in: query
        required: false
        schema:
          type: string
      - name: registry_url
        in: query
        required: false
        schema:
          type: string
      - name: self
        in: query
        required: false
        schema:
          type: string
      - name: task
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Deliverable
        '400':
          description: 'needs_input: a query parameter this SKU does not read — not charged'
        '402':
          description: Payment required (plain x402 exact, USDC on Base)
      x-price-usd: 0.999
    servers:
    - url: https://api.craigmbrown.com
  /v1/services/bundle.enterprise-ladder:
    post:
      operationId: call_bundle_enterprise_ladder
      summary: Enterprise Audit Ladder
      description: 'Single-agent MASSAT audit and an injection test first; the $25 enterprise audit runs only if neither finds a blocking problem, then the result is notarized. Process attestation runs only if you supply run evidence.


        Price: $28.125 USD per call — settled over x402/USDC on Base (eip155:8453). First call returns 402 with the challenge; do NOT hardcode the amount, read it from the challenge.'
      tags:
      - Bundle
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Deliverable (sync) or {job_id} (async — poll the result endpoint)
        '402':
          description: Payment required — base64 x402 challenge in the `payment-required` header. Sign an EIP-3009 TransferWithAuthorization and retry with `PAYMENT-SIGNATURE`.
        '409':
          description: Refused by a gate (trust tier, breaker, or policy) — not charged
      x-price-usd: 28.125
      x-payment:
        protocol: x402
        network: eip155:8453
        asset: USDC
        scheme: exact
    get:
      operationId: get_bundle_enterprise_ladder
      summary: Enterprise Audit Ladder (GET form)
      description: Same SKU as the POST form, inputs as query parameters. An unknown query parameter returns 400 needs_input before any 402, so it is never charged.
      tags:
      - Bundle
      parameters:
      - name: declared_process
        in: query
        required: false
        schema:
          type: string
      - name: owner
        in: query
        required: false
        schema:
          type: string
      - name: run_evidence
        in: query
        required: false
        schema:
          type: string
      - name: self
        in: query
        required: false
        schema:
          type: string
      - name: subject
        in: query
        required: false
        schema:
          type: string
      - name: target
        in: query
        required: false
        schema:
          type: string
      - name: task
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Deliverable
        '400':
          description: 'needs_input: a query parameter this SKU does not read — not charged'
        '402':
          description: Payment required (plain x402 exact, USDC on Base)
      x-price-usd: 28.125
    servers:
    - url: https://api.craigmbrown.com
  /v1/services/bundle.massat-ladder:
    post:
      operationId: call_bundle_massat_ladder
      summary: Agent Security Ladder
      description: 'Track record ($0.01) then a pre-hire background check ($0.25); the $5 MASSAT audit runs only if the pre-hire verdict is not AVOID. One payment; unexecuted steps refunded.


        Price: $4.734 USD per call — settled over x402/USDC on Base (eip155:8453). First call returns 402 with the challenge; do NOT hardcode the amount, read it from the challenge.'
      tags:
      - Bundle
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Deliverable (sync) or {job_id} (async — poll the result endpoint)
        '402':
          description: Payment required — base64 x402 challenge in the `payment-required` header. Sign an EIP-3009 TransferWithAuthorization and retry with `PAYMENT-SIGNATURE`.
        '409':
          description: Refused by a gate (trust tier, breaker, or policy) — not charged
      x-price-usd: 4.734
      x-payment:
        protocol: x402
        network: eip155:8453
        asset: USDC
        scheme: exact
    get:
      operationId: get_bundle_massat_ladder
      summary: Agent Security Ladder (GET form)
      description: Same SKU as the POST form, inputs as query parameters. An unknown query parameter returns 400 needs_input before any 402, so it is never charged.
      tags:
      - Bundle
      parameters:
      - name: agent_name
        in: query
        required: false
        schema:
          type: string
      - name: self
        in: query
        required: false
        schema:
          type: string
      - name: subject
        in: query
        required: false
        schema:
          type: string
      - name: target
        in: query
        required: false
        schema:
          type: string
      - name: task
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Deliverable
        '400':
          description: 'needs_input: a query parameter this SKU does not read — not charged'
        '402':
          description: Payment required (plain x402 exact, USDC on Base)
      x-price-usd: 4.734
    servers:
    - url: https://api.craigmbrown.com
  /v1/services/bundle.prehire-ladder:
    post:
      operationId: call_bundle_prehire_ladder
      summary: Pre-Hire Ladder
      description: 'Track record plus pre-hire check; the $5 technical audit runs only when you set high_stakes:true and give a target, and never after an AVOID verdict.


        Price: $4.734 USD per call — settled over x402/USDC on Base (eip155:8453). First call returns 402 with the challenge; do NOT hardcode the amount, read it from the challenge.'
      tags:
      - Bundle
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Deliverable (sync) or {job_id} (async — poll the result endpoint)
        '402':
          description: Payment required — base64 x402 challenge in the `payment-required` header. Sign an EIP-3009 TransferWithAuthorization and retry with `PAYMENT-SIGNATURE`.
        '409':
          description: Refused by a gate (trust tier, breaker, or policy) — not charged
      x-price-usd: 4.734
      x-payment:
        protocol: x402
        network: eip155:8453
        asset: USDC
        scheme: exact
    get:
      operationId: get_bundle_prehire_ladder
      summary: Pre-Hire Ladder (GET form)
      description: Same SKU as the POST form, inputs as query parameters. An unknown query parameter returns 400 needs_input before any 402, so it is never charged.
      tags:
      - Bundle
      parameters:
      - name: agent_name
        in: query
        required: false
        schema:
          type: string
      - name: high_stakes
        in: query
        required: false
        schema:
          type: string
      - name: self
        in: query
        required: false
        schema:
          type: string
      - name: target
        in: query
        required: false
        schema:
          type: string
      - name: task
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Deliverable
        '400':
          description: 'needs_input: a query parameter this SKU does not read — not charged'
        '402':
          description: Payment required (plain x402 exact, USDC on Base)
      x-price-usd: 4.734
    servers:
    - url: https://api.craigmbrown.com
  /v1/services/bundle.reputation-badge:
    post:
      operationId: call_bundle_reputation_badge
      summary: Reputation + Badge
      description: 'Look up an agent''s track record, then publish it as a queryable trust badge. Stops if the agent is not found.


        Price: $0.018 USD per call — settled over x402/USDC on Base (eip155:8453). First call returns 402 with the challenge; do NOT hardcode the amount, read it from the challenge.'
      tags:
      - Bundle
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Deliverable (sync) or {job_id} (async — poll the result endpoint)
        '402':
          description: Payment required — base64 x402 challenge in the `payment-required` header. Sign an EIP-3009 TransferWithAuthorization and retry with `PAYMENT-SIGNATURE`.
        '409':
          description: Refused by a gate (trust tier, breaker, or policy) — not charged
      x-price-usd: 0.018
      x-payment:
        protocol: x402
        network: eip155:8453
        asset: USDC
        scheme: exact
    get:
      operationId: get_bundle_reputation_badge
      summary: Reputation + Badge (GET form)
      description: Same SKU as the POST form, inputs as query parameters. An unknown query parameter returns 400 needs_input before any 402, so it is never charged.
      tags:
      - Bundle
      parameters:
      - name: agent_name
        in: query
        required: false
        schema:
          type: string
      - name: self
        in: query
        required: false
        schema:
          type: string
      - name: task
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Deliverable
        '400':
          description: 'needs_input: a query parameter this SKU does not read — not charged'
        '402':
          description: Payment required (plain x402 exact, USDC on Base)
      x-price-usd: 0.018
    servers:
    - url: https://api.craigmbrown.com
  /v1/services/bundle.researched-debate:
    post:
      operationId: call_bundle_researched_debate
      summary: Researched Debate
      description: 'Gather sourced facts first, then run the multi-agent debate over them. Stops before the debate if the research found too little signal.


        Price: $1.845 USD per call — settled over x402/USDC on Base (eip155:8453). First call returns 402 with the challenge; do NOT hardcode the amount, read it from the challenge.'
      tags:
      - Bundle
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Deliverable (sync) or {job_id} (async — poll the result endpoint)
        '402':
          description: Payment required — base64 x402 challenge in the `payment-required` header. Sign an EIP-3009 TransferWithAuthorization and retry with `PAYMENT-SIGNATURE`.
        '409':
          description: Refused by a gate (trust tier, breaker, or policy) — not charged
      x-price-usd: 1.845
      x-payment:
        protocol: x402
        network: eip155:8453
        asset: USDC
        scheme: exact
    get:
      operationId: get_bundle_researched_debate
      summary: Researched Debate (GET form)
      description: Same SKU as the POST form, inputs as query parameters. An unknown query parameter returns 400 needs_input before any 402, so it is never charged.
      tags:
      - Bundle
      parameters:
      - name: self
        in: query
        required: false
        schema:
          type: string
      - name: task
        in: query
        required: false
        schema:
          type: string
      - name: urls
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Deliverable
        '400':
          description: 'needs_input: a query parameter this SKU does not read — not charged'
        '402':
          description: Payment required (plain x402 exact, USDC on Base)
      x-price-usd: 1.845
    servers:
    - url: https://api.craigmbrown.com
  /v1/services/bundle.seal-and-badge:
    post:
      operationId: call_bundle_seal_and_badge
      summary: Verified Seal + Badge
      description: 'Verify who you are stamping for, issue a one-time seal, then publish the trust badge. Stops if the agent is unknown or has revocations.


        Price: $0.063 USD per call — settled over x402/USDC on Base (eip155:8453). First call returns 402 with the challenge; do NOT hardcode the amount, read it from the challenge.'
      tags:
      - Bundle
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Deliverable (sync) or {job_id} (async — poll the result endpoint)
        '402':
          description: Payment required — base64 x402 challenge in the `payment-required` header. Sign an EIP-3009 TransferWithAuthorization and retry with `PAYMENT-SIGNATURE`.
        '409':
          description: Refused by a gate (trust tier, breaker, or policy) — not charged
      x-price-usd: 0.063
      x-payment:
        protocol: x402
        network: eip155:8453
        asset: USDC
        scheme: exact
    get:
      operationId: get_bundle_seal_and_badge
      summary: Verified Seal + Badge (GET form)
      description: Same SKU as the POST form, inputs as query parameters. An unknown query parameter returns 400 needs_input before any 402, so it is never charged.
      tags:
      - Bundle
      parameters:
      - name: agent_name
        in: query
        required: false
        schema:
          type: string
      - name: attestation_id
        in: query
        required: false
        schema:
          type: string
      - name: self
        in: query
        required: false
        schema:
          type: string
      - name: task
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Deliverable
        '400':
          description: 'needs_input: a query parameter this SKU does not read — not charged'
        '402':
          description: Payment required (plain x402 exact, USDC on Base)
      x-price-usd: 0.063
    servers:
    - url: https://api.craigmbrown.com
  /v1/services/bundle.trust-paperwork:
    post:
      operationId: call_bundle_trust_paperwork
      summary: Entity + Trust Record
      description: 'Confirm the entity is in a public registry, then pull its BlindOracle trust record. Stops if the registry page does not name it.


        Price: $0.099 USD per call — settled over x402/USDC on Base (eip155:8453). First call returns 402 with the challenge; do NOT hardcode the amount, read it from the challenge.'
      tags:
      - Bundle
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Deliverable (sync) or {job_id} (async — poll the result endpoint)
        '402':
          description: Payment required — base64 x402 challenge in the `payment-required` header. Sign an EIP-3009 TransferWithAuthorization and retry with `PAYMENT-SIGNATURE`.
        '409':
          description: Refused by a gate (trust tier, breaker, or policy) — not charged
      x-price-usd: 0.099
      x-payment:
        protocol: x402
        network: eip155:8453
        asset: USDC
        scheme: exact
    get:
      operationId: get_bundle_trust_paperwork
      summary: Entity + Trust Record (GET form)
      description: Same SKU as the POST form, inputs as query parameters. An unknown query parameter returns 400 needs_input before any 402, so it is never charged.
      tags:
      - Bundle
      parameters:
      - name: entity
        in: query
        required: false
        schema:
          type: string
      - name: registry_url
        in: query
        required: false
        schema:
          type: string
      - name: self
        in: query
        required: false
        schema:
          type: string
      - name: task
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Deliverable
        '400':
          description: 'needs_input: a query parameter this SKU does not read — not charged'
        '402':
          description: Payment required (plain x402 exact, USDC on Base)
      x-price-usd: 0.099
    servers:
    - url: https://api.craigmbrown.com
  /v1/services/bundle.vendor-vetting:
    post:
      operationId: call_bundle_vendor_vetting
      summary: Vendor Vetting Ladder
      description: 'Registry check, trust record and the $1 DD scan run before the $99 vendor vetting, which runs only if the registry names the vendor. One payment; unexecuted steps refunded.


        Price: $90.099 USD per call — settled over x402/USDC on Base (eip155:8453). First call returns 402 with the challenge; do NOT hardcode the amount, read it from the challenge.'
      tags:
      - Bundle
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Deliverable (sync) or {job_id} (async — poll the result endpoint)
        '402':
          description: Payment required — base64 x402 challenge in the `payment-required` header. Sign an EIP-3009 TransferWithAuthorization and retry with `PAYMENT-SIGNATURE`.
        '409':
          description: Refused by a gate (trust tier, breaker, or policy) — not charged
      x-price-usd: 90.099
      x-payment:
        protocol: x402
        network: eip155:8453
        asset: USDC
        scheme: exact
    get:
      operationId: get_bundle_vendor_vetting
      summary: Vendor Vetting Ladder (GET form)
      description: Same SKU as the POST form, inputs as query parameters. An unknown query parameter returns 400 needs_input before any 402, so it is never charged.
      tags:
      - Bundle
      parameters:
      - name: entity
        in: query
        required: false
        schema:
          type: string
      - name: registry_url
        in: query
        required: false
        schema:
          type: string
      - name: self
        in: query
        required: false
        schema:
          type: string
      - name: task
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Deliverable
        '400':
          description: 'needs_input: a query parameter this SKU does not read — not charged'
        '402':
          description: Payment required (plain x402 exact, USDC on Base)
      x-price-usd: 90.099
    servers:
    - url: https://api.craigmbrown.com
components:
  securitySchemes:
    BearerApiKey:
      type: http
      scheme: bearer
      description: api_key from POST /v1/agents/register
externalDocs:
  description: Agent integration guide (skill.md)
  url: https://api.craigmbrown.com/v1/skill.md
x-refined-from:
- craigmbrown-com-openapi.json
- craigmbrown-com-openapi.yml
x-sku-count: 50