arkade
1
总安装量
1
周安装量
#55131
全站排名
安装命令
npx skills add https://github.com/arkade-os/skill --skill arkade
Agent 安装分布
amp
1
opencode
1
kimi-cli
1
codex
1
claude-code
1
Skill 文档
Arkade Skill
Send and receive Bitcoin over Arkade (offchain), onchain (via onboard/offboard), and Lightning Network. Swap between BTC and stablecoins (USDC/USDT) via LendaSwap.
Payment methods:
- Offchain (Arkade): Instant transactions between Arkade wallets
- Onchain: Get paid onchain via boarding address (onboard), pay onchain via offboard
- Lightning: Pay and receive via Boltz submarine swaps
Default Server: https://arkade.computer
Installation
Quick Start (no install required)
# Using pnpm (recommended)
pnpm dlx @arkade-os/skill generate
pnpm dlx @arkade-os/skill init <private-key-hex>
pnpm dlx @arkade-os/skill address
# Using npx
npx -y -p @arkade-os/skill arkade generate
npx -y -p @arkade-os/skill arkade init <private-key-hex>
npx -y -p @arkade-os/skill arkade address
Global Install
# Install globally
npm install -g @arkade-os/skill
# or
pnpm add -g @arkade-os/skill
# Then use directly
arkade generate
arkade init <private-key-hex>
arkade address
As a dependency
npm install @arkade-os/skill
# or
pnpm add @arkade-os/skill
CLI Commands
Note: Examples below use
arkadedirectly (assumes global install). For pnpm:pnpm dlx @arkade-os/skill <command>For npx:npx -y -p @arkade-os/skill arkade <command>
Wallet Management
# Generate a new random private key
arkade generate
# Initialize wallet with private key (default server: arkade.computer)
arkade init <private-key-hex>
# Initialize with custom server
arkade init <private-key-hex> https://custom-server.com
# Show Ark address (for receiving offchain Bitcoin)
arkade address
# Show boarding address (for onchain deposits)
arkade boarding-address
# Show balance breakdown
arkade balance
Bitcoin Transactions
# Send sats to an Ark address
arkade send <ark-address> <amount-sats>
# Example: Send 50,000 sats
arkade send ark1qxyz... 50000
# View transaction history
arkade history
Onchain Payments (Onboard/Offboard)
# Get paid onchain: Receive BTC to your boarding address, then onboard to Arkade
# Step 1: Get your boarding address
arkade boarding-address
# Step 2: Have someone send BTC to your boarding address
# Step 3: Onboard the received BTC to make it available offchain
arkade onboard
# Pay onchain: Send offchain BTC to any onchain Bitcoin address
arkade offboard <btc-address>
# Example: Pay someone at bc1 address
arkade offboard bc1qxyz...
Lightning Network
# Create a Lightning invoice to receive payment
arkade ln-invoice <amount-sats> [description]
# Example: Create invoice for 25,000 sats
arkade ln-invoice 25000 "Coffee payment"
# Pay a Lightning invoice
arkade ln-pay <bolt11-invoice>
# Show swap fees
arkade ln-fees
# Show swap limits
arkade ln-limits
# Show pending swaps
arkade ln-pending
Stablecoin Swaps (LendaSwap)
Requires LENDASWAP_API_KEY environment variable.
# Get quote for BTC to stablecoin swap
arkade swap-quote <amount-sats> <from> <to>
# Example: Quote 100,000 sats to USDC on Polygon
arkade swap-quote 100000 btc_arkade usdc_pol
# Show available trading pairs
arkade swap-pairs
Supported Tokens:
btc_arkade– Bitcoin on Arkadeusdc_pol– USDC on Polygonusdc_eth– USDC on Ethereumusdc_arb– USDC on Arbitrumusdt_pol– USDT on Polygonusdt_eth– USDT on Ethereumusdt_arb– USDT on Arbitrum
SDK Usage
import { Wallet, SingleKey } from "@arkade-os/sdk";
import {
ArkadeBitcoinSkill,
ArkaLightningSkill,
LendaSwapSkill,
} from "@arkade-os/skill";
// Create wallet (default server: arkade.computer)
const wallet = await Wallet.create({
identity: SingleKey.fromHex(privateKeyHex),
arkServerUrl: "https://arkade.computer",
});
// === Bitcoin Operations ===
const bitcoin = new ArkadeBitcoinSkill(wallet);
// Get addresses
const arkAddress = await bitcoin.getArkAddress();
const boardingAddress = await bitcoin.getBoardingAddress();
// Check balance
const balance = await bitcoin.getBalance();
console.log("Total:", balance.total, "sats");
console.log("Offchain available:", balance.offchain.available, "sats");
console.log("Onchain pending:", balance.onchain.total, "sats");
// Send Bitcoin
const result = await bitcoin.send({
address: recipientArkAddress,
amount: 50000,
});
console.log("Sent! TX:", result.txid);
// === Lightning Operations ===
const lightning = new ArkaLightningSkill({
wallet,
network: "bitcoin",
});
// Create invoice
const invoice = await lightning.createInvoice({
amount: 25000,
description: "Coffee payment",
});
console.log("Invoice:", invoice.bolt11);
// Pay invoice
const payment = await lightning.payInvoice({
bolt11: "lnbc...",
});
console.log("Paid! Preimage:", payment.preimage);
// === Stablecoin Swaps ===
const lendaswap = new LendaSwapSkill({
wallet,
apiKey: process.env.LENDASWAP_API_KEY,
});
// Get quote
const quote = await lendaswap.getQuoteBtcToStablecoin(100000, "usdc_pol");
console.log("You'll receive:", quote.targetAmount, "USDC");
// Execute swap
const swap = await lendaswap.swapBtcToStablecoin({
targetAddress: "0x...", // EVM address
targetToken: "usdc_pol",
targetChain: "polygon",
sourceAmount: 100000,
});
console.log("Swap ID:", swap.swapId);
Configuration
Data Storage: ~/.arkade-wallet/config.json
Environment Variables:
LENDASWAP_API_KEY– Required for stablecoin swaps
Skill Interfaces
ArkadeBitcoinSkill
getArkAddress()– Get Ark address for receiving offchain paymentsgetBoardingAddress()– Get boarding address for receiving onchain paymentsgetBalance()– Get balance breakdownsend(params)– Send Bitcoin to Ark address (offchain)getTransactionHistory()– Get transaction historyonboard(params)– Get paid onchain: convert onchain BTC to offchainoffboard(params)– Pay onchain: send offchain BTC to any onchain addresswaitForIncomingFunds(timeout?)– Wait for incoming funds
ArkaLightningSkill
createInvoice(params)– Create Lightning invoicepayInvoice(params)– Pay Lightning invoicegetFees()– Get swap feesgetLimits()– Get swap limitsgetPendingSwaps()– Get pending swapsgetSwapHistory()– Get swap historyisAvailable()– Check if Lightning is available
LendaSwapSkill
getQuoteBtcToStablecoin(amount, token)– Quote BTC to stablecoingetQuoteStablecoinToBtc(amount, token)– Quote stablecoin to BTCswapBtcToStablecoin(params)– Swap BTC to stablecoinswapStablecoinToBtc(params)– Swap stablecoin to BTCgetSwapStatus(swapId)– Get swap statusgetPendingSwaps()– Get pending swapsgetSwapHistory()– Get swap historygetAvailablePairs()– Get available trading pairsclaimSwap(swapId)– Claim completed swaprefundSwap(swapId)– Refund expired swap
Networks
Arkade supports multiple networks:
bitcoin– Bitcoin mainnettestnet– Bitcoin testnetsignet– Bitcoin signetregtest– Local regtestmutinynet– Mutiny signet
Support
- GitHub: https://github.com/arkade-os/skill
- Documentation: https://docs.arkadeos.com