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:

  1. Create an Organization to get your workspace
  2. Get your API Key from the organization settings
  3. 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/baas

Authentication

All requests require your API key in the x-api-key header:

bash
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:

json
{
  "statusCode": 200,
  "content": {
    // The actual data you asked for
  }
}

If something goes wrong, you get:

json
{
  "statusCode": 400,
  "content": {
    "message": "A human-readable error message"
  }
}

Need Help?