Repository navigation
AgentSwap v0.3.0 — auditable payment intents
Released 2026-10-09.
Payment receipts and safe retries
fetchWithReceipt(url, init, { paymentIntentId })returns the seller response and an audit receipt. Existingfetchstill returns a Response.- Receipts disclose the exact seller option, quoted bridge route, maximum slippage, input/minimum output, estimated fees/gas, funding signature and retry reuse flags.
- The chosen network, asset, amount and seller remain pinned for an intent, including multiple prices on the same chain. No automatic chain fallback.
- A funding signature is journaled before broadcast. Ambiguous outcomes reconcile the original signature instead of starting another bridge.
- Signed x402 authorizations are persisted before sending and reused verbatim on retry; no fresh automatic authorization is generated.
- Optional durable Node intent store, exported at
@agentswap/client/intent-store, supports private atomic journals and per-intent locks across processes. - HTTP/MCP funding plans disclose route, maximum slippage and an explicit stateless retry policy. Their intent IDs are correlation only, not server-side deduplication.
Setup and discovery
- Ready-to-copy configurations for Codex, Claude Code, Cursor, VS Code/Copilot, Cline and Claude Desktop.
- Setup and doctor commands, an MCP onboarding resource and first-quote prompt, plus runnable Node and Python examples.
- Hosted setup guide, generated sitemap, explicit AI crawler rules and Content Signals.
- Markdown content negotiation for the homepage and setup page; HTML remains the browser default.
Upgrade
Existing checkout: git pull --ff-only, then pnpm install --frozen-lockfile && pnpm build. For this exact release, check out tag v0.3.0. A prebuilt agentswap-client-0.3.0.tgz is attached to the GitHub release; the package has not been published to the npm registry.
For payment retries, persist one ID per purchase and configure a durable intent store. Without an ID, each fetch starts a new intent; the default in-memory store does not survive process restarts. Custom stores need durable writes and per-intent locking. A crashed file-store process may leave a lock requiring reconciliation before manual removal.
SDK intent reuse does not guarantee seller fulfillment exactly once. Use seller-supported request idempotency and inspect settlement receipts. An HTTP 200 without a successful settlement receipt remains payment_unknown. Slippage limits do not cap all fees or guarantee a final total cost.
Solana-source funding, supported destination networks and existing Solana quote/swap pricing remain unchanged. No private backend source is included in the public release.
Validation
Typecheck and 31 tests passed, including exact authorization replay, original-signature reconciliation, forbidden chain/slippage changes, x402 v1 compatibility, durable journals/locks and existing API regressions. The standalone public export also passed its 16 tests. Production verification used a free unsigned SOL-to-Base funding plan; no transaction was signed or broadcast. Full mainnet seller-payment E2E remains unverified.
Known dependency warning: token helpers used by @x402/svm@2.27.0 declare Solana Kit 5 peers while this client uses Kit 8.3.0. Installation, typecheck and tests pass, but full mainnet seller-payment E2E remains unverified.
Documentation
Documentation updated 2026-10-09. Start here · Installation and upgrade · Hosted release notes. Prebuilt package and checksum remain attached below.