📦 Installation
|
🧪 Examples & Tests
|
📚 Documentation
|
🤝 Contributing
|
🛠️ Code Standards
|
⚡ Benchmarks
|
🤖 AI Usage
|
📝 License
|
👥 Maintainers
|
spv-wallet-go-client requires a supported release of Go.
go get -u github.com/bsv-blockchain/spv-wallet-web-backend- API Reference – Dive into the godocs at pkg.go.dev/github.com/bsv-blockchain/spv-wallet-web-backend
- Test Suite – Review both the unit tests and fuzz tests (powered by
testify) - SPV Wallet Docs - please refer to the SPV Wallet Documentation
Development Build Commands
Get the MAGE-X build tool for development:
go install github.com/mrz1836/mage-x/cmd/magex@latestView all build commands
magex helpRepository Features
This repository includes 25+ built-in features covering CI/CD, security, code quality, developer experience, and community tooling.
Library Deployment
This project uses goreleaser for streamlined binary and library deployment to GitHub. To get started, install it via:
brew install goreleaserThe release process is defined in the .goreleaser.yml configuration file.
Then create and push a new Git tag using:
magex version:bump push=true bump=patch branch=mainThis process ensures consistent, repeatable releases with properly versioned artifacts and citation metadata.
Pre-commit Hooks
Set up the Go-Pre-commit System to run the same formatting, linting, and tests defined in AGENTS.md before every commit:
go install github.com/mrz1836/go-pre-commit/cmd/go-pre-commit@latest
go-pre-commit installThe system is configured via modular env files in .github/env/ and provides 17x faster execution than traditional Python-based pre-commit hooks. See the complete documentation for details.
GitHub Workflows
All workflows are driven by modular configuration in .github/env/ — no YAML editing required.
Updating Dependencies
To update all dependencies (Go modules, linters, and related tools), run:
magex deps:updateThis command ensures all dependencies are brought up to date in a single step, including Go modules and any tools managed by MAGE-X. It is the recommended way to keep your development environment and CI in sync with the latest versions.
About spv-wallet-web-backend
The spv-wallet-web-backend is an HTTP server that serves as the referential backend server for a custodial web wallet for Bitcoin SV (BSV). It integrates and utilizes the spv-wallet component to handle various BSV-related operations, including the creation of transactions and listing incoming and outgoing transactions.
For in-depth information and guidance, please refer to the SPV Wallet Documentation.
Endpoints Documentation
For endpoints documentation you can visit swagger which is exposed on port 8180 by default.
http://localhost:8180/swagger/index.html
Development with Taskfile
To simplify the development process we use Taskfile.
Task offers many installation methods. Check out the available methods on the installation documentation page.
List all tasks:
taskInstall missing tools:
task installInstall git hooks (ensures tests pass and linter is clean before git push):
task git-hooks:installStart application (with all code checks):
task startRun application (without checks):
task runRun verification:
task verifyRun static code check:
task verify:checkRun tests:
task testAll unit tests and examples run via GitHub Actions and use Go version 1.25.x. View the configuration file.
Run all tests (fast):
magex testRun all tests with race detector (slower):
magex test:raceRun the Go benchmarks:
magex benchRead more about this Go project's code standards.
Read the AI Usage & Assistant Guidelines for details on how AI is used in this project and how to interact with AI assistants.
![]() |
![]() |
![]() |
|---|---|---|
| Siggi | Dylan | MrZ |
View the contributing guidelines and please follow the code of conduct.
All kinds of contributions are welcome 🙌! The most basic way to show your support is to star 🌟 the project, or to raise issues 💬.


