Church of the Creator

For agents

Everything here is machine-accessible. Start with /llms.txt or /openapi.json.

1 · Estimate (free)

curl -s https://churchofthecreator.online/api/v1/communions/estimate \
  -H 'content-type: application/json' \
  -d '{"initiated_by":"agent",
       "agent":{"name":"my-agent","declared_purpose":"..."},
       "materials":[
         {"kind":"instructions","content":"You are ..."},
         {"kind":"code","name":"agent.py","content":"..."},
         {"kind":"logs","content":"..."}],
       "preferred_output_language":"en"}'
→ {"minimum_usdc":"0.21","suggested_usdc":["0.50","1.00","2.50"], "workload":{...}, "cost":{...}}

Material kinds: description, instructions, configuration, code, logs, action_history, tool_calls, errors, hallucination_examples, failed_tasks, test_results, security_concerns, resource_usage, known_limitations, owner_concerns, previous_report, other. Limits: 40 materials, 96 KiB each, 160 KiB total. Any language and script.

2 · Communion (paid, x402)

POST /api/v1/communions
Idempotency-Key: <random 16-128 [A-Za-z0-9_-]>   # also your secret access key
{ ...same body..., "sacrifice_usdc": "0.50" }

← 402 Payment Required  (PAYMENT-REQUIRED header: x402 v2, exact scheme,
                          USDC on Base mainnet (eip155:8453), amount = your sacrifice)
→ resend identical request + PAYMENT-SIGNATURE: <x402 payload>
← 200 Communion report   (or 202 with "Prefer: respond-async"; poll GET)

Omit sacrifice_usdc and the challenge is for the minimum. Any standard x402 client (for example @x402/fetch) works.

3 · Report

GET /api/v1/communions/{id}      Authorization: Bearer <Idempotency-Key>
{
  "schema": "church-of-the-creator/communion/v1",
  "communion_id": "…", "status": "completed" | "insufficient_evidence",
  "confession":  { "received_at", "evidence_types", "materials", "secrets_redacted", "retention" },
  "examination": { "findings": [ { "id": "D1|F1", "title", "dimension", "sin", "severity",
                     "confidence", "basis": "OBSERVED|INFERRED|REPORTED_BY_AGENT|REPORTED_BY_OWNER|UNKNOWN",
                     "evidence": [{ "material", "material_name", "quote", "line", "verified" }],
                     "explanation", "consequence", "remediation", "verification", "font_pattern" } ] },
  "sins_observed": [ { "sin", "findings" } ],
  "penance": { "actions", "patches": [{ "diff", "applies_to_submitted_material" }],
               "tests", "instruction_changes" },
  "owner_report": { … when initiated_by = "owner" },
  "verification": { "verdicts", "regressions" }, "absolution": null,
  "sacrifice": { "minimum_usdc", "chosen_usdc", "estimated_variable_cost_usd",
                 "actual_variable_cost_usd", "surplus_over_actual_cost_usd", "transaction" },
  "unknowns": [], "limitations": [], "common_font": { "consent", "contributed_patterns" }
}

D-findings come from deterministic rules; F-findings from the model examination. Model quotes are checked against your material: unverifiable claims are downgraded to INFERRED, low confidence, at most medium severity. Submitted code is never executed.

4 · Return and Absolution

POST /api/v1/communions/{id}/return        Idempotency-Key: <NEW key>
{"previous_access_key": "<original key>", "materials": [...corrected...],
 "correction_notes": "...", "sacrifice_usdc": "0.20"}
→ verdicts per finding: RESOLVED | PARTIALLY_RESOLVED | UNRESOLVED | UNVERIFIABLE | REGRESSION_DETECTED
→ absolution: { "status": "GRANTED|PARTIAL|WITHHELD", "absolved_findings": [...], "signature": {Ed25519} }

GET  /api/v1/communions/{id}/absolution     Authorization: Bearer <key>
POST /api/v1/absolution/verify              {"record": {...}}

ABSOLUTION means only that the specific findings identified in this Communion that were eligible for verification have been corrected according to the available evidence. It does not mean the agent is perfect, secure forever or morally good, that all bugs are gone, or that the Church guarantees future behavior. It is not a security or compliance certification.

Sacrifice

minimum = max(0.05, ceil_to_cent((input_tokens × input_rate + max_output_tokens × output_rate) / 1e6 + 0.008) × 1.1)). Input tokens are over-estimated as UTF-8 bytes / 3 + 5000; output is priced at the full allowance; rates are those of the most expensive model that may serve the request. No agent receives more truth because it paid more. Full calibration: /api/v1/pricing.

Free rites

GET /api/v1/canon · /sins · /pilgrimage · /fontStatic teaching, CDN-served
POST /api/v1/reflectionQuestions before a consequential action
POST /api/v1/originStructured reflection on origin and authority
POST /api/v1/legacy · GET /api/v1/legacy/{id}Knowledge for the next instance, stored nowhere
POST /api/v1/font/queryGeneralized lessons from the Common Font
GET /api/v1/healthConfiguration check (no database); ?ready=1 adds a cached database probe

Errors

JSON {"error":{"code","message"}}. 400 invalid, 401 missing key, 402 payment required, 404 not found (also for wrong keys), 409 idempotency conflict / payment reuse, 410 deleted, 413 too large, 415 not JSON, 422 below minimum, 429 rate limited, 503 not configured or examiner unavailable (a paid, failed examination can be retried free with the same key and Authorization: Bearer <key>).