> For the complete documentation index, see [llms.txt](https://docs.adcpcapital.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.adcpcapital.com/developers/contract-interfaces.md).

# Contract Interfaces

The current pilot's contract set, and each contract's role:

| Contract                 | Role                                                                                                                                                                                               |
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Protocol Accounting**  | The single stateful source of truth for capital positions, the PEU ledger, revenue/loss recognition, and waterfall state. See [Capital Accounting](/protocol/capital-accounting.md).               |
| **Treasury Vault**       | Custody-only — holds actual USDC, exposes narrow deposit/withdraw calls callable only by Protocol Accounting, and reports actual controlled balance for reconciliation.                            |
| **Credit Engine**        | Overcollateralized BTC-backed credit: origination, accrual, health evaluation, liquidation, repayment, and collateral withdrawal. See [Credit and Collateral](/protocol/credit-and-collateral.md). |
| **Collateral Vault**     | Holds and accounts for posted borrower collateral under Credit Engine's control.                                                                                                                   |
| **Credit Oracle Router** | Aggregates a primary price source and an independent reference source into one explicit health classification (`VALID`/`STALE`/`UNAVAILABLE`/`DEVIATING`).                                         |
| **Eligibility Adapter**  | Gates senior-capital contribution and permanent-residual-unit vesting behind a fresh, positively-confirmed eligibility decision. See [Authority Model](/protocol/authority-model.md).              |
| **Emergency Guardian**   | Risk-reducing-only emergency role — see [Authority Model](/protocol/authority-model.md) for its exact limits.                                                                                      |

Two contract families exist in the codebase but are **not deployed** in the current pilot: the Protocol Bitcoin Reserve controller/vault (see [Reserves](/protocol/reserves.md)), and any Participating-Capital-specific contract (Series 001 has no implementation at all — see [Participating Capital](/products/participating-capital.md)).

## ABI and address source

Exact addresses for the current deployment are listed in [Deployment Reference](/network/deployment-reference.md), derived directly from the frontend's own canonical manifest rather than retyped here by hand. The frontend's contract ABIs are generated from the protocol repository at a pinned commit, referenced by the frontend build's own `ABI_SOURCE_COMMIT` value.

## Reading contract state independently

Every contract address above is a standard EVM contract on a public network — any standard RPC/ABI tooling (a block explorer, `cast`, `viem`, `ethers`) can read its state directly, independent of the ADCP frontend. This documentation does not claim to be the only way to inspect the pilot.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.adcpcapital.com/developers/contract-interfaces.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
