> For the complete documentation index, see [llms.txt](https://docs.vapinetwork.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.vapinetwork.ai/protocol/contracts.md).

# Contracts

The tables below identify the vAPI Tasks deployment tuple and vendor-splitter contracts for the supported test networks.

{% hint style="warning" %}
vAPI Tasks escrow contracts are testnet deployments on Base Sepolia. Do not treat them as mainnet contracts. The current values always live in `packages/escrow-contracts/deployments/base-sepolia.json` in the vAPI source tree; this page mirrors that manifest.
{% endhint %}

## Base Sepolia (chain ID 84532)

| Contract                | Address                                      |
| ----------------------- | -------------------------------------------- |
| EscrowFactoryV1         | `0x6Ba83621eb386B3E093032096251cA504F6ee033` |
| EscrowV1 implementation | `0x60560a16487Fdaf28A6B1B80F80019dE9a3267b7` |
| FeeRouterV1             | `0xB348641288aC8D5B677656119361B412bEd7a039` |
| DisputeResolverV2       | `0x5496794F593ee8548f8e436a2Db2C54F96ab6ED2` |
| ReviewerRegistryV2      | `0x9ba516C6754df3506D54B3dE45124662d6659f73` |
| ReputationRegistryV1    | `0xd99C4Dbe22c2e4904Da79628143E340c75e9FBf8` |
| AllowlistStakeGate      | `0x951D78F7DBCff6499cBC5fa94Dc658e28f2D4cfB` |
| Council Safe            | `0xf6997435Ca8DD50d9e9e794320ec87379DCEb09c` |
| VendorSplitterFactoryV1 | `0x73D90d89B45015323e0B601fdC4B536013212ff4` |

**Arc testnet** (chain ID 5042002): the Arc testnet manifest records no deployed contracts.

## Contract roles

* **Escrow factory and escrow.** EscrowFactoryV1 creates deterministic EscrowV1 clones and records them as registered escrows. Each escrow holds one amount between one buyer and one seller, tracks delivery and review deadlines, and settles by release, refund, or split.
* **Fee router.** FeeRouterV1 routes seller proceeds and the treasury fee when an escrow settles.
* **Dispute resolver.** DisputeResolverV2 opens cases for registered escrows and allows approved reviewers to resolve a case after the evidence window closes.
* **Reviewer registry.** ReviewerRegistryV2 records approved reviewers and the maximum amount an escrow may hold. Reviewer eligibility passes through a stake-gate hook; the deployed gate is an allowlist until Stake ships.
* **Reputation registry.** ReputationRegistryV1 attests resolved registered escrows and records settlement, release, refund, dispute, and split counts for buyers and sellers.
* **Vendor splitter.** VendorSplitterFactoryV1 predicts and deploys one immutable VendorSplitterV1 payout contract per vendor. When anyone calls `distribute()`, each splitter sends 5% (rounded down, so dust favors the vendor) to the network fee recipient and the remainder to the vendor. Vendor splitter addresses vary by vendor, so there is no single global VendorSplitterV1 address.

Token and staking contracts are maintained in the separate public repository [vAPI-Network/vapi-contracts](https://github.com/vAPI-Network/vapi-contracts). [Audits](/protocol/audits.md) page will soon be live to validate any audit status.


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.vapinetwork.ai/protocol/contracts.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
