You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/get-started/choose-your-stack.md
+20Lines changed: 20 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,6 +21,9 @@ Browser app using a user's wallet?
21
21
Backend agent with its own key?
22
22
-> @bsv/simple/server
23
23
24
+
Coming from another chain and want to build transactions explicitly?
25
+
-> @bsv/wallet-helper
26
+
24
27
Wallet implementation or wallet infrastructure?
25
28
-> @bsv/wallet-toolbox + BRC-100 spec
26
29
@@ -51,6 +54,22 @@ console.log(result.txid)
51
54
52
55
The web app does not hold private keys. The wallet client finds an available substrate and forwards BRC-100 calls to the user's wallet application.
53
56
57
+
## Transaction Builder
58
+
59
+
Use `@bsv/wallet-helper` when you want to construct transactions directly, but you do not want to drop all the way into raw `WalletClient.createAction` and `signAction` calls.
60
+
61
+
This is often the clearest starting point for developers coming from other blockchain stacks: you can think in terms of explicit transaction outputs, scripts, ordinals, metadata, inputs, and change, while the user's BRC-100 wallet still controls keys and signing.
62
+
63
+
```bash
64
+
npm install @bsv/wallet-helper
65
+
```
66
+
67
+
Read this with the BRC-100 method reference when you need to understand what the builder sends to the wallet:
Copy file name to clipboardExpand all lines: docs/get-started/concepts.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@ BRC-100 is the wallet-to-application interface. Application code can ask for act
23
23
Two common substrates use the same method surface:
24
24
25
25
-**BSV Desktop**: a web app calls a wallet client; the request reaches a localhost wallet server; BSV Desktop selects outputs, signs locally, optionally uses Wallet Infra, and returns the result.
26
-
-**BSV Browser**: the web app runs inside an embedded browser; the request crosses a postMessage bridge into the native mobile wallet; signing happens on-device and the result returns over the bridge.
26
+
-**BSV Browser**: the web app runs inside an embedded browser; the request crosses a postMessage bridge into the native mobile wallet; wallet state comes from a local database, signing happens on-device, and the result returns over the bridge.
27
27
28
28
For a method-level contract, link directly to [BRC-100 Wallet Interface](../specs/brc-100-wallet.md). For example: [`createAction`](../specs/brc-100-wallet.md#createaction), [`signAction`](../specs/brc-100-wallet.md#signaction), [`internalizeAction`](../specs/brc-100-wallet.md#internalizeaction), and [`listOutputs`](../specs/brc-100-wallet.md#listoutputs).
Copy file name to clipboardExpand all lines: docs/get-started/index.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,6 +22,8 @@ npm install @bsv/simple
22
22
23
23
Use `@bsv/sdk` directly only when you need protocol-level control over keys, scripts, transactions, BEEF, BUMP, or the raw BRC-100 `WalletClient`.
24
24
25
+
If you are coming from another blockchain stack and want to build transactions explicitly, start with [`@bsv/wallet-helper`](../packages/helpers/wallet-helper.md). It is more technical than `@bsv/simple`, but easier to work with than direct `WalletClient.createAction` and `signAction` calls.
26
+
25
27
## Step 2: Connect to a User Wallet
26
28
27
29
Browser apps use `@bsv/simple/browser`. Under the hood it creates a BRC-100 wallet client and discovers an available wallet substrate such as BSV Desktop over localhost or BSV Browser over a postMessage bridge.
@@ -100,6 +102,7 @@ Do not generate and discard a production private key at runtime. Persist it in y
100
102
| Need | Read |
101
103
|------|------|
102
104
| Pick packages by use case |[Choose Your Stack](./choose-your-stack.md)|
105
+
| Build explicit transactions with a wallet |[@bsv/wallet-helper](../packages/helpers/wallet-helper.md)|
103
106
| Understand BEEF, wallets, overlays, and BRC-100 |[Key Concepts](./concepts.md)|
104
107
| See every BRC-100 method shape |[BRC-100 Wallet Interface](../specs/brc-100-wallet.md)|
105
108
| Build a wallet or wallet-like implementation |[@bsv/wallet-toolbox](../packages/wallet/wallet-toolbox.md)|
Copy file name to clipboardExpand all lines: docs/index.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,6 +28,7 @@ This repository is the TypeScript reference stack for BSV application developmen
28
28
| You are | Use first | Why |
29
29
|---------|-----------|-----|
30
30
| Web application developer |[`@bsv/simple/browser`](./get-started/index.md)| Connects to a local BRC-100 wallet without putting keys in app code. |
31
+
| Developer coming from another chain |[`@bsv/wallet-helper`](./packages/helpers/wallet-helper.md)| Builds explicit transactions with a fluent builder while the wallet keeps keys and signing. |
31
32
| Backend or automation developer |[`@bsv/simple/server`](./get-started/choose-your-stack.md#server-agent-automated-self-custodial)| Runs a self-custodial server wallet from a private key and storage endpoint. |
32
33
| Wallet developer |[`@bsv/wallet-toolbox`](./packages/wallet/wallet-toolbox.md)| Reference components for building a BRC-100 wallet. |
> Fluent transaction builder and wallet-compatible script templates for BSV — construct multi-output transactions (P2PKH, ordinals, custom) with method chaining, BRC-29 key derivation, and no private key exposure.
21
21
22
+
`@bsv/wallet-helper` is a good starting point for developers coming from other blockchain ecosystems who expect to build transactions explicitly. It gives you a transaction-builder shape for outputs, scripts, ordinals, metadata, inputs, and change, while still delegating keys and signing to a BRC-100 wallet.
23
+
24
+
Use it when `@bsv/simple` feels too task-oriented, but raw `@bsv/sdk``WalletClient.createAction` / `signAction` calls are more protocol surface than you want to handle directly.
0 commit comments