Activate Identity
Identity
Activate Identity
Activate an identity to make it soulbound and non-transferable
POST
Activate Identity
Overview
Activate a minted identity to make it soulbound (non-transferable). Once activated, the identity becomes permanently bound to the owner’s wallet and can be used as a parameter across all ZKScore APIs. Activation is irreversible.Request Body
number
required
The NFT token ID of the identity to activate (obtained from minting)
string
required
Cryptographic signature from the identity owner proving ownership
string
required
The wallet address of the identity owner (must match the minted identity)
Response
boolean
Indicates if the activation was successful
object
Examples
Response Example
Error Responses
Signature Generation
Using ethers.js
Using web3.js
Using MetaMask
Use Cases
1. Complete Onboarding Flow
Mint and activate an identity in sequence:2. Activation with User Confirmation
Request user confirmation before activation:3. Batch Activation
Activate multiple identities:Best Practices
1. Verify Before Activation
Check identity details before activating:2. Handle Errors Gracefully
Provide clear error messages:3. Store Activation Status
Track activation in your database:4. Verify Signature Locally
Verify signature before sending to API:What Happens After Activation
Once activated, your identity:- Becomes Soulbound: Cannot be transferred to another wallet
- Can Be Used as Parameter: Use
alice.zksinstead of wallet address in all APIs - Enables Features: Unlocks achievements, attestations, and trust scoring
- Permanent: Cannot be deactivated or changed
Next Steps
After activating an identity:- Get Score - Check your ZKScore
- Get Achievements - View available achievements
- Create Attestation - Start building trust
Related Endpoints
- Mint Identity - Create a new identity
- Get Identity - Retrieve identity information
- Check Availability - Check name availability
Troubleshooting
”Invalid signature”
Cause: Signature doesn’t match the expected format or signer. Solution:- Ensure you’re signing with the correct private key
- Use the exact message format:
Activate identity {tokenId} - Verify the wallet address matches the identity owner
”Already activated”
Cause: Identity has already been activated. Solution:- Check identity status before attempting activation
- This is not an error if the identity is already active
”Not identity owner”
Cause: The wallet address doesn’t match the identity owner. Solution:- Verify you’re using the correct wallet
- Check the identity owner address
- Only the owner can activate their identity
”Transaction failed”
Cause: Blockchain transaction failed. Solution:- Ensure wallet has sufficient gas
- Wait a few minutes and try again
- Check blockchain network status
- Contact support if issue persists