# Klap > Non-custodial crypto payments Keep Liquidity Always Permissionless. A merchant creates a charge, the payer sends funds directly to a predicted on-chain address, Klap detects and distributes it — without ever holding the money itself. This site covers the REST API, the Node.js SDK, and the TypeScript types together, by resource. ## Table of Contents ### Overview - [How it works](https://docs.klappay.com/how-it-works.md) - [Getting started](https://docs.klappay.com/getting-started.md) - [Authentication](https://docs.klappay.com/authentication.md) ### Resources - [Charges](https://docs.klappay.com/charges.md) - [Webhooks](https://docs.klappay.com/webhooks.md) - [Sandbox](https://docs.klappay.com/sandbox.md) - [Metrics](https://docs.klappay.com/metrics.md) - [Distributions](https://docs.klappay.com/distributions.md) - [Recipients](https://docs.klappay.com/recipients.md) - [Networks & tokens](https://docs.klappay.com/networks.md) ### Guides - [Build a checkout flow](https://docs.klappay.com/guides/checkout-flow.md) - [Real-time (SSE)](https://docs.klappay.com/realtime.md) - [Errors](https://docs.klappay.com/errors.md) - [Tree-shaking and minimal bundles](https://docs.klappay.com/sdk/tree-shaking.md) ### Tools - [AI assistants (MCP)](https://docs.klappay.com/mcp.md)