Scalable Sybil illustration

Scalable
Sybil Resistance

Check

Duplicate checks guard against Sybils.

User

Each human gets one unique identifier.

Password lock

No sensitive data is ever stored on-chain.

Check verified

Robust KYC with liveness detection.

Locked vault

User data never leaves a secure data vault.

Anonymous data

Anonymous usage of Human Bound Token.

What is it for?

3D box

Fair Airdrops

Checkbox

Voting

Coins on hand

Incentives

Droplet

Faucets

Plug & Play

Humanbound tokens are proofs of personhood bound to a real and unique human

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;
// Specify the path to IGetterLogic.sol or use the npm package
import "@violetprotocol/erc721extendable/contracts/extensions/base/IGetterLogic.sol"
contract CounterForHumansOnly {
// Stored address of the Humanbound Token contract
address public hbtContract;
uint256 public counter;
// Expects the HBT contract address to be passed during deployment
constructor(address hbtContract_) {
hbtContract = hbtContract_;
}
modifier onlyHBTOwners {
// Verify HBT ownership
require(IGetterLogic(hbtContract).balanceOf(msg.sender) > 0, "Unauthorized: Ownership of a Humanbound Token is required");
_;
}
// Function to increment the counter: this will revert when
// called with an address that doesn't own an HBT
function gatedIncrement() public onlyHBTOwners {
counter += 1;
}
}

Available on

Ethereum
Optimism
Polygon
Arbitrum One