> For the complete documentation index, see [llms.txt](https://verifund.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://verifund.gitbook.io/docs/integration/sbt-verification-system.md).

# SBT Verification System

The SBT (Soulbound Token) Verification System is a unique identity verification mechanism integrated within the Verifund platform. It utilizes SBTs to establish decentralized, non-transferable proof of identity or credentials, ensuring that all users meet specific verification requirements.

### Key Features

1. **Non-Transferable Tokens**
   * SBTs are static and cannot be transferred once minted.
   * Represents immutable proof of identity, verification, or credentials.
2. **Whitelist-Based Distribution**
   * Controlled distribution to verified and whitelisted addresses only.
   * Essential for maintaining a secure and exclusive community of trusted members.
3. **Immutable Proof**
   * Embedded on the Lisk blockchain for transparency and trust.
   * Provides immutable proof of verification status.

### User Workflow

#### Initial Verification

1. **Application**: Apply for verification and provide necessary documentation.
2. **Review**: Submitted details reviewed by the Verifund team.
3. **Approval**: Once approved, the user is added to the whitelist.
4. **Minting**: Users claim their SBT through the platform.
5. **Completion**: Verification token minted and linked to the user's address.

#### Managing Verifications

1. **Request Updates**: Submit the request for any credential updates.
2. **Reverification**: Follow the reverification process as required.
3. **Revoke Access**: Ability to revoke access by administrators if necessary.

### Technical Details

#### Contract Design

* **Standard**: Implements OpenZeppelin's ERC721 for non-transferable tokens.
* **Attributes**: Includes metadata stored on IPFS for additional information.

#### Smart Contract Functions

* **klaimLencanaSaya()**: Allows users to claim their verification badge.
* **isVerified()**: Checks if a particular address holds a verification token.
* **whitelistAddress()**: Function to add addresses to the whitelist.
* **getBadgeInfo()**: Retrieves details of the SBT associated with an address.

#### Security

* **Role-Based Access**: Administrator roles for managing whitelists and tokens.
* **On-Chain Governance**: Managed through on-chain proposals and votes.

***

Continue to User Guides for more detailed instructions on using the SBT Verification System.
