Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.chipipay.com/llms.txt

Use this file to discover all available pages before exploring further.

A Chipi Gasless Wallet is a real Starknet account your user fully controls. Your app calls one method to create it; the user signs with biometrics; Chipi’s paymaster pays the gas. You don’t custody anything.

What you actually build

  • A “Sign up with Touch ID” button. The user taps once, you get back a wallet address tied to their device’s passkey.
  • A “Send” button that just works. No gas modal. No funding step. No PIN prompt.
  • A recoverable account. If the user loses their phone, they get back in — either from a second device they registered or from a recovery contact you set up at onboarding.

What you do NOT build

  • A custody system. The user’s signing key lives in their device’s secure enclave; you can’t move it, sign for it, or recover it without them.
  • A gas station. Chipi’s paymaster spends from your service balance; users never see gas at all.
  • A seed-phrase backup flow. The user authenticates with biometrics every time — there’s no phrase to copy down.

Pick your starting point

Node.js / TypeScript

@chipi-stack/backend — the headline path. Server creates the wallet, browser passkey signs every transfer.

Python

chipi-stack on PyPI — same flow from a Python backend.

React + passkey

Browser side. Register the passkey, sign the transaction. End-to-end example.

Add session keys

Skip the biometric prompt for routine actions. The user signs once; subsequent transfers run automatically until the session expires.

After onboarding

NeedPage
Read balancesbalance
List or query transactionstransactions
Help a user who lost accessrecover access
Add a second device or co-signeradd a second device
Upgrade existing wallets to add recoveryupgrade existing wallets
Handle errors gracefullyerrors

A note on PINs

The SDK accepts a PIN as the wallet’s encryption key. Don’t lead with that flow — a user-typed PIN is short, low-entropy, and trivially compromised by shoulder-surfing or phishing. The recommended default is the platform passkey (Touch ID / Face ID / Windows Hello / Android biometrics), where the signing key stays inside the device and never derives from anything the user types. PIN is supported as a fallback for users on devices that don’t support WebAuthn, and as a recovery surface if the passkey ever fails. Both flows are documented in recover access.

Operating from the dashboard

Open the Gasless service

Dashboard → Services → Gasless Wallets
Once you’ve completed the 5 onboarding milestones (API keys → auth → first wallet → first transfer → webhook), the dashboard surfaces recent wallets, recent activity, and the upgrade-existing-wallets affordance.