Prepare a grant compliance report API

Combine the supplied requirement, eligibility, budget, evidence, deliverable, and reporting checks. The report does not approve the application or determine compliance.

The Prepare a grant compliance report operation is part of the Grant Compliance API on BRAINIAC.software. Combine the supplied requirement, eligibility, budget, evidence, deliverable, and reporting checks. The report does not approve the application or determine compliance. It is exposed as POST /api/v1/grant-compliance/report and priced at $0.12 USDC on Base. Payment uses the x402 exact scheme: an unpaid call returns HTTP 402 with payment requirements; after paying the exact USDC amount, retry the same request with a payment-signature header and Idempotency-Key. No account and no API key are required. Data sources for this product: Grant guidelines, application text, budgets, evidence, and rules supplied in the request. Limitations: Grant rules, eligibility criteria, and approval outcomes are not invented. A met rule or a balanced budget is not an official approval or a compliance determination. Requirements, deadlines, and reporting obligations are read only from labeled lines or structured fields. Evidence is matched by the supplied requirement id. The strength of the evidence is not judged. Outputs are compliance prechecks, drafts, or data lookups for human review. They are not official determinations, legal advice, identity confirmation, or certified filings. Related operations in this group include Extract grant requirements, Check supplied eligibility rules, Check application completeness, Validate a grant budget. Open the group documentation for the full request schema, field notes, and response examples before integrating.

POST$0.12 USDC
/api/v1/grant-compliance/report

Example request

curl -i -X POST "https://www.brainiac.software/api/v1/grant-compliance/report" \
  -H 'content-type: application/json' \
  -H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
  --data-binary @- <<'JSON'
{
  "guidelines": "Requirement: R1 | The applicant must be a registered charity.\nRequirement: R2 | The project must serve London.\nDeadline: application | 2026-06-30 | Application closes\nReporting: REP1 | State the number of participants.\nReporting: REP2 | Attach the budget variance.\nApplicants should consider a strong title.\nThe narrative mentions 1 January 2020 in passing.\n",
  "rules": [
    {
      "id": "org",
      "fact": "organisationType",
      "operator": "equals",
      "value": "charity"
    },
    {
      "id": "years",
      "fact": "yearsOperating",
      "operator": "number_at_least",
      "value": "2"
    }
  ],
  "facts": [
    {
      "name": "organisationType",
      "value": "charity"
    },
    {
      "name": "yearsOperating",
      "value": "1"
    }
  ],
  "sections": [
    {
      "requirementId": "R1",
      "text": "We are a registered charity."
    }
  ],
  "currency": "GBP",
  "lines": [
    {
      "category": "staff",
      "description": "Coordinator",
      "amount": 4000
    },
    {
      "category": "equipment",
      "description": "Laptop",
      "amount": 1000
    }
  ],
  "total": 5000,
  "limits": [
    {
      "category": "staff",
      "maxPercent": 40
    }
  ],
  "expenses": [
    {
      "id": "E1",
      "description": "Coordinator salary",
      "category": "staff",
      "amount": 4000
    },
    {
      "id": "E2",
      "description": "Alcohol for launch",
      "category": "hospitality",
      "amount": 200
    }
  ],
  "expenseRules": [
    {
      "category": "staff",
      "decision": "eligible"
    },
    {
      "category": "hospitality",
      "decision": "ineligible"
    }
  ],
  "evidence": [
    {
      "id": "EV1",
      "requirementId": "R1",
      "text": "Charity Commission number 1234567."
    }
  ],
  "deliverables": [
    {
      "id": "D1",
      "name": "Workshop series",
      "dueDate": "2026-12-01"
    },
    {
      "id": "D2",
      "name": "Evaluation note",
      "dueDate": "2027-01-15"
    }
  ],
  "updates": [
    {
      "deliverableId": "D1",
      "status": "submitted",
      "date": "2026-12-20",
      "note": "Workshops delivered."
    }
  ],
  "reportSections": [
    {
      "obligationId": "REP1",
      "text": "120 participants attended."
    }
  ]
}
JSON

An unpaid probe returns HTTP 402 with x402 payment requirements. After paying the exact USDC amount on Base, retry the identical request with a payment-signature header.

FAQ

  • Do I need an API key? No. Pay the listed USDC amount with x402.
  • What network? Base (eip155:8453), USDC.
  • Is this an official determination? No. Results are for human review against the cited sources.

Related APIs

Grant Compliance APIFull docsHow it works