> ## Documentation Index
> Fetch the complete documentation index at: https://docs.testnet.dev.adipredictstreet.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Contracts overview

> The on-chain surface — vaults, exchanges, conditional tokens, oracle.

<CardGroup cols={2}>
  <Card title="Addresses" icon="address-card" href="/concepts/contracts/addresses">
    Per-environment contract addresses + Blockscout links.
  </Card>

  <Card title="CTFExchange" icon="arrow-right-arrow-left" href="/concepts/contracts/ctf-exchange">
    Signed-order matching with quadratic taker fee.
  </Card>

  <Card title="Vaults" icon="vault" href="/concepts/contracts/vaults">
    Per-user custody, dual-sig withdrawals, emergency path.
  </Card>

  <Card title="Conditional Tokens" icon="circle-nodes" href="/concepts/contracts/conditional-tokens">
    Polymarket-compatible ERC-1155 position tokens.
  </Card>

  <Card title="Neg-Risk Adapter" icon="chart-pie" href="/concepts/contracts/neg-risk-adapter">
    Multi-outcome markets + convertPositions.
  </Card>

  <Card title="PredictStreet Oracle" icon="satellite-dish" href="/concepts/contracts/oracle">
    Outcome proposal, challenge, finalise.
  </Card>
</CardGroup>

## Key invariants

1. **Non-upgradeable vault logic.** Each user's vault is an EIP-1167
   clone pointing at an immutable implementation.
2. **Dual-signature custody.** Withdrawals, splits, merges, neg-risk
   conversions all require user + backend EIP-712 signatures.
3. **Emergency withdraw timelock.** Users can unilaterally drain their
   vault after a 7-day on-chain delay.
4. **No unbounded admin power.** `onlyAdmin` is restricted to pause /
   register / configure actions.
5. **Digest-based replay protection.** Every signed operation is
   single-use.

## Verified on Blockscout

Every testnet deployment is source-verified on
[blockscout.ab.testnet.adifoundation.ai](https://blockscout.ab.testnet.adifoundation.ai).
