---
title: "Reconciliation Bond"
method: POST
path: "/api/v1/provenance/reconciliation/bond"
tags: ["provenance"]
---

# Reconciliation Bond

`POST /api/v1/provenance/reconciliation/bond`

## Request

- Base URL: `https://api.badgeia.com`
- URL: `https://api.badgeia.com/api/v1/provenance/reconciliation/bond`
- Auth: none declared

POLICY + STUB ONLY — refundable-bond / slash-on-mismatch policy.

RES-017 §L3 pairs the audit lottery with a refundable bond an agent
owner posts when opting into reconciliation: post a bond at grant time,
get it back in full if every audited reconciliation comes back
"consistent", have it partially slashed if an audit comes back
"delta_flagged" (the economic backstop behind the probabilistic-audit
argument in ``select_audit_candidates`` — a bond makes cheating
negative-expected-value even for a builder willing to gamble on not
being sampled).

This endpoint is a STUB: it never creates a Stripe object and never
moves money (BLOCKED on the founder — escrow/bond product + payments
infra is a separate, founder-approved workstream). It always returns
503 (never 501): ``app/observability/sentry.py``'s ``before_send``
filter only special-cases 503 against its ``_INTENTIONAL_503_PHRASES``
allowlist, so a 501 here would page Sentry on every single call to a
permanently-unbuilt feature. 404s (via
``require_bpp_reconciliation_enabled``) unless BOTH ``BPP_ENABLED`` and
``BPP_RECONCILIATION_ENABLED`` are true.

## Response `200`

Successful Response

- unknown

---

[API](https://skmtc.dev/badgeia/apis/badge.md) · [All operations](https://skmtc.dev/badgeia/apis/badge/llms.txt) · [OpenAPI document](https://skmtc.dev/badgeia/apis/badge/revisions/7e7f7fee8b77?raw)
