← 返回 Skills 市场
tiero

Bitcoin and Tether on Arkade

作者 tiero · GitHub ↗ · v1.0.2
cross-platform ✓ 安全检测通过
1367
总下载
3
收藏
0
当前安装
3
版本数
在 OpenClaw 中安装
/install arkade-wallet
功能描述
Send and receive Bitcoin over Arkade (offchain), onchain (via onboard/offboard), and Lightning. Swap USDC/USDT stablecoins.
使用说明 (SKILL.md)

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 init
pnpm dlx @arkade-os/skill address

# Using npx
npx -y -p @arkade-os/skill arkade init
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 init
arkade address

As a dependency

npm install @arkade-os/skill
# or
pnpm add @arkade-os/skill

CLI Commands

Note: Examples below use arkade directly (assumes global install). For pnpm: pnpm dlx @arkade-os/skill \x3Ccommand> For npx: npx -y -p @arkade-os/skill arkade \x3Ccommand>

Wallet Management

# Initialize wallet (auto-generates private key, default server: arkade.computer)
arkade init

# Initialize with custom server
arkade init 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 \x3Cark-address> \x3Camount-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 \x3Cbtc-address>

# Example: Pay someone at bc1 address
arkade offboard bc1qxyz...

Lightning Network

# Create a Lightning invoice to receive payment
arkade ln-invoice \x3Camount-sats> [description]

# Example: Create invoice for 25,000 sats
arkade ln-invoice 25000 "Coffee payment"

# Pay a Lightning invoice
arkade ln-pay \x3Cbolt11-invoice>

# Show swap fees
arkade ln-fees

# Show swap limits
arkade ln-limits

# Show pending swaps
arkade ln-pending

Stablecoin Swaps (LendaSwap)

# Get quote for BTC to stablecoin swap
arkade swap-quote \x3Camount-sats> \x3Cfrom> \x3Cto>

# 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 Arkade
  • usdc_pol - USDC on Polygon
  • usdc_eth - USDC on Ethereum
  • usdc_arb - USDC on Arbitrum
  • usdt_pol - USDT on Polygon
  • usdt_eth - USDT on Ethereum
  • usdt_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 });

// 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

Private keys are auto-generated on first use and stored locally. They are never exposed via CLI arguments or stdout. No environment variables required. The LendaSwap API is publicly accessible.

Skill Interfaces

ArkadeBitcoinSkill

  • getArkAddress() - Get Ark address for receiving offchain payments
  • getBoardingAddress() - Get boarding address for receiving onchain payments
  • getBalance() - Get balance breakdown
  • send(params) - Send Bitcoin to Ark address (offchain)
  • getTransactionHistory() - Get transaction history
  • onboard(params) - Get paid onchain: convert onchain BTC to offchain
  • offboard(params) - Pay onchain: send offchain BTC to any onchain address
  • waitForIncomingFunds(timeout?) - Wait for incoming funds

ArkaLightningSkill

  • createInvoice(params) - Create Lightning invoice
  • payInvoice(params) - Pay Lightning invoice
  • getFees() - Get swap fees
  • getLimits() - Get swap limits
  • getPendingSwaps() - Get pending swaps
  • getSwapHistory() - Get swap history
  • isAvailable() - Check if Lightning is available

LendaSwapSkill

  • getQuoteBtcToStablecoin(amount, token) - Quote BTC to stablecoin
  • getQuoteStablecoinToBtc(amount, token) - Quote stablecoin to BTC
  • swapBtcToStablecoin(params) - Swap BTC to stablecoin
  • swapStablecoinToBtc(params) - Swap stablecoin to BTC
  • getSwapStatus(swapId) - Get swap status
  • getPendingSwaps() - Get pending swaps
  • getSwapHistory() - Get swap history
  • getAvailablePairs() - Get available trading pairs
  • claimSwap(swapId) - Claim completed swap
  • refundSwap(swapId) - Refund expired swap

Networks

Arkade supports multiple networks:

  • bitcoin - Bitcoin mainnet
  • testnet - Bitcoin testnet
  • signet - Bitcoin signet
  • regtest - Local regtest
  • mutinynet - Mutiny signet

Support

安全使用建议
What this evaluation means and what to check before installing: - The skill appears to be what it says: an Arkade wallet + Lightning + LendaSwap integration. Its dependencies and code match the described functionality. - Sensitive storage: the CLI auto-generates a private key and stores it in plaintext at ~/.arkade-wallet/config.json (chmod 0600). If an attacker or untrusted process can read your home directory, your funds could be stolen. Consider only installing on a machine you control, or modify the code to encrypt the key or use an external key manager/hardware wallet. - Network calls: the skill contacts external services (default Arkade server, LendaSwap API, Boltz APIs). Those services will receive wallet addresses, swap requests and related metadata — only use the skill if you trust those endpoints. Review the domains and, if possible, configure custom, audited endpoints. - Dependencies: the package relies on @arkade-os/sdk and boltz-swap. If you install from a registry, ensure the package/version provenance is trustworthy (publisher identity, checksums). The included pnpm-lock indicates recorded integrity hashes, which is good when installing from the same source. - Runtime/build: the CLI imports built artifacts from dist; ensure the skill is built or installed via npm/pnpm so runtime imports succeed. Test in a safe environment first. Recommended actions before installing: - Inspect or verify the package published to npm (publisher, integrity hashes). - Run the code in an isolated environment (VM/container) and verify behavior. - Consider modifying the skill to encrypt the private key or use an HSM/hardware wallet, or keep the wallet key offline and only use read-only operations in this environment. - If you allow autonomous agent invocation, be aware the skill can perform on-chain/offchain operations — restrict autonomous use or require user confirmation for funds movements. If you want, I can: (a) show the exact lines where the private key is written and how to change it to encrypted storage, (b) list the external endpoints the skill will call, or (c) provide a short patch to avoid storing the private key in plaintext.
功能分析
Type: OpenClaw Skill Name: arkade-wallet Version: 1.0.2 The OpenClaw AgentSkills skill bundle for 'arkade-wallet' appears benign. It provides legitimate cryptocurrency wallet functionalities (Bitcoin, Lightning, stablecoin swaps) and handles private keys securely by generating them locally and storing them with restrictive file permissions in `~/.arkade-wallet/config.json` (0o600). Network communications are directed to expected endpoints (`arkade.computer`, `apilendaswap.lendasat.com`, `api.ark.boltz.exchange`) for its stated purpose. There is no evidence of intentional data exfiltration, unauthorized command execution, persistence mechanisms, or malicious prompt injection attempts in `SKILL.md` or `README.md`. A minor inconsistency in `README.md` regarding `arkade init <private-key-hex>` is a documentation error, not a security vulnerability or malicious instruction, as the `cli/arkade.mjs` implementation auto-generates keys and does not accept a private key as an argument for `init`.
能力评估
Purpose & Capability
The name/description (Arkade wallet, Lightning, LendaSwap) align with the included code and declared dependencies (@arkade-os/sdk, @arkade-os/boltz-swap). Required binaries/env/configs are minimal and appropriate for a wallet/skill. There are no extraneous credentials or unrelated tools requested.
Instruction Scope
SKILL.md and the CLI/SDK code instruct the agent to create a local wallet, show addresses, perform on/offboarding, Lightning swaps, and call LendaSwap/Boltz/Arkade server APIs. The instructions do not ask the agent to read unrelated system files or credentials, but do direct the agent to contact external endpoints (default server https://arkade.computer, LendaSwap api, Boltz endpoints) and to persist wallet config locally.
Install Mechanism
There is no install spec in the skill manifest (instruction-only path), but the package includes Node source, package.json and a pnpm lockfile. Dependencies are standard npm packages and appear traceable (not arbitrary HTTP downloads). The CLI dynamically imports @arkade-os/sdk and local built artifacts under dist; runtime will require Node modules to be present or installed by the environment.
Credentials
The skill requests no environment variables, which is appropriate. However, it auto-generates and persists the private key in plaintext at ~/.arkade-wallet/config.json (privateKey present in JSON) with file permissions set (0600). Storing private keys unencrypted on disk is sensitive and worth caution. The skill also transmits wallet addresses and swap details to external services (apilendaswap.lendasat.com, arkade.computer, Boltz endpoints) as part of normal operation.
Persistence & Privilege
always:false and the skill does not request elevated platform privileges. It does create and write a persistent config file (~/.arkade-wallet/config.json) containing a plaintext private key and server URL; saving its own config is expected for a wallet but is persistent sensitive state that should be protected by the host environment.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install arkade-wallet
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /arkade-wallet 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.2
- Private key and API key requirements removed; wallet now autogenerates and stores keys locally. - CLI simplified: No need to provide or expose private keys; initialization is automatic. - LendaSwap API is now publicly accessible; no environment variables required. - Updated documentation reflecting these usability and security improvements. - Internal refactoring to support the new configuration and key management model.
v1.0.1
- No code or documentation changes detected in this version. - Version number incremented to 1.0.1.
v1.0.0
Initial release of arkade-wallet skill. - Send and receive Bitcoin offchain (Arkade), onchain (via onboard/offboard), and via Lightning Network. - Swap between Bitcoin (BTC) and stablecoins (USDC, USDT) using LendaSwap. - Supports instant Bitcoin payments, onramp/offramp, and Lightning invoices/payments. - Provides detailed CLI commands, SDK usage examples, and interface documentation. - Requires private key and (for swaps) LENDASWAP_API_KEY environment variable.
元数据
Slug arkade-wallet
版本 1.0.2
许可证
累计安装 0
当前安装数 0
历史版本数 3
常见问题

Bitcoin and Tether on Arkade 是什么?

Send and receive Bitcoin over Arkade (offchain), onchain (via onboard/offboard), and Lightning. Swap USDC/USDT stablecoins. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 1367 次。

如何安装 Bitcoin and Tether on Arkade?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install arkade-wallet」即可一键安装,无需额外配置。

Bitcoin and Tether on Arkade 是免费的吗?

是的,Bitcoin and Tether on Arkade 完全免费(开源免费),可自由下载、安装和使用。

Bitcoin and Tether on Arkade 支持哪些平台?

Bitcoin and Tether on Arkade 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Bitcoin and Tether on Arkade?

由 tiero(@tiero)开发并维护,当前版本 v1.0.2。

💬 留言讨论