Agent skill · Audited from source

create-payment-credential

skill · stripe/link-cliMIT licenceAudited 20 Oct 2026 · source 5998c04f7edf

★ 863pushed todayversion 0.28.0
!CAUTIONGrade B · 89/100 · 3 findings · 5998c04
863repo stars · whole stripe/link-cli

Is it safe? With care — CAUTION, grade B (89/100). We read this skill's source at commit 5998c04f7edf and found no filesystem, network or shell access and no hard-coded secrets. The audit raised 3 findings, 0 critical or high. What it does: Gets secure payment credentials (cards, tokens) from a Link wallet for one-time purchases and recurring payments. Use when the user says "get me a card", "buy something", "pay for X", "make a purchase", "I need to pay",…

Ask an AI about this pageGChatGPTCClaudePPerplexityGeGeminiXGrok
More
Cite

Cite this page

ModelsAtlas. “create-payment-credential (stripe/link-cli)”. Retrieved 20 Oct 2026. https://modelsatlas.com/skills/stripe/create-payment-credential

Trust audit

Audit 0.4.1 · source read 20 Oct 2026

Trust score89/100!CAUTION B
0 critical0 high3 medium0 low0 info

CAUTION means the audit found things worth knowing before you trust this skill. Grade B is shared by 13,985 of 14,816 audited skills.

What the source does

  • FilesystemNone observedNo reads or writes in the source
  • NetworkNone observedNo outbound calls in the source
  • ShellNone observedNo commands run in the source
  • DependenciesPinnedNothing floats
  • SecretsNone foundNo keys in source

Five audit layers

LayerWhat we checkResultFindings
L0 ProvenanceRepo owner, licence, archive status, activityWARN3
L1 Static sourceSecrets, path traversal, supply chain, hidden codeNA0
L2 InstructionsPrompt injection, authority framing, hidden directivesPASS0
L3 InventoryThe files and declarations match the sourcePASS0
L4 SandboxRun in isolation and watch behaviourSKIPPED why0

Gates applied: no behavioural pass.

Findings (3)

Audit 0.4.1 · source sha 5998c04f7edf · 20 Oct 2026Report an issue or request a re-scan

Provenance

Who published it, and what the verdict is pinned to

  • Publisherstripe GitHub organizationOwner of the repository this skill is read from
  • Source folderstripe/link-cli/skills/create-payment-credentialThe exact folder we audited
  • LicenceMITAs the repository states it
  • Commit pinned for this verdict5998c04f7edfA new audit runs when the source changes
  • Repository statusNot archivedPushed today
  • Sandboxed runNot runSkills are read, not executed; layer L4 is skipped

What it tells the agent

Full source on GitHub ↗

Its description: Gets secure payment credentials (cards, tokens) from a Link wallet for one-time purchases and recurring payments. Use when the user says "get me a card", "buy something", "pay for X", "make a purchase", "I need to pay",…

---
version: 0.28.0
name: create-payment-credential
description: |
  Gets secure payment credentials (cards, tokens) from a Link wallet for one-time purchases and recurring payments. Use when the user says "get me a card", "buy something", "pay for X", "make a purchase", "I need to pay", "complete checkout", or asks to set up a subscription or transact on a merchant site. Use when the user asks to connect or log in to or sign up for their Link account.
allowed-tools:
 - Bash(link-cli:*)
 - Bash(npx --yes @stripe/link-cli:*)
 - Bash(npx @stripe/link-cli:*)
 - Bash(npm install -g @stripe/link-cli:*)
license: Complete terms in LICENSE
metadata:
  author: stripe
  url: link.com/agents
  openclaw:
    emoji: "💳"
    homepage: https://link.com/agents
    requires:
      bins:
        - link-cli
    install:
      - kind: node
        package: "@stripe/link-cli"
        bins: [link-cli]
user-invocable: true
---

# Create Payment Credential

Use [Link](https://link.com) to get secure payment credentials from a Link wallet for one-time purchases and recurring payments.

The CLI can produce three credential types:
- A virtual card (PAN) for use with a standard web checkout form. The issued card works anywhere.
- A Shared Payment Token (SPT) when the seller is in the Stripe Network and accepts payments programmatically (for example with Machine Payment Protocols).
- A Link Pay Token (LPT) for a supported Stripe payment surface.

## Installing

Install with `npm install -g @stripe/link-cli`. Or run directly with `npx @stripe/link-cli`.

## Running commands

Link CLI can run as an **MCP server** or as a **standalone CLI**.

**MCP:** Add the following to your MCP client config (`.mcp.json`, etc.)

```json
{
  "mcpServers": {
    "link": {
      "command": "npx",
      "args": ["@stripe/link-cli", "--mcp"]
    }
  }
}
```

Run the MCP server directly with `npx @stripe/link-cli@latest --mcp`.

Call `tools/list` to see all available MCP tools.

### Common commands/options

- List all commands: `link-cli --llms`
- List all commands with parameters: `link-cli --llms-full`
- Get a command's exact schema with `--schema`. For example, `link-cli spend-request create --schema`
- Multi-step commands return a `_next` action. Spend-request approval and automatic-resume polling return `_next.argv`; `mpp pay` returns `_next.poll_argv` and `_next.pay_argv`. Invoke these directly without a shell. The `command` value is a Link CLI subcommand: pass `[command, ...args]` to the trusted CLI entrypoint. Dynamic compatibility strings are omitted on Windows — see the security notes. Authentication also returns a static `_next.command` for polling.
- By default all output is in `toon` format. Pass `--format [json|md|yaml]` to change output format.
- Some commands return a verification or approval URL. **These** must be presented to the user clearly for their action.
- `--auth <path>` flag to store auth credentials in a specific file instead of the default location. `auth login` writes to this file; all other commands read from it. Example: `link-cli auth login --auth credentials.json`

_Recommended_: Run `link-cli --llms` to understand all the available commands. The `--llms-full` output is the canonical reference for parameter names, types, and valid values. Pass `--schema` before invoking a command to understand its parameters and constraints.

## Core flow

Copy this checklist and track progress:

- Step 1: Authenticate with Link for the whole task
- Step 2: Evaluate merchant site (determine credential type)
- Step 3: Get payment methods
- Step 4: Create spend request with correct credential type
- Step 5: Complete payment

### Step 1: Authenticate with Link for the whole task

Check auth status:

```bash
link-cli auth status
```

When authenticated, the response also reports the session's granted `scope` and `authorization_details` (when the token endpoint returned them). If the response includes an `update` field, a newer version of `link-cli` is available — run the `update_command` from that field to upgrade before proceeding.

If not authenticated:

```bash
link-cli auth login --client-name "<your-agent-name>"
```

Replace `<your-agent-name>` with the name of your agent or application (for example, `"Personal Assistant"`, `"Shopping Bot"`). This name appears in the user's Link app when they approve the connection. Use a clear, unique, identifiable name.

The response includes a `_next` command — run it to poll until authenticated. If your environment cannot relay the verification code while a separate polling command blocks I/O, use inline polling instead: `auth login --client-name "<name>" --interval 5 --timeout 300`. This yields the code immediately then polls in the same command.

If the user's email is already known and no creation-time callback context was
supplied, save them time by adding it as the URL-encoded `fromEmail` query parameter to any `app.link.com` verification or
action URL; preserve existing query parameters.

DO NOT PROCEED until the user is authenticated with Link.

Always check the current authentication status before starting a new login flow — the user might already be logged in.

If the user is already authenticated but you need broader access (an additional `scope`, `--source-actions`, or `--authorization-detail`), use `auth upgrade` instead of `auth login`. It takes the same flags but, rather than stopping with an "already logged in" message, merges what you request with the current `scope`/`authorization_details` and starts a new approval for the superset — so existing access is never dropped. Check `auth status` first so you know what's already granted. The current session stays valid during the approval and is only replaced once the user approves the new one, so an abandoned upgrade leaves the existing session working.

Optionally, before a purchase, run `link-cli user-info retrieve` to inspect balance eligibility, address, applicable spend limits, and verification requirements. The option

Excerpt, first 6,001 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.

Install

Pinned to the audited commit 5998c04

Download folder ↗
git clone https://github.com/stripe/link-cli
git -C link-cli checkout 5998c04f7edf

The author documents no install command, so this uses the repository directly. Our verdict covers commit 5998c04f7edf only.

Works in which agents?

What its own text says, not a test

AgentStatusMore
OpenClawMentioned in its text, not testedSkills for OpenClaw · About OpenClaw
“Mentioned” means the skill’s text names the agent. We have not run it there.

Audit history

Every audit, every source change

  1. !CAUTION B 89 / 100

    first audit · source 5998c04f7edf

README badge

For maintainers · shows the latest audit

ModelsAtlas: CAUTION BMODELSATLASCAUTION · B
[![ModelsAtlas: CAUTION B](https://modelsatlas.com/skills/stripe/create-payment-credential/badge.svg)](https://modelsatlas.com/skills/stripe/create-payment-credential/)

The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.

Similar skills

Add this badge to your README

[![ModelsAtlas: CAUTION B](https://modelsatlas.com/skills/stripe/create-payment-credential/badge.svg)](https://modelsatlas.com/skills/stripe/create-payment-credential/)

Questions about create-payment-credential

What does the create-payment-credential skill do?
Let your agents spend on your behalf. Your payment credentials are never exposed. You approve every purchase.
Is create-payment-credential safe to install?
With care. The audit graded it B (89/100) and found 3 things worth knowing before you trust this skill, listed below with the exact line each was found on.
What can create-payment-credential access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
Which assistants does create-payment-credential work with?
Its documentation mentions openclaw. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (5998c04f7edf), read on 2026-10-20. The repository is watched, and a new audit runs when it changes — this is the first audit.

Sources

Spotted something wrong? Report a correction · Methodology

Keep going in your AI

Opens with this page as the source. We add nothing else to the prompt.