Integration Overview
Deep Linking
Partners can redirect users to Proof with pre-populated data to streamline the verification flow. When the user completes verification, they are redirected back to your application.Deep Link Parameters
| Parameter | Required | Description |
|---|---|---|
wallet | Yes | The Solana wallet address to link |
signature | Yes | Pre-signed ownership proof (base58 encoded) |
timestamp | Yes | Unix timestamp in milliseconds when signature was created |
redirect_uri | Yes | URL to redirect the user after verification |
projectId | No | Your project identifier for tracking |
Constructing a Deep Link
Build the deep link URL with query parameters:Generating the Signature
The user must sign a message proving wallet ownership. The message format is:{timestamp} is the Unix timestamp in milliseconds (13 digits).
Example: Creating a Deep Link
Handling the Return
When the user completes verification (or cancels), they are redirected to yourredirect_uri. Query the verification API to confirm their status.
Verification API
The verification API lets you check if a wallet address is linked to a verified identity. This is a public endpoint that does not require authentication.Endpoint
Parameters
| Parameter | Location | Type | Description |
|---|---|---|---|
address | path | string | Solana wallet address (32-44 characters) |
Response
| Field | Type | Description |
|---|---|---|
verified | boolean | Whether the wallet is linked to a verified identity |
Example: Checking Verification Status
Example: Gating Features
Integration Flow
Here’s a complete integration flow combining deep linking and the verification API:Best Practices
Cache Verification Status
Verification status is stable once a user is verified. Consider caching the result to reduce API calls:Handle Edge Cases
- Signature expiration: Generate fresh signatures close to redirect time
- User cancellation: Handle cases where users return without completing verification
- Network errors: Implement retry logic for API calls
Security Considerations
- Always verify wallet ownership server-side when performing sensitive actions
- Do not trust client-side verification status alone for security-critical operations
- Use HTTPS for all API calls and redirects
API Reference
For complete API documentation, see the Proof API Reference:- Verify Address — Check if a wallet is verified