The Go Wallet SDK is a robust, open-source toolkit designed for developers building applications that interact with various blockchain networks. Written in Go, this SDK provides essential cryptographic functions, key management capabilities, and transaction signing operations that can be performed offline, making it a secure foundation for wallet integration, decentralized exchanges (DEX), and other Web3 infrastructure.
Overview of the Go Wallet SDK
This SDK serves as a comprehensive solution for handling blockchain-related operations across multiple networks. Its modular architecture allows developers to integrate support for specific cryptocurrencies while utilizing a common set of core cryptographic functions. The toolkit enables secure private key generation, address creation, transaction assembly, and digital signing without requiring an internet connection, enhancing security for sensitive operations.
Currently, the SDK supports numerous major blockchain networks, with ongoing development to include additional platforms. Each cryptocurrency implementation is contained within its own module, providing focused functionality while maintaining consistency across the entire ecosystem.
Supported Integration Platforms
As a Go-based SDK, it can be seamlessly integrated into various application types:
- Web applications and backend services
- Mobile applications (through Go mobile bindings)
- Desktop applications and command-line tools
- Blockchain nodes and infrastructure components
Installation and Setup
Installing with Go Get
To begin using the Go Wallet SDK, install it using the standard Go package management tools. The SDK offers both general-purpose packages that work across all supported cryptocurrencies and individual coin-specific modules.
Install the core package:
go get github.com/okx/go-wallet-sdkFor Ethereum-specific functionality:
go get github.com/okx/go-wallet-sdk/coins/ethereumFor Bitcoin-specific functionality:
go get github.com/okx/go-wallet-sdk/coins/bitcoinCore Features and Capabilities
The SDK is organized into two primary component categories:
Cryptographic Foundation (crypto package)
This foundational module implements essential cryptographic algorithms and standards required for blockchain operations:
- BIP32 functions: Handling hierarchical deterministic wallets and key derivation
- BIP39 functions: Mnemonic phrase generation, private key derivation, and message signing
- Common hashing and encoding: SHA256, Base64, and other essential algorithms
- ED25519 functions: Operations for the Ed25519 signature scheme
- ECDSA functions: Elliptic Curve Digital Signature Algorithm implementations
Install the crypto package:
go get github.com/okx/go-wallet-sdk/cryptoBlockchain-Specific Modules (coins package)
This collection contains individual modules for each supported blockchain, providing coin-specific transaction building and signing methods. Each module offers tailored functionality for its respective network while maintaining a consistent API structure.
Supported Blockchain Modules
Aptos SDK
The Aptos module provides comprehensive support for the Aptos blockchain, including key generation, address derivation, and transaction processing.
Supported transaction types include: "transfer", "tokenTransfer", "tokenMint", "tokenBurn", "tokenRegister", "dapp", "simulate", "offerNft", "claimNft", "offerNft_simulate", and "claimNft_simulate".
Key functions:
NewAddress: Generates addresses from private keysValidateAddress: Verifies address validitySignRawTransaction: Signs raw transactions
Bitcoin SDK
This module supports Bitcoin mainnet and testnet, along with BSV, DOGE, LTC, and TBTC. It provides comprehensive Bitcoin-style transaction handling.
Key functions:
NewAddress: Derives addresses from private keysSignTx: Signs transactionsGenerateUnsignedPSBTHex: Creates Partially Signed Bitcoin Transactions
Cosmos SDK
Supporting the Cosmos ecosystem, this module works with ATOM, Axelar, Cronos, Evmos, Iris, Juno, Kava, Kujira, Osmos, Secret, Sei, Stargaze, and Terra.
Key functions:
NewAddress: Creates addresses from private keysTransfer: Signs transfer transactionsSignMessage: Signs arbitrary messages
Ethereum SDK
This module supports Ethereum and all EVM-compatible networks including Arbitrum, Avalanche, BNB Chain, Polygon, Optimism, and many others.
Key functions:
NewAddress: Generates Ethereum-style addressesSignTransaction: Signs Ethereum transactionsSignMessage: Signs Ethereum-specific messages
Additional Supported Networks
The SDK also includes modules for:
- EOS SDK: Supporting EOS and WAX networks
- Flow SDK: For Flow blockchain integration
- Near SDK: NEAR protocol implementation
- Polkadot SDK: Polkadot and substrate-based chains
- Solana SDK: Solana blockchain functions
- Stacks SDK: Stacks blockchain support
- StarkNet SDK: StarkNet integration
- Sui SDK: Sui blockchain module
- Tron SDK: Tron network support
- ZKSpace SDK: ZK-Rollup solutions including ZKSync
Each module follows a consistent pattern, providing address generation, transaction signing, and network-specific functionality tailored to each blockchain's unique characteristics.
Testing and Quality Assurance
Comprehensive test suites are available for each module in the respective tests directory on GitHub. These tests demonstrate proper usage of each function and provide working examples for developers implementing the SDK.
👉 Explore practical implementation examples
Supported Cryptocurrencies and Derivation Paths
The SDK supports an extensive range of cryptocurrencies with appropriate BIP44-derived paths:
| Blockchain Family | Supported Assets | Standard Derivation Path |
|---|---|---|
| Bitcoin Family | BTC, BCH, BSV, LTC, DOGE, TBTC | Various paths including m/44'/0'/0'/0/0 |
| Ethereum & EVM | ETH, Arbitrum, Avalanche, BSC, Polygon, Optimism, etc. | m/44'/60'/0'/0/0 |
| Cosmos Ecosystem | ATOM, Osmos, Evmos, Juno, Kava, Secret, etc. | Various paths including m/44'/118'/0'/0/0 |
| Other Networks | Aptos, EOS, Solana, Stacks, StarkNet, Sui, Tron, etc. | Network-specific paths |
Frequently Asked Questions
What is the Go Wallet SDK primarily used for?
The Go Wallet SDK is designed for developers building applications that need to interact with blockchain networks. It provides secure, offline-capable cryptographic operations, key management, transaction construction, and signing capabilities for multiple cryptocurrencies. Typical use cases include wallet applications, exchange integrations, and blockchain service infrastructure.
How does the SDK ensure security during private key operations?
The SDK is designed to perform all sensitive operations offline, eliminating network-based vulnerabilities during key generation and transaction signing. It utilizes well-audited cryptographic implementations and follows industry standards for key derivation and management. Additionally, the modular architecture allows developers to isolate specific functionality based on their security requirements.
Can I use multiple blockchain modules simultaneously?
Yes, the SDK's modular design allows developers to integrate support for multiple blockchains within a single application. Each module is self-contained while sharing common cryptographic foundations, making it efficient to support diverse cryptocurrency ecosystems without code duplication or compatibility issues.
What level of technical expertise is required to implement this SDK?
Implementing the SDK requires intermediate to advanced knowledge of Go programming and basic understanding of blockchain concepts. Developers should be familiar with cryptographic principles like public-key cryptography, digital signatures, and hierarchical deterministic wallets. The comprehensive documentation and test cases help accelerate the learning curve.
How frequently is the SDK updated with new blockchain support?
The development team regularly adds support for new blockchain networks and maintains existing integrations. The open-source nature of the project allows community contributions and ensures timely updates for emerging blockchain standards and protocol changes.
Where can I find detailed implementation examples for specific use cases?
The GitHub repository contains extensive test cases and examples for each module, demonstrating practical implementations of various functionalities. These resources provide working code samples that developers can adapt to their specific requirements. 👉 Access detailed implementation guides