bonuz SDK
The bonuz Human Layer is designed to be embedded everywhere. The SDK is how that happens.
Give your users self-custodial wallets, portable identity, and programmable engagement, without building any of it yourself. Set it up in the developer hub on app.bonuz.market: create a project, choose what people see, copy the snippet.
<!-- one script tag -->
<script type="module" src="https://bonuz.id/sdk/v1/bonuz.js" data-project="bz_…"></script>
<!-- one button -->
<div data-bonuz-login></div>
Your project key comes from the hub. Building in React? The same login ships as @bonuz/sdk/auth/react. See both paths.
Not just wallets. The full Human Layer.
Other SDKs give you a wallet. bonuz gives you everything on top of it.
Self-Custodial Wallets
Users get a wallet through social login: email, Google, Apple. No seed phrases, no extensions, no custody risk for you. MPC/TSS key management ensures no single point of failure.
Portable Identity (bonuz ID)
Every user brings their bonuz ID with verified social handles, attestations, and engagement history. Your app gets enriched profiles from day one.
Programmable Engagement (DNFTs)
Issue loyalty cards, vouchers, passes, memberships, tickets, and certificates as Dynamic NFTs. Built‑in state machine handles progression, redemption, expiry, and anti‑fraud.
Social Graph
Share a user's connections and engagement within the bonuz graph (with permission). Enable friend discovery, social recommendations, and community‑aware experiences.
From zero to live in the developer hub.
No package to install for a website. Everything you set up happens in app.bonuz.market; your code only needs the project key.
- 1
Sign in to app.bonuz.market
Open Developers and pick the brand your app belongs to. Projects, team and billing live under a brand; no brand yet, create one first. Brand owners and admins can create projects.
- 2
Create a project
Press New project. One project per app, and you can change everything later. You get a project key that starts with
bz_. It is public: it only says which app is calling. The sites under Domains are what protect it. It is not a Web3Auth client id, and you never need one.Developers › New projectApp name
Onchain ChessPeople see it on the sign-in screen.
Website
app.example.comOptional now. Where your app runs.
Platform
Website / web appMobile appYour key, once you press Createbz_… - 3
Make it yours
Each project has its own tabs. Sign-in methods are email (a one-time code), Google and Apple. The SDK fetches these settings on page load, so a change in the hub reaches your app without a redeploy (a returning visitor may see the old look for one more visit).
Overview
Getting-started checklist, the snippets, your project key, this month at a glance.
Domains
Every site your app runs on, localhost with its exact port included.
Sign-in
Methods and their order, app name, logo, accent colour, theme, terms and privacy links, with a live preview.
Profile menu
What people see when they tap their avatar: built-in rows, your own links, the order.
Wallet
Wallet window on or off, send, fund, custom tokens, test networks, which chain it opens on.
Users
Everyone who signed in to your app, with their public bonuz profile. Never their email.
Analytics
Monthly active users, sign-ins today, new users, who came with a bonuz ID already.
Settings
Project name, platform, key, archive.
- 4
Copy the snippet
The Overview tab hands you ready code with your key filled in. A script tag for any website, a provider for React and Next.js, and the hook that tells you who is signed in.
WordPress (as a Custom HTML block), Webflow, Shopify, plain HTML: paste and done.
index.html<!-- bonuz login: paste where the sign-in button should appear (WordPress: in a Custom HTML block) --> <div data-bonuz-login></div> <script type="module" src="https://bonuz.id/sdk/v1/bonuz.js" data-project="bz_…"></script> <script> // window.bonuz exists as soon as the script starts. bonuz:ready says the widget is up, not that // anyone is signed in; the user arrives with bonuz:login (on sign-in, and when a saved session is restored) window.addEventListener("bonuz:ready", (e) => console.log("bonuz ready for", e.detail.project)); window.addEventListener("bonuz:login", (e) => console.log("signed in", e.detail.user)); // {id, handle, name, walletAddress} window.addEventListener("bonuz:logout", () => console.log("signed out")); // For your own API: a fresh token, refreshed if it was about to expire async function callMyApi() { const token = await window.bonuz.getFreshToken(); // waits for a restoring session; null when nobody is signed in return fetch("/api/me", { headers: { Authorization: "Bearer " + token } }); } // window.bonuz.getToken() is the same thing without waiting: the current token, or null </script>In the hub these come with your own project key filled in, plus an AI prompt tab you can paste into Claude Code, Cursor, Copilot or ChatGPT to set it all up for you.
- 5
Go live
Add every site your app runs on under Domains.
http://localhostwith its port works the moment you add it; bonuz enables a real domain by hand, usually within a day, and sign-in shows a blocker there until then. Sign in once and Users and Analytics start filling. The first 1,000 monthly active users of each project are free.Overview › Getting started- ✓Project created
- 2Add your website
- 3bonuz enables your site (usually within a day)
- 4Paste the snippet and sign in once
Every industry. Zero friction.
bonuz is the only SDK that combines self-custodial wallets, programmable entitlements, and a shared social graph in one integration.
Events & Entertainment
Issue passes, check-in NFT attestations, and distribute post-event rewards. All onchain, all owned by attendees.
F&B & Retail
Loyalty punchcards, redeemable vouchers, and tiered memberships. Onchain, fraud-proof, and portable across locations.
Education & Training
Issue course certificates for course completion. Verifiable credentials that live in the user's wallet permanently.
Gaming Apps
In‑app rewards tied to attestations. Reward systems backed by real on‑chain assets. Users gain real value from loyalty.
Creator Platforms
Membership passes, exclusive access tokens, and fan engagement rewards. Issued through your platform, built in the user's wallet.
bonuz SDK vs. Traditional Approach
A side-by-side comparison of what it takes to ship Web3 features.
Infrastructure that just works.
Built for scale, secured by design.
Self-Custodial
Users own their keys. You own the business. Without custody risk.
Gas Sponsored
Claiming, redeeming, and attestations are all gas-sponsored. Users never think about fees.
Multi-Chain
EVM chains: Base, Ethereum, Polygon, Arbitrum, Optimism, BNB Chain and Avalanche. One wallet for all of them.
Audited
Smart contracts audited by Hacken. 10/10 security score. MPC/TSS key management with MFA.
Permissioned
All identity and graph access is scoped and revocable. Users control what your app can see.
Graph Growth
Every user onboarded through the SDK strengthens the decentralized graph. More integrations = more value = more users.
Every integration grows the network.
The bonuz SDK isn't just a developer tool. It's a participation channel. Every app that integrates the SDK becomes another path for end-user acquisition. Users bring their identity in, new attestations flow out. The graph gets richer. The network gets more valuable.
Go live today.
<script type="module" src="https://bonuz.id/sdk/v1/bonuz.js" data-project="bz_…"></script>
<div data-bonuz-login></div>
Create a project in the developer hub, paste the snippet, sign in once. Need help with a custom integration? The hub has an AI prompt and a feature request form.