# X402 v0.4.1 - Table of Contents

Elixir SDK for the x402 HTTP payment protocol

## Pages

- [Overview](readme.md)
- [Changelog](changelog.md)
- [License](license.md)

- Guides
  - [Getting Started](getting-started.md)
  - [Plug/Phoenix Integration](plug-integration.md)

## Modules

- [X402.Behaviour](X402.Behaviour.md): Utilities for working with Elixir behaviours and callback implementations.

- [X402.Extensions.PaymentIdentifier](X402.Extensions.PaymentIdentifier.md): Encodes and decodes x402 payment identifier payloads.
- [X402.Extensions.PaymentIdentifier.Cache](X402.Extensions.PaymentIdentifier.Cache.md): Behaviour and adapter helpers for payment identifier idempotency caches.
- [X402.Extensions.PaymentIdentifier.ETSCache](X402.Extensions.PaymentIdentifier.ETSCache.md): ETS-backed cache adapter for payment identifier idempotency.
- [X402.Telemetry](X402.Telemetry.md): Telemetry event definitions and emission helpers for x402 operations.
- [X402.Utils](X402.Utils.md): Shared utility functions for the X402 library.

- Core Protocol
  - [X402](X402.md): Convenience API for working with x402 payment headers and wallet addresses.
  - [X402.PaymentRequired](X402.PaymentRequired.md): Encodes and decodes the x402 `PAYMENT-REQUIRED` header value.
  - [X402.PaymentRequirements](X402.PaymentRequirements.md): Validation and matching helpers for x402 v2 payment requirements.
  - [X402.PaymentResponse](X402.PaymentResponse.md): Encodes and decodes the x402 `PAYMENT-RESPONSE` header value.
  - [X402.PaymentSignature](X402.PaymentSignature.md): Decodes and validates x402 `PAYMENT-SIGNATURE` header values.

- Facilitator Client
  - [X402.Facilitator](X402.Facilitator.md): Stateful client for x402 facilitator verify and settle operations.

  - [X402.Facilitator.HTTP](X402.Facilitator.HTTP.md): HTTP transport for facilitator verify and settle requests.

  - [X402.Hooks](X402.Hooks.md): Behaviour for lifecycle hooks around facilitator verify and settle operations.
  - [X402.Hooks.Context](X402.Hooks.Context.md): Context passed between x402 lifecycle hook callbacks.
  - [X402.Hooks.Default](X402.Hooks.Default.md): Default no-op implementation of `X402.Hooks`.

- Plug Integration
  - [X402.Plug.PaymentGate](X402.Plug.PaymentGate.md): Plug middleware that gates configured routes behind x402 v2 payment verification.

- Utilities
  - [X402.Wallet](X402.Wallet.md): Wallet address validation utilities for x402.

- Extensions
  - [X402.Extensions.SIWX](X402.Extensions.SIWX.md): Encodes and decodes SIWX messages and `SIGN-IN-WITH-X` header values.
  - [X402.Extensions.SIWX.ETSStorage](X402.Extensions.SIWX.ETSStorage.md): ETS-backed SIWX storage with TTL-based expiration.
  - [X402.Extensions.SIWX.Storage](X402.Extensions.SIWX.Storage.md): Behaviour for storing SIWX access records.
  - [X402.Extensions.SIWX.Verifier](X402.Extensions.SIWX.Verifier.md): Behaviour for SIWX signature verification.
  - [X402.Extensions.SIWX.Verifier.Default](X402.Extensions.SIWX.Verifier.Default.md): Default EVM SIWX signature verifier using `ex_secp256k1`.

- Exceptions
  - [X402.Facilitator.Error](X402.Facilitator.Error.md): Structured error returned by facilitator verify/settle operations.

