Build wallet features into your app without touching blockchain code. Passkallet handles the hard parts.
Welcome to Passkallet BaaS
What is Passkallet?
Passkallet is a Blockchain-as-a-Service (BaaS) platform that gives your users smart wallets secured by passkeys (biometrics like Face ID, Touch ID, or Windows Hello).
Think of it this way: your users get a crypto wallet, but they never see a seed phrase, never install a browser extension, and never think about gas fees. They just use their fingerprint or face to approve actions. That is Passkallet.
What Can You Do with the BaaS API?
With a single API key, you can:
- Create wallets for your users (each wallet is a smart contract on Polygon)
- Transfer tokens, collectibles and multi-token holdings from those wallets
- Check balances and transaction history
- Set up webhooks so your backend knows when things happen on-chain
- Execute signed transactionsthrough the relayer, gated by the end-user's approval in Passkallet (a transversal 2FA)
How It Works (The Big Picture)
Your App (Frontend)
|
| HTTPS requests with x-api-key header
v
+------------------+
| Passkallet BaaS | <-- This is what you talk to
| API |
+------------------+
|
| Signs & submits transactions
v
+------------------+
| Polygon PoS | <-- Blockchain network
| Network |
+------------------+
|
| Confirms transactions
v
+------------------+
| Webhooks to your | <-- You get notified
| backend |
+------------------+You never talk to the blockchain directly. Passkallet handles all the Web3 complexity: gas fees, transaction signing, nonce management, retry logic, and confirmation tracking.
Quick Start
Ready to get going? Here is the fastest path:
- Create an Organization to get your workspace
- Get your API Key from the organization settings
- Make your First Request to create a wallet
The whole setup takes about 5 minutes.
Base URL
Every API call goes to:
https://gateway.dev.passkallet.com/sepolia/api/v1/passkallet/baasAuthentication
All requests require your API key in the x-api-key header:
curl https://gateway.dev.passkallet.com/sepolia/api/v1/passkallet/baas/wallets \
-H "x-api-key: pk_live_your_api_key_here"Response Format
Every API response follows this shape:
{
"statusCode": 200,
"content": {
// The actual data you asked for
}
}If something goes wrong, you get:
{
"statusCode": 400,
"content": {
"message": "A human-readable error message"
}
}Need Help?
- Browse the API Reference for a complete list of endpoints
- Check Error Codes when something goes wrong
- Look at Webhooks to react to on-chain events in real time