Swapper CLI is a simple example of how to build a command-line interface tool using the Garden SDK. This tool lets you swap between WBTC (Wrapped Bitcoin) and BTC (Bitcoin) directly from your terminal. For a step-by-step guide on how this CLI was built, refer to the CLI tool with Garden SDK guide.
Disclaimer: This example is meant to help you get started with the Garden SDK. It is not a complete or optimized tool and does not follow all best practices.
git clone https://github.com/gardenfi/swapper-cli
cd swapper-cli
bun install
bun link
bun link swapper
The API_KEY is used for initializing the ETHEREUM_PROVIDER.
// File: src/index.ts
// Part of the code that does the initialization
const API_KEY = readFileSync(join(homedir(), ".swapper_api_key"),"utf-8");
const RPC_PROVIDER_URL = `https://sepolia.gateway.tenderly.co/${API_KEY}`;
const ETHEREUM_PROVIDER = new JsonRpcProvider(RPC_PROVIDER_URL);
Note: Here we are using Tenderly as an RPC Provider.
- Go to the Tenderly Dashboard.
- Navigate to Node RPCs.
- Click Create Node & Sepolia as your network.
chmod +x setup_key.sh
./setup_key.sh <API_KEY>
Creating an evm wallet
swapper createevmwallet --privatekey=<PRIVATE_KEY>
Creating a bitcoin wallet
swapper createbitcoinwallet --privatekey=<PRIVATE_KEY>
To swap between WBTC
to BTC
, you can use swapwbtctobtc
swapper swapwbtctobtc --amount=0.0001
To swap between BTC
to WBTC
, you can use swapbtctowbtc
swapper getdetails
A utility command useful for looking up the $HOME/.swapper_config.json
file.