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

# Pre-auth MVP

> What ProofBridge looks like today: stateful pre-auth relayer, on-chain Poseidon2 MMR per chain, ZK-proof-gated unlocks, single-key admin.

<Note>
  These are the **v1 (pre-BLS)** docs, kept for reference. The redesigned
  flow — BLS-authorized settlement, per-wallet key registration, and the new
  status ladder — is documented under **v2** in the version picker.
</Note>

<Note>
  ✅ **Live on Sepolia ↔ Stellar Testnet.** Real bridge transactions
  settle end-to-end through this architecture today. Subsequent
  phases incrementally retire trust assumptions on top of it.
</Note>

This is the protocol as it runs today. Funds never leave contract
escrow without a verified ZK proof, but a pre-authorization relayer
sits in front of every state-changing call as scaffolding while the
BLS-based end-state is being built.

## Architecture diagram

<img src="https://mintcdn.com/proofbridge/1ew08pldeeuBKd_p/architecture/_diagrams/phase-1-current-state.png?fit=max&auto=format&n=1ew08pldeeuBKd_p&q=85&s=553370e9840a255b3657671a39801dac" alt="Phase 1 architecture — Pre-auth MVP" width="1800" height="1092" data-path="architecture/_diagrams/phase-1-current-state.png" />

Refer to the protocol overview pages for the actor definitions,
the 12-step settlement flow, and the per-contract function reference:

<CardGroup cols={3}>
  <Card title="Makers & Bridgers" icon="users" href="/concepts/makers-and-bridgers">
    The two end-user roles.
  </Card>

  <Card title="How it works" icon="circle-info" href="/how-it-works">
    The 12-step cross-chain flow as it runs today.
  </Card>

  <Card title="Smart contracts" icon="file-code" href="/reference/smart-contracts">
    Function signatures, storage, and deployed testnet addresses.
  </Card>
</CardGroup>

## What's transitional

Three pieces only exist because the BLS end-state isn't shipped
yet. Phase 2 retires the first, Phase 4 retires the second, and the
third is a documentation nuance:

* **Pre-auth signing.** Every state-changing user call carries a
  manager-signed request hash. A compromised manager key can
  authorize any user request — though it still cannot redirect funds
  without a valid ZK proof. Retired in [Phase 2](/architecture/phase-2-bls-auth).
* **Single-key admin** on each chain. `setChain`, `setTokenRoute`,
  `setManager`, and role grants execute instantly with no delay or
  multisig. Replaced by multisig + 24h timelock in [Phase 4](/architecture/phase-4-mainnet).
* **Native-token wrapping** uses an internal `wNativeToken` contract
  via a sentinel address. The "native handled directly" story is an
  aspirational simplification of what the contracts actually do today.

For the full set of trust assumptions and how each phase shrinks
them, see the [security model](/reference/security-model).

## What ships next

<Card title="Phase 2: BLS Auth & Pre-auth Retirement" icon="arrow-right" href="/architecture/phase-2-bls-auth">
  Both Maker and Bridger sign the order with BLS once; one
  aggregated signature gates both `unlock` calls. The pre-auth
  path is removed entirely.
</Card>
