> For the complete documentation index, see [llms.txt](https://hinkal-team.gitbook.io/hinkal/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hinkal-team.gitbook.io/hinkal/choose-your-integration/comparison.md).

# Comparison

Hinkal's privacy protocol is available through four integration paths. They share the same private balance and the same security model - the difference is who holds the wallet and where your code runs

| Features                   | API                                                     | SDK                                                                       | WaaS                                                                       | MCP                                                              |
| -------------------------- | ------------------------------------------------------- | ------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ---------------------------------------------------------------- |
| **Who holds the wallet**   | You keep your own wallet (EVM, Solana, TRON)            | Your users keep their own wallets                                         | Hinkal's enclave custodies wallets for your users                          | Hinkal's enclave creates a custodial wallet for the agent's user |
| **Where it runs**          | Your backend, over REST                                 | Your frontend or backend, as a library                                    | Your backend, over REST                                                    | Any MCP client (Claude Desktop, Claude Code, custom host)        |
| **Languages**              | Any                                                     | TypeScript / Web, React Native, Go, iOS, Android                          | Any                                                                        | Any MCP-compatible assistant                                     |
| **Auth**                   | Wallet-signed session + payload signature               | Wallet signs in-app                                                       | Ed25519 X-Stamp per request                                                | Access key on the user's machine                                 |
| **What the enclave holds** | Your shielded key only                                  | Nothing - proving runs client-side                                        | Users' private keys and shielded keys                                      | The user's wallet and shielded key                               |
| **Best for**               | Platforms driving privacy from their own infrastructure | Wallets, payment stacks, and apps embedding private flows in their own UI | Companies managing wallets on behalf of users, with org roles and policies | AI agents moving funds through natural-language requests         |

### The Four Paths

***

**API** - you keep your wallet. A REST API whose server runs inside a secure enclave. You sign requests with your own wallet; the enclave custodies only the shielded key that operates the privacy layer. **Choose this when you have a backend and want to call Hinkal directly.**

[→ API › Getting Started](/hinkal/hinkal-api/getting-started.md)

***

**SDK** - embed in your product. A library for TypeScript / Web, React Native, Go, iOS, and Android that abstracts proofs, routing, and relaying behind simple functions. Your users' wallets never leave their control. **Choose this when privacy should live inside your own frontend or backend.**

[→ SDK › Getting Started](/hinkal/hinkal-sdk/hinkal-sdk.md)

***

**WaaS** - we custody wallets for your users. A REST API where Hinkal's enclave creates and manages wallets on behalf of your users, with an organization model: administrators create users, assign wallets, set policies, and can act on their behalf. Private keys are generated, stored, and used only inside the enclave. **Choose this when your team works outside TypeScript, or when you'd rather not run wallet infrastructure.**

[→ WaaS › Getting Started](/hinkal/hinkal-waas/introduction.md)

***

**MCP** - for AI agents. A Model Context Protocol server exposing deposit, withdraw, and transfer as tools any MCP-compatible assistant can call. A custodial wallet is created server-side on first use; the user's machine holds only an access key. **Choose this when the caller is an agent, not a person or a backend.**

[→ MCP › Getting Started](/hinkal/hinkal-mcp/overview.md)

***

### **Still not sure?**

<table><thead><tr><th width="486.75390625">If you want to…</th><th width="110.96875">Go with</th></tr></thead><tbody><tr><td>Build a custom integration using backend endpoints</td><td><strong>API</strong></td></tr><tr><td>Add Hinkal to your app using prebuilt integration components</td><td><strong>SDK</strong></td></tr><tr><td>Create and manage wallets for your users</td><td><strong>WaaS</strong></td></tr><tr><td>Let AI agents interact with Hinkal</td><td><strong>MCP</strong></td></tr></tbody></table>
