Skip to content
arkade-osPublic

About

The Arkade SDK is a TypeScript library for building Bitcoin wallets and execute Bitcoin contracts.

Resources

Contributing

Security policy

Stars

48 stars

Watchers

3 watching

Forks

Repository files navigation

Arkade Monorepo

TypeScript packages for the Arkade Bitcoin wallet ecosystem: onchain and offchain wallets via Arkade, and Arkade Intents asset swaps.

Packages

Package Description
@arkade-os/sdk Bitcoin wallet SDK with Taproot and Arkade support
@arkade-os/swap Client-side Arkade Intents asset swaps: state a route, get an outcome — pay, receive, exchange

The regtest/ directory is a shared regtest environment, vendored as the arkade-regtest git submodule.

Prerequisites

  • Node.js >= 24.22.1 < 27 (LTS; see .nvmrc)
  • pnpm >= 10.25.0 < 11
corepack enable
git submodule update --init
pnpm install

Commands

pnpm run build            # Build all packages (sdk first, then the plugins)
pnpm test                 # Run all unit and integration tests
pnpm run test:unit        # Run unit tests across packages
pnpm run test:integration # Run integration tests across packages against regtest
pnpm run lint             # Check formatting (biome)

Running a single test

# Single file
pnpm -C packages/sdk vitest run test/wallet.test.ts

# Single test by name
pnpm -C packages/sdk vitest run -t "test name pattern"

Integration tests

Integration tests run against the shared regtest stack; pnpm run test:integration cycles every package's suite (sdk, swap, and the swap RFQ profile) end-to-end. See CONTRIBUTING.md for per-package stack control, running selected test files, and how CI fans the sdk e2e suite out across parallel groups.

Documentation

TypeDoc-generated API docs for @arkade-os/sdk are written to the repo-root docs/ directory (the source for arkade-os.github.io/ts-sdk).

pnpm -C packages/sdk run docs:build   # Build into ./docs at the repo root
pnpm -C packages/sdk run docs:open    # Open ./docs/index.html (macOS `open`)

After regenerating, sanity-check that source links in the generated HTML point to monorepo-style paths (e.g. packages/sdk/src/...) before publishing.

Releasing

Releases run from the repository root and are package-scoped (sdk, swap, or all), each with its own version and tag. Releasing sdk also bumps the dependents (swap), so they never stay pinned to a stale SDK:

pnpm run release -- sdk patch           # SDK + dependent swap patch
pnpm run release:dry-run -- sdk patch   # Preview the plan without changing files
pnpm run release:cleanup                # Restore manifests, delete local tags

workspace:* dependencies are replaced with the workspace package's exact version when a package is published. If a dependent starts using a newly released SDK API, release the SDK first and the dependent second; otherwise the dependent can be published with an older, incompatible SDK pin.

See CONTRIBUTING.md for all targets, bump types, prerelease flags, and cleanup behavior.

More

License

MIT

About

The Arkade SDK is a TypeScript library for building Bitcoin wallets and execute Bitcoin contracts.

Resources

Contributing

Security policy

Stars

48 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages