Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
6ce43ee
build: use local quicknode-sdk with payment features for development
johnpmitsch Jul 13, 2026
688022b
feat(config): add [rpc.payment] section for the paid RPC lane
johnpmitsch Jul 13, 2026
bc01c72
feat(errors): map payment errors to exit codes with wallet-check guid…
johnpmitsch Jul 13, 2026
d1627ef
feat(context): add keyless Ctx constructor for the paid RPC lane
johnpmitsch Jul 13, 2026
c2aeb02
feat(rpc): crypto-micropayment lane for qn rpc call (--x402/--mpp)
johnpmitsch Jul 13, 2026
b46e57d
test(rpc): integration coverage for the crypto-micropayment lane
johnpmitsch Jul 13, 2026
9c87806
docs: document the paid RPC lane in the agent guide and README
johnpmitsch Jul 13, 2026
8ae231c
feat(rpc): accept network names for --pay-network and refine paid-lan…
johnpmitsch Jul 14, 2026
b8323b6
feat(rpc): qn rpc wallet store for the paid lane
johnpmitsch Jul 16, 2026
71f699c
feat(rpc): --payment-wallet source; drop env-var payment key
johnpmitsch Jul 16, 2026
0b024fc
feat(rpc): qn rpc pay-networks discovery list
johnpmitsch Jul 16, 2026
12c2724
docs(rpc): sync agent guide + README for wallets and pay-networks
johnpmitsch Jul 16, 2026
a55a1a8
feat(rpc): show key file path + local-custody note on wallet generate…
johnpmitsch Jul 17, 2026
3bfcd5a
docs(rpc): working paid-lane examples for x402/MPP EVM and x402 SVM
johnpmitsch Jul 17, 2026
dae28ad
fix(rpc): working paid examples + clearer refusal error
johnpmitsch Jul 17, 2026
949f644
feat(rpc): label wallet show/generate output as Public Key / Private …
johnpmitsch Jul 17, 2026
2240871
feat(rpc): space and style the wallet show/generate output
johnpmitsch Jul 17, 2026
00c84e3
feat(rpc): rename paid-lane flags to --payment-* and accept asset names
johnpmitsch Jul 17, 2026
21ef1b1
feat(rpc): qn rpc x402 credit-drawdown lifecycle
johnpmitsch Jul 17, 2026
7b11106
feat(rpc): qn rpc call --x402-drawdown
johnpmitsch Jul 17, 2026
ab0c188
feat(rpc): qn rpc mpp channel lifecycle + --mpp-session on call
johnpmitsch Jul 17, 2026
3f0736e
docs(rpc): one Micropayments section with four zero-to-call paths
johnpmitsch Jul 17, 2026
edfdbee
docs(rpc): simplify the top-level rpc command description
johnpmitsch Jul 17, 2026
494496f
fix(rpc): correct paid-lane exit codes + stdin guard on drawdown/session
johnpmitsch Jul 17, 2026
076ef09
fix(rpc): x402 drip reports the funding tx; buy-credits takes --network
johnpmitsch Jul 17, 2026
24ad581
feat(rpc): drawdown call needs only a wallet; chained next-command hints
johnpmitsch Jul 17, 2026
11ab91f
feat(rpc): split x402 balance/drip onto a narrower SessionArgs
johnpmitsch Jul 29, 2026
e3a2716
refactor(wallet): promote wallet to a top-level noun
johnpmitsch Jul 29, 2026
b89808e
docs(readme): drop spend flags from x402 drip/balance examples
johnpmitsch Jul 29, 2026
3664609
Formatting updates
johnpmitsch Jul 29, 2026
7c8a507
Review updates
johnpmitsch Jul 30, 2026
6f90d57
Review updates
johnpmitsch Jul 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ Things to verify for each new endpoint:
- **HTTP-noun → CLI-noun-verb**: `admin.get_endpoints` → `qn endpoint list`, `admin.show_endpoint` → `qn endpoint show <ID>`, `admin.update_endpoint_status(id, "paused")` → `qn endpoint pause <ID>` (split the verb out, since the user thinks "pause", not "update status to paused").
- **Aliases**: every list-style command gets `#[command(visible_alias = "ls")]`. Plural top-level nouns get one too (`#[command(visible_alias = "endpoints")]`).
- **Positional value names**: a field named `id` renders as an uninformative `<ID>` in help. Give every positional an explicit, resource-specific `#[arg(value_name = "ENDPOINT_ID")]` (uppercase, underscored: `STREAM_ID`, `WEBHOOK_ID`, `TEAM_ID`, …). Multi-word fields like `referrer_id` already render fine as `<REFERRER_ID>`.
- **Help examples**: every top-level noun's `Args` struct gets `#[command(after_help = "Examples:\n ...")]`; every verb that takes flags or positionals gets one too. Zero-arg verbs may skip it. Use `after_help` (not `after_long_help`) so examples show in both `-h` and `--help`. Style: `Examples:` header, 2-space indent, explicit `\` line continuations for wrapped commands (clap's `wrap_help` is on), canonical fake values (`payer` wallet, `ep-1`, `base-sepolia`), plain ASCII. **Every example is copy-pasteable on its own: show ALL the flags the command needs, every time.** Never show a shortened invocation that relies on config-supplied values, and never mention config fallbacks in example blocks (that includes README and context.md examples — the dedicated config sections document the fallback). No `...` ellipsis in place of flags.
- **Hyphenation**: clap kebab-cases enum variants by default. `RateLimit` → `rate-limit`. Test invocations must use the kebab form (`qn endpoint rate-limit method-create`, not `ratelimit`).
- **Negative numbers**: any `i64` flag that accepts `-1` (`--end`, etc.) needs `#[arg(long, allow_hyphen_values = true)]` or clap will read it as another flag.
- **Multi-value flags**: prefer repeatable `--method foo --method bar` (clap `Vec<String>` with `#[arg(long = "method")]`). Optionally also accept `--methods foo,bar` via a second field with `value_delimiter = ','`. The command body extends one into the other.
Expand Down
Loading
Loading