README.md

# Raxol Payments

Agent payment protocols for Elixir. Autonomous agents that can pay for things -- x402/MPP auto-pay, Xochi cross-chain intents, stealth addresses, ZKSAR attestation, spending controls.

## Install

```elixir
{:raxol_payments, "~> 0.1"}
```

## Features

- **Protocol behaviour** -- pluggable payment protocols (x402, MPP, Xochi, Riddler)
- **Wallet behaviour** -- `Wallets.Env` (env var) and `Wallets.Op` (1Password via GenServer)
- **AutoPay** -- Req response step handling HTTP 402 transparently
- **Xochi** -- cross-chain intent settlement (quote -> sign -> execute -> poll)
- **Stealth** -- ERC-5564/ERC-6538 stealth addresses (~300 LOC, secp256k1)
- **ZKSAR** -- zero-knowledge attestation verification (6 proof types)
- **TrustScore** -- diminishing-returns trust aggregation (0-100)
- **PrivacyTier** -- Glass Cube model (6 tiers, attestation-gated)
- **Router** -- auto-select protocol based on chain, privacy, trust score
- **SpendingPolicy + Ledger** -- per-request/session/lifetime spending limits
- **PXE Bridge** -- Aztec Private eXecution Environment client (JSON-RPC 2.0)

## Quick Start

```elixir
alias Raxol.Payments.{Router, Req.AgentPlugin}

# Router auto-selects protocol
Router.select(cross_chain: true)  # => :xochi
Router.select(privacy: :stealth)  # => :xochi
Router.select()                   # => :x402

# Wire auto-pay into agent HTTP backend
plugin = AgentPlugin.auto_pay(
  wallet: Raxol.Payments.Wallets.Env,
  ledger: ledger_pid,
  policy: SpendingPolicy.dev(),
  agent_id: :my_agent
)
```

## Architecture

- `Raxol.Payments.Protocol` -- behaviour for payment protocol detection + signing
- `Raxol.Payments.Wallet` -- behaviour for key management
- `Raxol.Payments.Router` -- protocol selection + settlement routing
- `Raxol.Payments.PrivacyTier` -- trust score to tier mapping
- `Raxol.Payments.Zksar` -- attestation proof verification
- `Raxol.Payments.Xochi.Stealth` -- ERC-5564/6538 implementation

See [Agentic Commerce docs](../../docs/features/AGENTIC_COMMERCE.md) for the full design.