For Developers

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.

index.html

<!-- 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. 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. 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 project

    App name

    Onchain Chess

    People see it on the sign-in screen.

    Website

    app.example.com

    Optional now. Where your app runs.

    Platform

    Website / web appMobile app
    Your key, once you press Createbz_…
  3. 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. 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. 5

    Go live

    Add every site your app runs on under Domains. http://localhost with 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
    1. ✓Project created
    2. 2Add your website
    3. 3bonuz enables your site (usually within a day)
    4. 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.

Wallet creation
✕Seed phrases / extensions
✓Social login (email, Google, Apple)
Time to integrate
✕Weeks to months
✓Hours to production
Identity
✕Build from scratch
✓Portable bonuz ID included
Engagement tools
✕Raw transactions only
✓Loyalty, passes, vouchers, certificates
Social graph
✕Siloed per app
✓Shared across all integrations
Gas fees
✕Passed to users
✓Sponsored by developer wallets
Key management
✕User responsibility
✓MPC/TSS, no single point of failure
Onboarding friction
✕High (seed phrases, gas)
✓Zero: one-tap, gas sponsored
Chain support
✕Single chain per SDK
✓Multi-chain EVM (Base, Ethereum, Polygon, Arbitrum, Optimism, BNB Chain, Avalanche)
User ownership
✕Custodial or complex
✓Self-custodial by default

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.

More apps→More users→More attestations→More reasons to integrate↻

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.

Join our E-Mail list and stay up to date about new releases and launches!

We promise not to spam you. We never share your details with third parties