Skip to content

Open-source, Golang-based blockchain wallet service with secure, scalable, API-driven asset management. Docker containerized for easy integration.

License

Notifications You must be signed in to change notification settings

fortesenselabs/blockapiwallet

Repository files navigation

BlockAPIWallet

BlockAPIWallet is an open-source, enterprise-grade blockchain wallet-as-a-service solution. It offers a secure, scalable, and API-driven platform for managing digital assets across multiple blockchains. Developed in Golang and based on trust-wallet wallet-core, BlockAPIWallet provides robust features and seamless integration with various blockchain networks.

Features

  • Enterprise-Grade Security: Utilizes MPC (Multi-Party Computation) technology for secure key management.
  • API-Driven: Comprehensive APIs for creating and managing accounts, addresses, and transactions.
  • Multi-Blockchain Support: Compatible with multiple blockchains including Bitcoin, Ethereum, Tron, Binance Smart Chain, Polygon, Solana, and more.
  • Docker Containerized: Easily deployable in a Docker container for seamless integration with your infrastructure.
  • Customizable Policies: Configure withdrawal, approval, and collection policies to meet your organization's needs.
  • Smart Contract Interaction: Generate and deploy gasless smart contract addresses on supported chains.

Getting Started

Prerequisites

  • Docker
  • Golang (1.16+)
  • Make sure you have your preferred blockchain node(s) set up and accessible.

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/BlockAPIWallet.git
    cd BlockAPIWallet
  2. Build and run the Docker container:

    docker build -t blockapiwallet .
    docker run -d -p 8080:8080 blockapiwallet
  3. Configure environment variables:

    Create a .env file in the root directory with your configuration settings:

    PUBLIC_KEY=your_public_key
    SECRET_KEY=your_secret_key
    NODE_URL=your_blockchain_node_url

Usage

  • Authentication:

    Use the public and secret keys to authenticate API requests. Concatenate them in the format {public_key:secret_key}, encode in base64, and include in the Authorization header.

  • API Endpoints:

    • Create Account:

      POST /api/v1/accounts
    • Generate Address:

      POST /api/v1/addresses
    • Transfer Funds:

      POST /api/v1/transactions

    Refer to the API Documentation for a complete list of endpoints and usage instructions.

Configuration

  • Supported Blockchains:

    BlockAPIWallet supports multiple blockchains, with more being added continuously. Check the configuration file for the list of currently supported blockchains.

  • Policies:

    Customize your policies for withdrawals, approvals, and collections by modifying the config/policies.json file.

Contributing

We welcome contributions from the community. Please read our Contributing Guidelines before submitting a pull request.

License

BlockAPIWallet is licensed under the MIT License. See the LICENSE file for more details.

Contact

For questions, issues, or feature requests, please open an issue on GitHub or contact us at [email protected].


BlockAPIWallet - Secure, Scalable, and API-Driven Blockchain Wallet Solution.

About

Open-source, Golang-based blockchain wallet service with secure, scalable, API-driven asset management. Docker containerized for easy integration.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published