Skip to content
Logo

Frequently asked questions

Link is a digital wallet built by Stripe. Link Agent Wallet lets agents request secure payment credentials from a customer’s Link wallet and complete purchases on the customer’s behalf. Link CLI provides ready-made command and agent workflows, while the TypeScript, Go, and Python SDKs let developers build their own payment integrations. In either case, the agent never needs to store the wallet’s real card details.

Who can use it?

Link payments for agents are available to US and Canadian Link accounts, and financial insights are available to US Link accounts. Your business and the sellers your customers buy from can be outside these countries. A customer can log in to an existing Link account or create one online.

What is a spend request?

A spend request is a record of a purchase an agent wants to make. It tells Link and the customer what the agent is buying, the seller, the amount, and why the purchase is being made. It tracks approval and, after approval, provides the scoped credential needed for checkout.

Does an agent receive my real card number?

No. Link issues a scoped credential for the approved purchase. Depending on how the seller accepts payment, that credential is a virtual card, a Shared Payment Token, or a Link Pay Token.

What can an agent pay with?

A virtual card works with standard web checkout forms, including sellers that don’t use Stripe. Shared Payment Tokens work with sellers accepting Stripe payments through the Machine Payment Protocol (MPP). Link Pay Tokens work on Stripe-hosted checkouts that support Link. Compare the options in Payment credentials.

Do I approve every purchase?

In the standard flow, yes. The agent creates a spend request containing the seller, amount, context, and optional line items. Link sends the request to you and issues the credential after you approve it.

How long do I have to approve a request?

You have 30 minutes after approval is requested. See Limits for credential validity and spend limits.

Can I test without making a real purchase?

Yes. Pass --test when creating a spend request, or use the built-in demo commands. Test mode returns test credentials and doesn’t charge the underlying payment method.

link-cli demo
link-cli demo --only-card
link-cli demo --only-spt

How do I keep card details out of agent logs?

Retrieve the full card into a protected output file:

link-cli spend-request retrieve lsrq_001 \
  --include card \
  --output-file "$(mktemp -d)/link-card.json" \
  --format json

The file is created with 0600 permissions, while standard output contains only redacted card fields and the output path. Delete the file after use. See credential handling when integrating this step with an agent.

Link CLI includes login, local credential storage, structured command output, skills, and a Model Context Protocol (MCP) server. The TypeScript, Go, and Python SDKs provide typed API resources and accept an access token managed by your application. They don’t perform login, store credentials, or own refresh tokens.

Can an agent read my transactions and balances?

Only if you choose to share them. With financial insights, an agent can read transactions, balances, and account details from the accounts you select during authorization. You control access per account and can revoke it in the Link app. See Financial insights.

Can I use my Stripe API key?

No. Link CLI and the SDKs call the Link API at api.link.com, which authenticates with an OAuth access token for one customer. Neither Stripe secret keys nor restricted API keys authenticate requests to it. Your publishable key only starts the OAuth flow.

Where can I report an issue?

Open a GitHub issue.