Overview
BSV Blockchain
Wallet Authentication Backend (WAB) is an open-source authentication infrastructure built in TypeScript that enables secure, multi-factor authentication for Bitcoin SV (BSV) wallet applications and blockchain services. WAB manages 256-bit presentation keys for users, which can be used to authenticate and authorize actions in wallets or other systems.
The system provides an extensible authentication framework supporting multiple verification methods through a generic interface. Each user's presentation key is protected by one or more configurable Auth Methods, including Twilio SMS verification and government ID verification (Persona/Jumio). When users complete authentication, WAB either creates a new record for new users or retrieves existing keys for returning users. The architecture allows developers to easily add custom authentication methods by extending the base AuthMethod class.
WAB is production-ready and includes essential features for wallet deployments: Knex-based database migrations supporting MySQL and SQLite, built-in faucet functionality for automated BSV payments to new accounts; comprehensive TypeScript implementation for type safety; Docker containerization for simplified deployment. The reference implementation provides a complete authentication backend that can be customized and deployed for any BSV wallet or blockchain application requiring secure user authentication.
Key Features:
- Multi-factor authentication with extensible auth method framework
- Secure 256-bit presentation key management
- Built-in BSV faucet for new user onboarding
- Production-ready with database migrations and Docker support
- Open BSV License v4
Highlights
- Multi-factor authentication system with extensible auth methods including text verification. Securely manages 256-bit presentation keys for BSV wallet applications with support for multiple authentication factors per user.
- Built-in BSV faucet functionality for automated satoshi payments to new users. Configurable one-time or recurring payment logic with transaction logging and data returned to users for seamless onboarding.
Details
Introducing multi-product solutions
You can now purchase comprehensive solutions tailored to use cases and industries.
Features and programs
Financing for AWS Marketplace purchases
Pricing
Vendor refund policy
This is a free open-source product. Buyers are charged only for AWS infrastructure costs (compute, storage, network) associated with running the software. No software licensing fees are charged, therefore no refunds are applicable. Users may unsubscribe at any time to stop incurring AWS infrastructure costs. For technical support or issues, please contact us through our GitHub repository at https://github.com/bsv-blockchain/wab .
How can we make this page better?
Legal
Vendor terms and conditions
Content disclaimer
Delivery details
WAB Container - ECS/EKS Deployment
- Amazon ECS
- Amazon EKS
- Amazon ECS Anywhere
- Amazon EKS Anywhere
Container image
Containers are lightweight, portable execution environments that wrap server application software in a filesystem that includes everything it needs to run. Container applications run on supported container runtimes and orchestration services, such as Amazon Elastic Container Service (Amazon ECS) or Amazon Elastic Kubernetes Service (Amazon EKS). Both eliminate the need for you to install and operate your own container orchestration software by managing and scheduling containers on a scalable cluster of virtual machines.
Version release notes
Initial release of Wallet Authentication Backend (WAB) for AWS Marketplace.
Features:
- Multi-factor authentication with extensible auth methods
- SMS verification via Twilio and government ID verification support
- Secure 256-bit presentation key management
- Built-in BSV faucet for new user onboarding
- Database support for PostgreSQL, MySQL, and SQLite
- Production-ready with comprehensive documentation
Technical Implementation:
- Node.js 20 LTS (Debian-based from AWS Public ECR)
- AMD64 architecture
- Built on native Linux x86_64 environment (Ubuntu 22.04)
- OCI-compliant container labels
- AWS Marketplace metering integration (RegisterUsage)
- Single-architecture build for maximum compatibility
AWS Marketplace Compliance:
- Native Linux x86_64 build (no emulation artifacts)
- No unsupported architecture layers
- All dependencies included in AWS Marketplace ECR
- Meets all container security and architecture requirements
Visit https://github.com/bsv-blockchain/wab for complete documentation.
Additional details
Usage instructions
Wallet Authentication Backend (WAB) Deployment Instructions
Quick Start with Amazon ECS
-
Pull the container image from AWS Marketplace ECR
- After subscribing, the image will be available in your region
-
Create a task definition
- Create an ECS service
Deployment on Amazon EKS
- Create a Kubernetes deployment manifest
- Apply the deployment
Required Environment Variables
Database Configuration:
- DB_CLIENT: Database type (pg, mysql, or sqlite3)
- DB_HOST: Database hostname
- DB_USER: Database username
- DB_PASS: Database password
- DB_NAME: Database name
- DB_PORT: Database port (optional, default: 5432 for pg, 3306 for mysql)
Twilio SMS Authentication (optional):
- TWILIO_ACCOUNT_SID: Your Twilio Account SID
- TWILIO_AUTH_TOKEN: Your Twilio Auth Token
- TWILIO_VERIFY_SERVICE_SID: Your Twilio Verify Service SID
Application Settings:
- NODE_ENV: Set to "production"
- PORT: Application port (default: 8080)
Database Setup
- Run migrations after first deployment:
Health Check
Test your deployment:
curl http://your-service-url:8080/infoExpected response: JSON with WAB configuration details
Documentation
Complete documentation: https://github.com/bsv-blockchain/wab
- Setup guide
- Authentication method configuration
- API reference
- Troubleshooting
Support
For issues and questions, visit: https://github.com/bsv-blockchain/wab/issues
Resources
Support
Vendor support
Community support is available through the GitHub repository at https://github.com/bsv-blockchain/wab . Users can:
- Open issues for bug reports and feature requests
- Submit pull requests for improvements and new authentication methods
- Access comprehensive documentation in the repository README
- Review example configurations and deployment guides
For technical questions and implementation guidance, please create a GitHub issue with detailed information about your use case and environment. The WAB project welcomes contributions from the community.
Support Level: Community-driven open source project Response Time: Best effort via GitHub issues Documentation: Complete setup, configuration, and deployment guides available in repository
AWS infrastructure support
AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.