Create a Bondify account
Go to https://bondify.dev/sign-up and create a free account. The Starter plan is free forever and includes 1,000 authentications per month — no credit card required.
Create a project and copy your credentials
In the Bondify dashboard, click Create project, give it a name, and hit Save. Bondify generates two credentials for you:
- Project ID — a public identifier in the format
proj_xxxxxxxx. Safe to expose in client-side code. - Secret key — a server-side secret in the format
sk_.... Keep this private; never commit it to git or expose it in the browser.
Install the SDK
Add the Bondify packages to your project. Install the React client package and the server-side verification package separately so you never accidentally bundle your secret key into client code.
Set your environment variables
Add the following to your
.env.local (Next.js) or .env file. Prefix the project ID with NEXT_PUBLIC_ so it is available in the browser bundle; keep the secret key unprefixed so it stays server-only..env.local
Add the sign-in button to your frontend
Wrap your login page in
PulseProvider and render a PulseButton. When the user taps the button, Bondify opens Telegram, waits for the user to confirm, and calls your onSuccess handler with the user object and a signed proof token.app/login/page.tsx
The
proof returned in onSuccess is a JWT signed by Bondify. It proves the user completed the Telegram confirmation step, but you must verify it on your server before trusting it. Never use the raw proof data to create a session client-side.Verify the proof on your server
On your API route, call That’s it — your app now has one-tap Telegram authentication.
verifyProof from @bondify/server with the proof and your secret key. If verification succeeds, the function returns the verified user object and you can issue your own session cookie or JWT.What’s next?
Explore framework-specific guides, the HTML widget for non-React projects, and the full REST API reference.React
Deep-dive into
PulseProvider, PulseButton props, hooks, and theming.HTML Widget
Add Bondify to any page with a single
<script> tag and a data attribute.Next.js
Server Actions, middleware auth guards, and App Router patterns.
Node.js
Express and Fastify examples for server-side proof verification.
Flutter
The
bondify_flutter package for iOS and Android apps.API Reference
Full REST API docs — session creation, polling, webhooks, and more.