Security Features
Walver.io is designed with security as a top priority. This document outlines the security features and best practices implemented in the service.
Cryptographic Message Signing
At the core of Walver.io's security model is cryptographic message signing, which ensures that only the true owner of a wallet can complete the verification process.
How It Works
When a user connects their wallet to a verification page, Walver.io generates a unique message containing:
A verification identifier
A timestamp
The wallet address being verified
A unique session identifier
The user signs this message using their wallet's private key, which never leaves their device.
The signature and message are sent to Walver.io's servers, where:
The signature is verified against the user's public key
The message contents are validated to ensure they haven't been tampered with
The timestamp is checked to prevent replay attacks
This process guarantees that the person completing the verification actually controls the wallet's private key, without ever exposing that key.
Backend Verification
All cryptographic verification happens on the backend, which provides several security advantages:
Tamper Resistance: Client-side verification can be bypassed by modifying browser code or using developer tools. Backend verification prevents this.
Consistent Validation: The same validation logic is applied to all verifications, regardless of the client used.
Protection Against MITM Attacks: Malicious actors cannot intercept and modify the verification process.
Secure Webhook Communications
Webhooks are secured using a user-defined secret key
When creating a verification, you can specify a secret key.
When Walver.io sends a webhook notification, it includes the secret key in the request body.
Your application can verify this secret key to ensure the webhook comes from Walver.io and hasn't been tampered with.
API Key Management
Walver.io implements secure API key management:
Fine-grained Permissions: API keys can be created with specific permissions (coming soon).
Usage Tracking: All API key usage is logged for security auditing.
Key Rotation: API keys can be easily created and deleted, facilitating regular key rotation.
Single-View: Full API keys are only shown once upon creation, requiring users to save them securely.
Rate Limiting
To prevent abuse and brute force attacks, Walver.io implements rate limiting:
Most API endpoints are limited to 10 requests per minute per IP address.
Sensitive endpoints, like those for signature verification, have more strict limits.
Rate limit information is included in response headers:
X-RateLimit-Limit
: The maximum number of requests allowed per time periodX-RateLimit-Remaining
: The number of requests remaining in the current time periodX-RateLimit-Reset
: The time when the rate limit will reset
When rate limits are exceeded, the API returns a 429 Too Many Requests
response.
Data Protection
Walver.io implements multiple layers of data protection:
HTTPS Everywhere: All API endpoints and the web interface use HTTPS to encrypt data in transit.
Data Minimization: Only required data is collected and stored.
Database Security: Production data is stored in a secure database with access controls and encryption.
Regular Backups: Data is backed up regularly with a 7-day rotation to prevent data loss.
Unique Message Generation
Each verification generates a unique message for signing, which includes:
A verification identifier
The service name requiring the verification
A timestamp
The wallet address
A session identifier
This prevents replay attacks where a signature from one verification could be reused for another.
One-Time Verification Links
For sensitive verifications, Walver.io supports one-time use links:
Once a verification is successfully completed, the link becomes invalid.
This prevents the same link from being shared or reused by multiple people.
Ideal for sensitive verifications like token airdrops or exclusive access grants.
Email and Social Media Verification
For enhanced identity verification, Walver.io offers additional verification methods:
Email Verification
Users provide their email address
Walver.io sends a one-time verification code to the email
Users must enter this code to complete verification
This adds an additional layer of identity verification beyond wallet ownership
Telegram Verification
Users provide their Telegram username
They are directed to start a conversation with the Walver bot with a specific payload
The bot verifies the payload and confirms the user owns the specified Telegram account
This confirms the user owns the specified Telegram account
Twitter/X Verification
Users provide their Twitter/X username
They are instructed to follow a link to a verification page
They are instructed to click a button to verify their account
This confirms the user controls the Twitter account
Secure Deployment
The production environment uses Docker containers with:
Minimal Base Images: Reduces attack surface
Non-Root Users: Containers run as non-root users
Read-Only Filesystems: Where possible
Resource Limitations: Prevents DoS attacks
Automatic Updates: Security patches are applied regularly
Security Monitoring
Walver.io implements continuous security monitoring:
Application Logging: All significant actions are logged
Error Tracking: Errors are tracked and analyzed for security implications
Usage Patterns: Unusual usage patterns trigger alerts
Security Best Practices for Users
When using Walver.io, we recommend these security best practices:
Use Strong Secrets: Use long, random webhook secrets and API keys
Verify Signatures: Always verify webhook signatures
Use HTTPS: Only use HTTPS for webhooks and redirect URLs
Rotate Keys: Regularly rotate API keys
One-Time Links: Use one-time links for sensitive verifications
Set Expirations: Use expiration dates for verification links
Check Domains: Ensure users are on the genuine walver.io domain
Reporting Security Issues
If you discover a security vulnerability in Walver.io, please report it immediately:
Do not disclose the issue publicly
Email the security details to security@walver.io
Include steps to reproduce the vulnerability
Allow time for the issue to be addressed before disclosure
Security Roadmap
Walver.io is continuously improving its security features. Upcoming security enhancements include:
Fine-grained API Key Permissions: Limit what each API key can do
Enhanced MFA: Additional multi-factor authentication options for creator accounts
Audit Logs: Detailed logs of all actions for security compliance
IP Restrictions: Restrict API access by IP address
Enhanced Fraud Detection: Machine learning-based detection of suspicious activity
Last updated