Testing
Individual Verifications provides testnet support for developers to test their integration before going to production. Use the Base Sepolia testnet to complete verification flows and receive mock SBTs.
Testnet Environment
| Environment | Network | Use Case |
|---|---|---|
| Production | Optimism | Live user verifications |
| Testnet | Base Sepolia | Development and testing |
Testing Workflow
Step 1: Get a Mock SBT
Direct users to the sandbox verification flow to receive a mock SBT on Base Sepolia:
Government ID (KYC):
https://id.human.tech/gov-id?sandbox=truePhone:
https://id.human.tech/phone?sandbox=trueBiometrics:
https://id.human.tech/biometrics?sandbox=trueSandbox verifications issue SBTs on Base Sepolia testnet. These are for testing purposes only and do not represent real identity verification.
Step 2: Query the Testnet API
Use the same API endpoints, but specify base-sepolia as the network:
curl --request GET \
'https://api.holonym.io/sybil-resistance/gov-id/base-sepolia?user={address}&action-id=123456789'{
"result": true,
"expirationDate": 1770922106
}Step 3: Verify Integration
Test your integration logic with the mock SBT before deploying to production.
API Endpoints for Testing
All standard API endpoints support the base-sepolia network parameter:
| Endpoint | Testnet URL |
|---|---|
| Government ID | https://api.holonym.io/sybil-resistance/gov-id/base-sepolia?user={address}&action-id={action-id} |
| Phone | https://api.holonym.io/sybil-resistance/phone/base-sepolia?user={address}&action-id={action-id} |
| Biometrics | https://api.holonym.io/sybil-resistance/biometrics/base-sepolia?user={address}&action-id={action-id} |
Best Practices
-
Always test on Base Sepolia first - Verify your integration works correctly before handling real user verifications
-
Test error handling - Ensure your application gracefully handles cases where users haven’t verified
-
Test with multiple addresses - Verify your uniqueness logic works correctly across different addresses
-
Validate response handling - Make sure your application correctly interprets
result: truevsresult: falseresponses
Moving to Production
When you’re ready to go live:
- Update your API calls to use
optimisminstead ofbase-sepolia - Update verification links to remove the
?sandbox=trueparameter - Ensure your production environment is configured correctly
// Development
const network = 'base-sepolia';
const verifyUrl = 'https://id.human.tech/gov-id?sandbox=true';
// Production
const network = 'optimism';
const verifyUrl = 'https://id.human.tech/gov-id';