Automation Platform Wallet

Wallet

The Botmain Wallet is engineered as a secure, cross-chain wallet enabling the seamless transfer of assets across diverse blockchain networks and between both centralized and decentralized exchanges.

When running automated strategies on centralized exchanges, Botmain is able to place trades on your behalf using your exchange API keys. When running automated strategies on decentralized exchanges, it's neccesary to sign and track every blockchain transaction.

Functioning as the custodian for automated strategy executions, the wallet has the capability to auto-sign trades for strategies in operation, providing efficiency and speed. For those who prefer a hands-on approach, the wallet can also be configured to send trade notifications to your mobile device, requiring your confirmation before executing trades on behalf of your automated strategies.

With security as its cornerstone, the Botmain Wallet is designed to ensure that all your data remains under your control—stored locally and encrypted with your unique password. This password is only used to decrypt your data on your machine and is never transmitted anywhere, reinforcing that only you can access your keys, code, or intellectual property.

Whether you're running strategies live or deploying new ones, the Botmain Wallet stands as your trusted partner, safeguarding your digital assets while providing a direct link to the dynamic world of trading automation.

Add accounts from centralized and decentralized exchanges

See them all in one place

Move assets between centralized and decentralized exchanges.

Access your wallet programatically from your automated trading strategies.

import { Inject, InstrumentProcessorBase } from "@botmain/common";
import { WalletManager } from '@botmain/wallet';
import { Order } from "@botmain/execution";

export class InstrumentProcessor extends InstrumentProcessorBase {
  static display = "Trend Trader";

  @Inject() orderProcessor: OrderProcessor;
  @Inject() walletManager: WalletManager;

  async onOrderSubmitted(order: Order) {
    try(await this.walletManager.waitForMobileApproval(order)) { 
        this.orderProcessor.orderApproved(order);
    } catch(ex: ExecutionApprovalException) {
        console.log('Mobile wallet decline this order', ex);
    }
  }
}

For more information on accessing wallet information from within your trading strategies see the @botmain/wallet API Reference