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

# What is Pesa?

> Pesa lets people buy and sell digital dollars with local payment apps, peer to peer, with every payment proven on the user's phone.

Pesa is a peer-to-peer marketplace for digital dollars (USDC). A buyer pays a seller with an ordinary payment app such as Wise. The seller's USDC waits in an escrow contract. When the buyer's phone proves that the payment happened, the escrow releases the USDC to the buyer. Nobody has to trust the other side, and Pesa never holds the user's local money.

Pesa has three parts:

<CardGroup cols={3}>
  <Card title="P2P settlement" icon="handshake" href="/protocol/overview">
    Escrow, orchestrator and claim contracts on Stellar. They lock USDC for an order and release it only against a valid payment claim.
  </Card>

  <Card title="Chain abstraction" icon="route" href="/chain-abstraction/overview">
    Move USDC and USDT in from any supported chain, and out to it again. Stellar is the one place where balances and trades live.
  </Card>

  <Card title="zkTLS verification" icon="shield-check" href="/zktls/overview">
    The payer's phone proves a fact from their payment account. The login and the account data never leave the device.
  </Card>
</CardGroup>

## Why it is built this way

**Self-custody.** The user's USDC sits in the user's own wallet, or in an escrow that only the contract rules can move. There is no omnibus account and no admin sweep.

**Payment proof.** A release needs a signed claim that the fiat payment happened, with the right amount, currency, payee and reference for that exact order. A screenshot or a "sent" message is never enough.

**Credentials stay on the phone.** The payer's phone opens the TLS connection to the payment provider. Pesa's capture enclaves see only encrypted shares, and the proof is made on the device.

**One settlement chain.** Deposits arrive from many chains, but every order is backed by native USDC on Stellar. One chain means one replay guard, so a fiat payment can settle one order only.

## Who these docs are for

<CardGroup cols={2}>
  <Card title="Users and liquidity providers" icon="user" href="/using-pesa/buy">
    How buying, selling and providing liquidity work, step by step.
  </Card>

  <Card title="Developers" icon="code" href="/developers/overview">
    Add deposits, withdrawals and Stellar sends to your app with the Pesa SDK, or prove payments with the zkTLS SDK.
  </Card>

  <Card title="Protocol reviewers" icon="magnifying-glass" href="/protocol/overview">
    Contract functions, state machines, the claim format and the trust model.
  </Card>

  <Card title="API reference" icon="terminal" href="/api-reference/introduction">
    Every HTTP endpoint, with request and response fields.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.