The Go Wallet SDK is a powerful, blockchain-agnostic development toolkit designed for developers building decentralized applications (dApps) in Go. Whether you're working on Web3 wallets, exchanges, or backend transaction services, this lightweight and secure SDK enables offline key generation, address creation, transaction signing, and cross-chain interoperability—all within the robust Go ecosystem.
Built with modularity and scalability in mind, the SDK supports a wide range of blockchains including Bitcoin, Ethereum, Cosmos, Solana, Polkadot, and more. It abstracts complex cryptographic operations into easy-to-use functions while maintaining full control over private keys—ensuring maximum security and compliance with best practices.
Why Use the Go Wallet SDK?
In today’s rapidly evolving Web3 landscape, developers need reliable tools that streamline integration across multiple chains without sacrificing performance or security. The Go Wallet SDK delivers:
- ✅ Offline transaction signing – Never expose your private keys to external networks.
- ✅ Multi-chain support – Unified interface across diverse blockchain architectures.
- ✅ Lightweight & dependency-safe – Minimal footprint ideal for production environments.
- ✅ Open-source & auditable – Transparent codebase hosted on GitHub for community review.
Whether you're building a custodial wallet service, a payment gateway, or an automated DeFi strategy executor, this SDK provides the foundation you need.
👉 Discover how to integrate secure wallet functionality in minutes
Installation & Setup
To begin using the Go Wallet SDK, install it via go get
. The SDK uses a modular design: a core crypto package and individual coin-specific modules.
Install Core Package
go get github.com/okx/go-wallet-sdk/crypto
This includes essential cryptographic utilities such as:
- BIP39 mnemonic generation and seed derivation
- BIP32 hierarchical deterministic (HD) wallet support
- ECDSA and Ed25519 signature algorithms
- SHA256, Keccak256 hashing
- Base58, Base64 encoding/decoding
Install Chain-Specific Modules
Each blockchain has its own module for precise transaction handling.
Ethereum & EVM Chains
go get github.com/okx/go-wallet-sdk/coins/ethereum
Supports all EVM-compatible networks: Polygon, Arbitrum, Optimism, zkSync Era, Avalanche C-Chain, and over 30 others.
Bitcoin & UTXO-Based Chains
go get github.com/okx/go-wallet-sdk/coins/bitcoin
Includes support for BTC, BCH, BSV, LTC, DOGE, and testnet variants like TBTC.
Cosmos Ecosystem
go get github.com/okx/go-wallet-sdk/coins/cosmos
Supports Atom, Osmosis, Juno, Kava, Evmos, and other Cosmos SDK-based chains.
Other available modules:
aptos
,eos
,flow
,near
,polkadot
,solana
,stacks
,starknet
,sui
,tron
,zkspace
Each module follows consistent naming patterns and function signatures for smoother cross-chain development.
Core Features & Capabilities
Cryptographic Utilities (crypto
)
The foundation of any secure wallet system lies in cryptography. The crypto
package offers battle-tested implementations of:
- BIP39 Mnemonics: Generate 12/24-word recovery phrases from cryptographically secure randomness.
- BIP32 HD Paths: Derive child keys using standard derivation paths (e.g.,
m/44'/60'/0'/0/0
). - Signature Schemes: Full support for both ECDSA (secp256k1) and Ed25519 algorithms.
- Message Signing: Sign arbitrary data securely for authentication or challenge-response protocols.
These utilities are chain-agnostic and serve as building blocks for all higher-level modules.
Chain-Specific Transaction Handling
Each coin module implements standardized functions tailored to the underlying blockchain's protocol.
Function | Purpose |
---|---|
NewAddress() | Generate a public address from a private key |
SignTransaction() | Sign raw transactions offline |
SignMessage() | Sign arbitrary messages for identity verification |
Transfer() | Build and sign token/native asset transfers |
For UTXO chains like Bitcoin, additional PSBT (Partially Signed Bitcoin Transaction) tools are included via GenerateUnsignedPSBTHex
.
👉 See real-world examples of transaction signing across 20+ chains
Supported Blockchains & Derivation Paths
The SDK currently supports over 60 blockchain networks across 15+ ecosystems. Below is a summary of major supported chains and their BIP44-compliant derivation paths:
Bitcoin Family
Chain | Derivation Path |
---|---|
BTC (Legacy) | m/44'/0'/0'/0/0 |
BTC (SegWit) | m/49'/0'/0'/0/0 |
BTC (Bech32) | m/84'/0'/0'/0/0 |
LTC | m/44'/2'/0'/0/0 |
DOGE | m/44'/3'/0'/0/0 |
Ethereum & EVM-Compatible Networks
All EVM chains use: m/44'/60'/0'/0/0
Includes:
- Ethereum Mainnet & Testnets (Goerli, Sepolia)
- Polygon, Arbitrum, Optimism
- zkSync Era, Linea, Mantle
- BNB Smart Chain, Avalanche C-Chain
Cosmos SDK Chains
Most use: m/44'/118'/0'/0/0
Exceptions:
- Kava:
m/44'/459'/0'/0/0
- Secret Network:
m/44'/529'/0'/0/0
- Terra Classic:
m/44'/330'/0'/0/0
Other Major Chains
Chain | Path |
---|---|
Solana | m/44'/501'/0'/0/0 |
Aptos | m/44'/637'/0'/0/0 |
SUI | m/44'/784'/0'/0/0 |
TRON | m/44'/195'/0'/0/0 |
EOS/WAX | m/44'/194'/0'/0/0 |
This standardized structure simplifies multi-wallet onboarding and improves user experience.
Use Cases & Integration Scenarios
1. Custodial Wallet Backend
Use the SDK to generate cold-storage wallets and sign outgoing transactions without ever exposing keys to the internet.
2. Web3 Payment Processor
Accept payments in multiple cryptocurrencies by decoding incoming transfers and validating addresses server-side.
3. Automated DeFi Strategies
Schedule and execute trades or yield farming actions across EVM chains using pre-funded smart wallets.
4. NFT Minting Platforms
Integrate Flow or Solana modules to enable batch NFT minting with server-side signing.
5. Cross-Chain Bridges
Normalize transaction formats across chains and facilitate secure asset locking/unlocking logic.
Testing & Validation
Comprehensive test cases are included in each module’s /tests
directory on GitHub. These cover:
- Address derivation consistency
- Signature verification against known vectors
- PSBT assembly correctness
- Message signing compatibility with popular wallets
Running these tests ensures your implementation adheres to network standards and avoids subtle bugs in production.
Developers are encouraged to write unit tests for their integrations using mock private keys and known output vectors.
Frequently Asked Questions (FAQ)
Q: Can I use this SDK in a browser environment?
A: No. This is a Go-based server-side SDK intended for backend services. For frontend applications, consider using JavaScript-based libraries instead.
Q: Is private key storage handled by the SDK?
A: No. The SDK only performs cryptographic operations. You must securely manage key storage using HSMs, encrypted databases, or external vaults.
Q: Does it support hardware wallet integration?
A: Not directly. However, you can use the SDK to prepare unsigned transactions and pass them to hardware devices via custom connectors.
Q: How often is new chain support added?
A: New chains are added regularly based on community demand and ecosystem growth. Check the GitHub repository for updates.
Q: Are there rate limits or API keys required?
A: None. Since all operations are local and offline, there are no usage restrictions or authentication requirements.
Q: Can I contribute to the project?
A: Yes! The SDK is open-source. Contributions for new features, bug fixes, and documentation improvements are welcome via GitHub pull requests.
Final Thoughts
The Go Wallet SDK empowers developers to build scalable, secure, and interoperable Web3 infrastructure using one of the most performant programming languages available. With native support for dozens of blockchains and clean, modular APIs, it significantly reduces development time while enhancing reliability.
As decentralized systems continue to grow in complexity, having a trusted foundation for wallet operations becomes critical—and this SDK delivers exactly that.