> For the complete documentation index, see [llms.txt](https://docs.zoth.io/zoth/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zoth.io/zoth/zpayments/architecture-of-zpayments.md).

# Architecture of zPayments

zPayments separates the digital asset side of a payment from the fiat side. USDC is received and held by Zoth; fiat is delivered by a payout partner. Each handoff between the two has a recorded state, and no state advances until the system receives confirmation for it.

### **Components**

| **Component**         | **Function**                                                                                                               |
| --------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| Web application       | Where a sender verifies their identity, deposits USDC, saves beneficiaries, requests quotes, and views transaction history |
| Operations console    | Where a Zoth operator reviews and approves or rejects each payout, and monitors deposits and balances                      |
| Custody wallet        | A segregated MPC wallet, operated on ForDefi, holding USDC between deposit and payout                                      |
| Deposit listener      | Detects incoming USDC on chain and attributes it to the sender’s account                                                   |
| Identity verification | Sumsub, embedded in the product, for individual and business verification and for capturing the sender’s deposit address   |
| AuthenticationS       | Sign-in by email or Google account                                                                                         |
| Payout partner        | A regulated regional partner that quotes the rate and delivers local fiat to the beneficiary                               |
| Screening             | Sanctions, politically exposed person and adverse media screening, and blockchain analytics on every wallet                |
|                       |                                                                                                                            |

### **Roles**

| **Role**   | **Can do**                                                                             | **Cannot do**                                                                |
| ---------- | -------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| Sender     | Verify, deposit, add beneficiaries, request quotes, create payouts, view history       | Approve their own payout, or send from an address that has not been verified |
| Operator   | Review and approve or reject payouts, monitor deposits and balances                    | Create the payout they approve, or approve a payout that has failed a check  |
| Compliance | Set risk classification, review screening matches, suspend an account or a transaction | Execute a payout                                                             |
