# XPay Labs (xpay) > Documentation for XPayLabs (xpay) — self-hosted, non-custodial crypto payment gateway and multi-tenant payment infrastructure. Accept stablecoin payments (USDT, USDC) on TRON, EVM chains, and SUI with zero gateway fees. REST API, HMAC-SHA256 authentication, webhook callbacks, and Docker Compose deployment. ## Docs - [XPayLabs: Open-Source Multi-Tenant Crypto Payment Gateway](https://docs.xpaylabs.com/introduction.md): XPayLabs is a self-hosted, non-custodial crypto payment gateway. Deploy on your own servers to accept stablecoin payments across TRON, EVM chains, and SUI with zero gateway fees. Multi-tenant — host unlimited merchants and collect fees. - [Deploy XPayLabs: Docker Compose Crypto Payment Quickstart](https://docs.xpaylabs.com/quickstart.md): Deploy XPayLabs with Docker Compose, configure your merchant token, and create your first crypto payment collection in under 15 minutes. - [HMAC-SHA256 Authentication: XPayLabs API Security](https://docs.xpaylabs.com/authentication.md): XPayLabs authenticates every API request with HMAC-SHA256 request signing. Compute the sign field with your merchant token for secure crypto payment API calls. - [Collection Orders: How Crypto Payments Work in XPayLabs](https://docs.xpaylabs.com/concepts/payments.md): XPayLabs collection orders generate unique deposit addresses for each transaction. Track the lifecycle from creation to on-chain confirmation with order statuses and webhook events. - [Settlements: Auto-Sweep Hot Wallet Funds to Cold Storage](https://docs.xpaylabs.com/concepts/settlements.md): XPayLabs automatically sweeps received funds from hot wallets to your cold storage. Configure settlement rules and thresholds for each supported blockchain. - [Webhooks: Real-Time Crypto Payment Notifications](https://docs.xpaylabs.com/concepts/webhooks.md): XPayLabs webhooks deliver real-time notifications for order and collection status changes. Configure callback URLs and verify HMAC signatures for secure integration. - [XPayLabs API Errors: Codes, Causes, and Solutions](https://docs.xpaylabs.com/concepts/errors.md): XPayLabs returns structured error responses with HTTP status codes and validation error messages. Handle blockchain payment errors gracefully with our troubleshooting guide. - [Accept Crypto Payments: Collection Order Guide](https://docs.xpaylabs.com/guides/accept-payments.md): Accept stablecoin payments via XPayLabs collection orders. Create a deposit address, generate a checkout page, and handle webhook callbacks in this step-by-step guide. - [Send Crypto Payouts: XPayLabs Payout API Guide](https://docs.xpaylabs.com/guides/payouts.md): Send crypto payments from your gateway wallet to external blockchain addresses using the XPayLabs payout API. Supports TRON, EVM chains, and SUI. - [Spring Boot + XPayLabs: Java SDK Crypto Payments](https://docs.xpaylabs.com/guides/spring-boot-integration.md): Integrate crypto payments into your Spring Boot application with the XPayLabs Java SDK. Maven setup, configuration, webhook handling, and full API examples. - [Node.js + XPayLabs: SDK Crypto Payment Integration](https://docs.xpaylabs.com/guides/nodejs-integration.md): Integrate crypto payments into your Node.js app with the @xpaylabs/node-sdk. npm setup, TypeScript types, webhook verification, and full API examples. - [AI Agent Payments: Autonomous Crypto Transactions](https://docs.xpaylabs.com/guides/ai-agents.md): Enable AI agents to send and receive stablecoin payments autonomously. Non-custodial, self-hosted crypto payment infrastructure for agentic workflows. - [Test Crypto Payments on Testnet: XPayLabs Guide](https://docs.xpaylabs.com/guides/testing.md): Test XPayLabs payment integration on blockchain testnets before going live. Configure testnet endpoints, get faucet tokens, and verify the collection-to-webhook flow. - [x402 Protocol — USDC Micropayments for AI Agents & LLM APIs](https://docs.xpaylabs.com/guides/x402-overview.md): Pay-per-call USDC micropayments via the x402 protocol. One-line buyer SDK for AI agents, Express middleware for API sellers — no API key management required. - [XPayLabs FAQ: Self-Hosted Crypto Payment Questions](https://docs.xpaylabs.com/faq.md): Answers to common questions about XPayLabs — deployment, supported blockchains, API integration, webhooks, security, and zero-fee pricing model. - [Troubleshooting: XPayLabs Gateway Error Solutions](https://docs.xpaylabs.com/troubleshooting.md): Diagnose and fix common XPayLabs issues — HMAC signature failures, blockchain scanner problems, webhook delivery errors, Docker deployment issues, and rate limiting. - [Pricing](https://docs.xpaylabs.com/pricing.md) - [XPayLabs REST API: Crypto Payment Endpoints Reference](https://docs.xpaylabs.com/api-reference/overview.md): The XPayLabs API is a REST API with JSON request/response bodies secured by HMAC-SHA256 signing. Base URL, request format, response shape, and rate limits. - [HMAC-SHA256: XPayLabs API Authentication Reference](https://docs.xpaylabs.com/api-reference/authentication.md): Complete reference for computing HMAC-SHA256 signatures to authenticate XPayLabs API requests, including the signing algorithm and per-request fields. - [XPayLabs API Error Codes and How to Handle Them](https://docs.xpaylabs.com/api-reference/errors.md): XPayLabs returns structured error responses with HTTP-compatible status codes. Learn the error format, common codes, and how to handle failures. - [Create a Collection Order | POST /v1/order/createCollection](https://docs.xpaylabs.com/api-reference/order/create-collection.md): Create a collection order to receive crypto payments. Returns a unique deposit address and checkout URL for the customer to send funds. - [Create a Payout Order | POST /v1/order/createPayout](https://docs.xpaylabs.com/api-reference/order/create-payout.md): Initiate a payout from your gateway wallet to an external blockchain address. Requires a valid receive address for the specified chain. - [Get Order Status | GET /v1/order/status/{orderId}](https://docs.xpaylabs.com/api-reference/order/status.md): Retrieve the full status and details of an order by its orderId. Returns the NotifyOrder object with status, amount, transaction info, and fee. - [Get Pay Link Details | GET /v1/order/pay](https://docs.xpaylabs.com/api-reference/order/pay-link.md): Retrieve checkout details for a collection order, including the deposit address, amount, and current status. Used to render the customer-facing checkout page. - [Get Compact Order Status | GET /v1/order/getOrderStatus](https://docs.xpaylabs.com/api-reference/order/order-status.md): Quickly retrieve just the status of an order by orderId and sign. Returns only the PaymentOrderStatus object for lightweight polling. - [List Supported Symbols | GET /v1/symbol/supportSymbols](https://docs.xpaylabs.com/api-reference/symbols/support-symbols.md): Retrieve the list of supported blockchain tokens configured on your gateway. Filter by chain or symbol to narrow results. - [Webhook Notifications — XPayLabs Event Callbacks Reference](https://docs.xpaylabs.com/api-reference/webhooks/overview.md): XPayLabs delivers signed webhook callbacks to your configured endpoint URL when order or collection status changes. Learn how to configure endpoints and verify payloads. - [XPayLabs Webhook Event Types — Complete Reference](https://docs.xpaylabs.com/api-reference/webhooks/events.md): Complete reference for all XPayLabs webhook event types — order events (PENDING, SUCCESS, EXPIRED, FAILED) and collection events (PENDING, SUCCESS, FAILED).