Craig Brown (BlindOracle) Bundle API
The bundle API from Craig Brown (BlindOracle) — 10 operation(s) for bundle.
The bundle API from Craig Brown (BlindOracle) — 10 operation(s) for bundle.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/craigmbrown-com:craigmbrown-com-bundle-api"
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.
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: 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