Choose it when an agent has to buy something for a US or Canadian user and a human should approve each purchase. It is the wrong fit for unattended spending, because every request waits for approval inside a 30-minute window. Expect a young interface: the CLI is still pre-1.0.
What changed
Link Agent Wallet is a Stripe capability that lets an AI agent pay online with credentials from a person's Link account. The agent files a spend request, the person approves it, and Link returns a one-time-use card or token. It issues three credential types and runs as a CLI, local MCP server or SDK.
Maker: Stripe · Protocol: MCP · Auth: oauth
Compatible agents: Muse (Meta), Grok Bot (xAI), Instinct, Browser Use, OpenClaw, Claude Cowork, any MCP client or shell-capable agent
Required runtime: Node.js with npm (for npm install), Standalone executables are attached to GitHub releases
About Link Agent Wallet
Link Agent Wallet is a payment capability from Stripe that an AI agent plugs into when it needs to buy something for a person. Instead of handing the agent a real card number, the agent files a spend request for one purchase, the person approves the amount in the Link app, and Link returns a one-time-use credential. Stripe's repository describes the goal as letting agents spend on your behalf with payment credentials that are never exposed. The code lives in stripe/link-cli under an MIT licence and showed 876 GitHub stars on 2026-10-25, and npm lists version 0.30.0, published 2026-10-22.
Technically it is a thin client over the Link API at api.link.com, authorised through login.link.com. The agent authenticates with an OAuth access token that represents one customer, not a Stripe API key, and the Stripe server-side SDKs do not cover these endpoints. A spend request can produce three credential types: a virtual card number that works on any ordinary checkout form, a Link Pay Token for supported Stripe payment surfaces where checkout runs through WebMCP, or a Shared Payment Token for sellers that accept programmatic payments through the Machine Payments Protocol. Agents call it as a command-line tool, as a local MCP server started with the --mcp flag, or through the TypeScript and Go SDKs.
On the agent side, the link.com/agents page lists Muse from Meta AI, Grok Bot from xAI and Instinct as apps where Link is a payment option, and the README adds Browser Use. The same page says the CLI is reached through Claude Cowork, OpenClaw and other custom agents. Other personal agents such as Manus, Gemini Spark, Cue, ChatGPT Work and Hermes Agent are not named there as of 2026-10-25. Financial Insights, the read-only half of the product, is listed as supported in the CLI but not in Muse, Grok Bot or Instinct.
Availability is narrow. Agent payments are open to US and Canadian Link customers, Financial Insights to US customers only, though the seller can be anywhere. Stripe's limits table caps a spend request at $500, daily spend at $500 and 30-day spend at $20,000, gives the person 30 minutes to approve, and keeps an issued card or token valid for 48 hours. No fee line appears in any Stripe page read for this record. For a skill that sits at a different layer, compare Personal Agent Protocol, and for app access without payments see Composio or Zapier.
The package has shipped 68 npm versions since it was first published on 2026-04-15, so the interface is moving quickly and has not reached a stable release. The README tells integrators who need higher limits or more embedded approval flows to contact Stripe, which suggests the current caps are a launch setting rather than a fixed design.
Key Features
- One-time-use credentials: Each approved spend request yields a card or token that Stripe says is valid for 48 hours and tied to one purchase.
- Three credential types: A virtual card for any checkout form, a Link Pay Token for Stripe surfaces, and a Shared Payment Token for Machine Payments Protocol sellers.
- Person approves each request: The customer approves the amount in the Link app, inside a 30-minute window, before any credential is released.
- Recurring spend limits: A request can carry a day, week, month or year interval, so the approval sets a ceiling per period for subscriptions.
- Card details kept out of transcripts: With the output-file option the full number goes to a private local file, and only brand, last four and expiry reach stdout.
- Financial Insights: Read-only access to transactions and balances, which the README says is backed by Financial Connections across 12,000+ US institutions.
- CLI, MCP server and SDKs: The same actions run from a shell, a local MCP server started with --mcp, or TypeScript and Go SDKs.
Use Cases
- Buy an item from an ordinary checkout page: The agent creates a spend request with the merchant, line items and total, the person approves it in the Link app, and the agent types the one-time virtual card into the form.
- Pay for a subscription with a hard monthly cap: The agent adds a recurring interval and an amount per period, so the person approves a ceiling such as a monthly limit instead of an open-ended card.
- Pay a seller that accepts machine payments: The agent asks for a Shared Payment Token and settles with the mpp pay command on merchants that use the Machine Payments Protocol.
- Answer questions about your own spending: With the extra Financial Insights scopes granted, the agent lists transactions by date or category for a US customer and answers questions such as dining spend this month.
Install
npm i -g @stripe/link-cli
Requirements
- A Link account (log in to an existing one or create one at app.link.com) with a payment method on file
- A US or Canadian Link customer for agent payments; a US customer for Financial Insights
- Node.js and npm to install the CLI, or a standalone executable from the GitHub releases
- The Link app on your phone to approve each spend request within 30 minutes
- Extra OAuth scopes and source actions for Financial Insights, requested at login
Actions
Auth Login
Links the CLI to a Link account by showing a verification URL and a short phrase the person enters to approve the connection.
link-cli auth login--client-name(string): Name shown to the customer on the approval prompt.--scope(string): OAuth scope to request, for example userinfo:read for Financial Insights.--source-actions(string): Repeatable. Financial data action to authorise, such as read_balances or read_link_transactions.
Retrieve User Info
Returns the signed-in customer profile, including agent wallet spend limits and the verification status needed for payments.
link-cli user-info retrieve --format json--format(string): Output format: toon, json, yaml, md or jsonl.
Retrieve Approval Policy
Shows the approval rules that apply to the customer, including per-purchase limits.
link-cli approval-policy retrieve --format json--format(string): Switch the output encoding, for example to json for scripts.
List Payment Methods
Lists the cards and accounts in the customer Link wallet that can fund a spend request.
link-cli payment-methods listUpdate Payment Method
Renames a wallet payment method or sets it as the default used when a spend request names none.
link-cli payment-methods update csmrpd_xxx --nickname "Work card" --is-default truepayment-method-id(string) — required: Id of the payment method to change.--nickname(string): New label; an empty string clears it.--is-default(boolean): Whether this method is the default.
List Shipping Addresses
Lists the shipping addresses saved in the customer Link account.
link-cli shipping-address listCreate Spend Request
Asks the customer to approve one purchase with the merchant, context and amount, and can request a push approval in the same call.
link-cli spend-request create \
--merchant-name "Stripe Press" \
--merchant-url "https://press.stripe.com" \
--context "Purchasing a book from press.stripe.com. The user started this purchase in the shopping assistant." \
--amount 3500 \
--line-item "name:Working in Public,unit_amount:3500,quantity:1" \
--total "type:total,display_text:Total,amount:3500" \
--request-approval--payment-method-id(string): Wallet payment method to charge.--merchant-name(string) — required: Seller name shown on the approval prompt.--merchant-url(string) — required: Seller address.--context(string) — required: Plain-language reason for the purchase, shown to the customer.--amount(number) — required: Amount in cents; at most 50000 per request.--currency(string): Currency code, for example usd.--credential-type(string): card, link_pay_token or shared_payment_token.--line-item(string): Repeatable key:value item data: name, quantity, unit_amount, sku, url and more.--total(string): Repeatable key:value total such as subtotal, tax, shipping or total, each with display_text and amount.--recurring-interval(string): day, week, month or year, for a recurring spending limit.--recurring-interval-count(number): Positive integer; periods between limit resets.--request-approval(boolean): Sends a push notification to the customer for approval.
Retrieve Spend Request
Checks a spend request, optionally waits for approval, and returns the approved credential.
link-cli spend-request retrieve lsrq_001 --include card --output-file /tmp/link-card.json --format json --interval 2 --max-attempts 300spend-request-id(string) — required: Id returned by spend-request create.--include(string): Pass card to include unmasked card details.--output-file(string): Writes the full card to a 0600 file and keeps stdout redacted to brand, last four and expiry.--force(boolean): Overwrites an existing output file.--interval(number): Seconds between polls while waiting for a status change.--max-attempts(number): Polling attempts before exiting with POLLING_TIMEOUT.
Pay With MPP
Completes a one-time purchase on a merchant that uses the Machine Payments Protocol, using an approved Shared Payment Token.
link-cli mpp pay https://climate.stripe.dev/api/contribute \
--spend-request-id lsrq_001 \
--method POST \
--data '{"amount":100}' \
--header "X-Custom: value"url(string) — required: Machine-payment endpoint to pay.--spend-request-id(string) — required: Approved spend request created with credential type shared_payment_token.--method(string): HTTP method for the request.--data(string): Request body to send.--header(string): Extra request header, repeatable.
List Transactions
Reads transactions from the accounts the customer chose to share, filtered by date or category (Financial Insights, US only).
link-cli transactions list --start-date 2026-01-01 --end-date 2026-01-31 --category groceries--start-date(string): First day, YYYY-MM-DD.--end-date(string): Last day, YYYY-MM-DD.--category(string): Spending category such as groceries.--limit(number): Results per page, 1 to 100.
List Insights
Discovers available insight types and returns the data for the ones selected.
link-cli insights list-available-types --format json
link-cli insights list --insight <insight_id> --format json--insight(string): Repeatable insight id; omit to list all.--limit(number): Results per page.
How to Invoke
Default is the link-cli command line, where each action is a subcommand such as spend-request create. The same commands are exposed as MCP tools when the server is started with npx @stripe/link-cli --mcp, over HTTP with link-cli serve, or through the TypeScript and Go SDKs.
Pricing
Stripe's docs page, the stripe/link-cli README and link.com/agents publish no charge for the wallet or its command-line client, all read on 2026-10-25; the client is MIT licensed. The cost of a purchase is the merchant's price, drawn from the customer's own payment method. Spend caps are $500 per request and per day, with a $20,000 monthly ceiling. Stripe has not said whether a fee will follow, and what Stripe or card networks charge sellers is a separate matter.
Strengths
- The agent never needs the real card number, and Stripe describes the credentials as one-time-use, which limits the damage of a leaked transcript.
- The person approves each amount in the Link app, so an agent cannot spend beyond what was shown on the approval prompt.
- A virtual card is not restricted to Link-enabled or Stripe-using sellers, per the README, so it works on ordinary checkout forms.
- MIT-licensed CLI with 68 published npm versions, a Go SDK, and an MCP mode that lets an agent discover commands through --schema.
- Recurring requests let a subscription run under an approved per-period ceiling rather than a standing card.
Weaknesses
- Agent payments work only for US and Canadian Link customers, and Financial Insights only for US customers.
- Each request is capped and the approval window is short, so fully unattended or large purchases are not possible.
- The CLI has not reached a stable release, so commands and fields can change between versions.
- Checkout blockers such as captchas, anti-bot scripts and 3D Secure challenges are listed as reportable outcomes, so a virtual card does not guarantee the purchase completes.
- Muse, Grok Bot and Instinct get payments only; the link.com/agents page marks Financial Insights as not supported in those apps.
Frequently Asked Questions
What does Link Agent Wallet actually cost?
As of 2026-10-25 none of the three Stripe sources checked names a fee, and the client code is open source under MIT. What you pay is the seller's own price for whatever the agent buys. Stripe also caps a request at $500, a day at $500 and each month at $20,000. Whether anything extra is charged to the customer or the seller is not published.
Can you use Link Agent Wallet without paying?
The CLI installs from npm at no listed charge, and link-cli onboard runs a guided demo before any real purchase. You still need a Link account with a payment method on file. Only US and Canadian customers can use it for agent payments, while Financial Insights is limited to US customers who grant extra scopes.
What are Link Agent Wallet's closest competitors?
HokAI lists no other agent wallet yet, so no direct rival is rated here. The nearest records are Composio, which connects an agent to apps through one endpoint, and Zapier, whose automations can trigger a payment inside an app you already set up. Neither issues a payment credential to the agent itself.
How does Link Agent Wallet compare to Composio in 2026?
They cover different jobs. Composio gives an agent reach into many apps, such as an inbox or a CRM, while Link Agent Wallet only handles paying, with a person approving each request. If the agent must check out a cart, Link is the pick; if it must update records, Composio is. Many agents will want both.
How do you set up Link Agent Wallet?
Install the CLI with npm, run link-cli auth login, open the verification URL it prints and enter the short phrase to link your Link account. Next, link-cli onboard walks through a demo, and the agent can call spend-request create with the request-approval flag. To let the agent discover commands itself, run npx skills add stripe/link-cli or register the MCP server.
Top Alternatives
- Composio: Pick Composio when the agent must read and write inside many apps; pick Link Agent Wallet when the job is paying a seller under a human-approved limit.
- Personal Agent Protocol: Pick Personal Agent Protocol to study how agents talk to each other; pick Link Agent Wallet to give one agent a spending credential.