> For the complete documentation index, see [llms.txt](https://docs.galactica.com/galactica-developer-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.galactica.com/galactica-developer-documentation/galactica-concepts/zero-knowledge-kyc/verification-sbt.md).

# Verification SBT

## What it is

Verification soul-bound tokens (SBTs) are on-chain records. They state successful zkKYC verifications between a wallet addresses and verifier smart contracts corresponding to a DApp. The soul-bound property means that it can not be transferred. Instead it has to be recreated for another wallet with a new ZKP verification.

The on-chain registry is implemented in an EVM smart contract. Galactica provides a standardized system instance defined here: [DevNet: Andromeda](/galactica-developer-documentation/devnet-andromeda.md)\
In general, also custom registries can be deployed and used.

## Purpose

* On-chain record for reference in smart contracts
* Unlocks using DApps requiring compliance without regenerating a ZKP every time
* Carries data about verification

## Contents

The data contained in a Verification SBT is defined in the [smart contract](https://github.com/Galactica-corp/galactica-monorepo/blob/main/packages/zk-certificates/contracts/interfaces/IVerificationSBT.sol).

* Wallet address of the user
* Address of the DApp the verification was for
* Verifier Codehash for tracking what version of the verifier was used. This allows upgrading DApp requirements and migrating previous verifications.
* KYC Guardian public key
* Fraud investigation data, see [Galactica Investigation Module](/galactica-developer-documentation/galactica-concepts/zero-knowledge-kyc/fraud-investigation-process.md)
