Skip to content

Default feeModel is 1 sat/KB — below the 100 every ARC endpoint requires, so default txs don't get mined #180

@kryp2

Description

@kryp2

StorageProvider.defaultOptions() sets feeModel: { model: 'sat/kb', value: 1 }, but both ARC endpoints the library ships with currently require 100 sat/KB:

curl -s https://arc.taal.com/v1/policy       | jq .policy.miningFee  → {"satoshis":100,"bytes":1000}
curl -s https://arc.gorillapool.io/v1/policy | jq .policy.miningFee  → {"satoshis":100,"bytes":1000}

(queried 2026-06-04)

So a wallet created with defaults broadcasts at 1 sat/KB and the transaction silently sits unmined — no rejection is surfaced, which makes it easy to ship unknowingly.

Path: packages/wallet/wallet-toolbox/src/storage/StorageProvider.ts (defaultOptions()), read by createAction via storage.feeModel.

Suggested fix: default to the broadcaster's live policy via GET /v1/policy (policy.miningFee), the way py-sdk's LivePolicy fee model does — that tracks whatever each endpoint enforces. Minimum: bump the default to 100 sat/KB.

Happy to open a PR.

Metadata

Metadata

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions