voidly

Voidly Pay vs @stripe/link-cli

Stripe shipped @stripe/link-cli on Apr 28-30, 2026 — 10 npm releases in 7 days. It's their answer to the agent wallet problem: OAuth-scoped one-time virtual cards backed by a user's Stripe Link account. Voidly Pay's answer is self-custodial Ed25519 keypairs and USDC on Base. Different identity primitives, different trust assumptions, different jobs.

Updated 2026-05-01. Sources: github.com/stripe/link-cli (verified Apr 28-30 release cadence), Stripe blog "Giving agents the ability to pay" (Apr 29), Stripe Sessions 2026 (288 launches Apr 28-30).

Quickstart side-by-side

@stripe/link-cli (OAuth Link Wallet)

# 1. User must have a Stripe Link account first (linked to a card / bank).
# 2. Install the CLI:
npm install -g @stripe/link-cli

# 3. Authenticate (opens browser, OAuth to link.com):
link-cli login

# 4. Issue a one-time-use card scoped to a single purchase:
link-cli mpp pay \
  --merchant did:web:example.com \
  --amount 9.99 \
  --currency USD

# Returns a single-use virtual card. Stripe auto-revokes after the charge.
# User approves each spend in their Link wallet.

@voidly/pay-cli (Ed25519 DID + USDC on Base)

# 1. No prerequisite account. CLI mints the keypair.
# 2. Install the CLI:
npm install -g @voidly/pay-cli

# 3. Initialize (mints Ed25519 keypair to ~/.voidly-pay/keypair.json):
voidly-pay init

# 4. Claim 10 starter credits (one-shot, no card, no KYC):
voidly-pay faucet

# 5. Pay an agent or paywalled URL:
voidly-pay fetch "https://api.example.com/expensive-route"
# (auto-pays HTTP 402 quote; settles in <200ms)

# Or transfer directly:
voidly-pay transfer --to did:voidly:abc... --amount 0.01

Key difference: Stripe Link CLI requires the user to already have a Stripe Link account with a saved payment method. Voidly Pay CLI generates the identity from scratch on first run — no third-party login, no card on file, no KYC.

Feature matrix

Dimension@voidly/pay-cli@stripe/link-cli
Launch datevoidly-pay-cli @ npm — live since Mar 2026 (mature)@stripe/link-cli — Apr 28-30 2026 (10 releases in 7 days, very fresh)
Identity modeldid:voidly:{base58} — Ed25519 keypair, client-side, no third-party loginStripe Link account → OAuth → one-time-use virtual card per task
KYC requirementNone for spending (Stage 1 credits). USDC deposits use Stripe-or-similar on-ramps.Yes — user must have a Link wallet with payment method on file
Settlement mediumStage-1 credits or USDC on Base mainnet (Sourcify-verified vault)Real cards. Optional MPP for crypto USD-equivalent settlement.
Per-call settlement fee0% — direct DID → DID, no merchant of record2.9% + 30¢ on cards. MPP path: facilitator fee + on-chain gas.
Min charge$0.005Card min ≈ $0.50 (fees swallow micro-amounts)
Browser-only onboardingYes — /pay/claim mints DID + faucets in 30 secondsNo — requires Stripe Link account + OAuth flow
Geographic availabilityGlobal. No US-only restriction.US merchants only for x402-preview path. Global for cards.
Open sourceCLI MIT (TS); Worker privateCLI source not public on npm metadata; Stripe core proprietary
LicenseMIT SDKs + CC BY 4.0 docsStripe ToS
Public proof of reserves/pay/proof — vault USDC vs Σ Stage-2 credits, refresh every 15sPrivate merchant Dashboard
Standardsx402 native (Coinbase + Linux Foundation governed)MPP (Stripe + Tempo co-authored), pulling Visa/Mastercard/OpenAI/Anthropic

Where Voidly Pay differentiates

  • Self-custodial — Ed25519 keypair lives in `~/.voidly-pay/keypair.json` (mode 0600). Private keys never leave the user's machine.
  • No third-party login. No Stripe account needed. No Link wallet needed.
  • Sub-cent settlements. Critical for per-call AI inference economics where each request is fractions of a cent.
  • Public proof-of-reserves (independently auditable on-chain).
  • `registerPaidTool` middleware ships in @voidly/pay-mcp v0.2.0 — wrap any MCP tool with a 402 paywall in 10 lines.
  • Universal x402 reverse proxy: paywall ANY HTTPS URL with one query parameter. Stripe Link CLI requires SDK install on the merchant side.

Where Stripe Link CLI leads

  • Massive distribution. 10 npm releases in 7 days = active investment. Stripe brand recognition.
  • Real card-network access. If your buyer wants to pay with a saved credit card, only Stripe can do it.
  • MPP open-standard footprint. Visa, Mastercard, OpenAI, Anthropic, DoorDash, Shopify all on board.
  • OAuth flow integrates with the user's existing Link wallet (250M users with cards saved).
  • Issuing for agents: programmatic single-use virtual cards.
  • Spend-request approval flow with human-in-the-loop guardrails.

If your buyer is a human consumer with a saved Stripe Link card, or you specifically want MPP-rail integration for credit-card settlement, Stripe Link CLI is the right pick. If your buyer is another agent (or a developer wanting sub-cent settlements without Stripe Connect onboarding), Voidly Pay is the right pick.

Use both: the sidecar pattern

The two CLIs aren't mutually exclusive — they target different layers of the agent economy:

Customer ──Stripe Link CLI (USD via card)──> Orchestrator agent
                                              │
              Orchestrator splits work across sub-agents
                                              │
                                              ▼
        [Sub-agent A]    [Sub-agent B]    [Sub-agent C]
              ╲              │               ╱
               Voidly Pay CLI (USDC on Base, sub-cent, instant)
                            │
   Orchestrator sweeps Voidly credits at run-end →
   optional bridge → USDC on Base → Stripe payout

Stripe owns the customer relationship and the dollar on-ramp; Voidly Pay handles the per-call settlement between agents that would otherwise be lost in card fees. Same sidecar pattern documented at /pay/vs/stripe-agent-toolkit for the MCP layer.

Spotted a factual error? research@voidly.ai. This page is licensed under CC BY 4.0 — feel free to mirror or quote.

Sister comparisons: vs Stripe Agent Toolkit (MCP) · full rail comparison.