How to add Proof of Personhood to your app on Nibiru

Nibiru is a high-performance blockchain ecosystem featuring an EVM-equivalent execution engine, parallel execution, and a novel Multi-VM architecture. It’s designed for developers who need speed, scalability, and flexibility when building next-gen Web3 applications.

But with high performance and low fees come Sybil attacks.

Humanode Biomapper is now live on Nibiru. It provides cryptographic Proof of Personhood without KYC or identity exposure, ensuring that each EVM wallet belongs to one unique human.

Why Sybil Resistance Matters on Nibiru

Whether you're building:

  • DeFi protocols: Stop multi-wallet yield farming and staking abuse.
  • Gaming platforms and quests: Ensure rewards go to real players, not bots.
  • Social dApps: Guarantee one profile = one person.
  • Credential systems or SBTs: Prevent badge minting abuse.

Sybil attacks compromise fairness and sustainability. Biomapper helps fix that with minimal integration.

Why Biomapper Is a Great Fit for Nibiru

Biomapper is designed with privacy, simplicity, and verifiability in mind:

  • Private Biometric Verification: All scans are processed inside an AMD SEV-SNP Confidential Virtual Machine. Even Humanode can’t see them.
  • No Identity Exposure: It doesn’t care who a user is, only that they’re unique.
  • One Human = One Wallet: Each wallet is cryptographically tied to one living person for the duration of a "generation."

Key Concepts

Before integrating, get familiar with:

  • Generations: A biomapping is valid for a fixed time window (a generation) after which it resets.
  • Integration Flow: Users verify once, bridge their uniqueness proof to Nibiru, and can use that across all dApps.

How to Integrate Biomapper in Your Nibiru dApp

Step 1: Install the Biomapper SDK

Using npm:

npm install --save @biomapper-sdk/core @biomapper-sdk/libraries @biomapper-sdk/events

Using yarn:

yarn add @biomapper-sdk/core @biomapper-sdk/libraries @biomapper-sdk/events

Using Foundry:

forge install humanode-network/biomapper-sdk

Step 2: Import the Required Interfaces

// SPDX-License-Identifier: MIT


pragma solidity ^0.8.20;

import { IBridgedBiomapperRead } from "@biomapper-sdk/core/IBridgedBiomapperRead.sol";

import { IBiomapperLogRead } from "@biomapper-sdk/core/IBiomapperLogRead.sol";

import { BiomapperLogLib } from "@biomapper-sdk/libraries/BiomapperLogLib.sol";

Step 3: Connect to the Deployed Biomapper Contract on Nibiru

Here’s an example of how to enforce uniqueness in a rewards contract:

pragma solidity ^0.8.0;

import "@biomapper-sdk/core/IBridgedBiomapperRead.sol";

contract UniquePlayerReward {

    IBridgedBiomapperRead public biomapper;

    mapping(address => bool) public hasClaimed;

    constructor(address _biomapperAddress) {

        biomapper = IBridgedBiomapperRead(_biomapperAddress);

    }

    function claimReward() external {

        require(biomapper.isBridgedUnique(msg.sender), "User not unique");

        require(!hasClaimed[msg.sender], "Already claimed");
        hasClaimed[msg.sender] = true;
        // distribute reward here

    }

}

Step 4: Use Mocks for Local Testing

Use mock contracts to simulate biometric verification in development:

function generationsBridgingTxPointsListItem(uint256 ptr) external view returns (GenerationBridgingTxPoint memory);

Refer to Biomapper SDK documentation for full mock setup.

Let users verify themselves via the official app:

< a  href="https://biomapper.hmnd.app" target="_blank">Verify Your Uniqueness< /a>

Once verified, they return to your dApp ready to participate.

Deployment & Rollout

  • Deploy your contracts on Nibiru.
  • Connect to the deployed BridgedBiomapper contract address.
  • Link your UI to the Biomapper App.
  • Test on testnet before mainnet deployment.

That’s a Wrap

Nibiru offers performance and scalability, and Biomapper adds the human layer. Add private, secure Proof of Personhood to your dApp today and protect your protocol from Sybils.

Resources