---
title: Link
description: Give your eve agent guarded access to Link wallet and purchase tools.
url: "https://eve.dev/integrations/link"
docs_index: /llms.txt
type: extension
keywords:
  - stripe
  - wallet
  - payments
  - checkout
  - spend requests
  - approval
  - oauth
  - financial insights
---

> For an index of all documentation, see [/llms.txt](/llms.txt).

Extension integration for eve. Give your eve agent guarded access to Link wallet and purchase tools.

## Install

Install the Link extension for eve:

```bash
eve add extension/link
```

The extension requires Node.js 24 or later and eve 1.0.0-rc.5 or later. Configure a static Link access token or an application-owned authorization provider. With a static token, every caller uses the same wallet, so restrict access to the agent.

## Quick start

Add a Link access token to the agent's server environment:

```bash title=".env.local"
LINK_ACCESS_TOKEN=...
```

The registry mounts the extension under `agent/extensions/link.ts`:

```ts title="agent/extensions/link.ts"
import link from "@stripe/link-integrations-eve";

export default link({
  accessToken: process.env.LINK_ACCESS_TOKEN!,
});
```

The extension contributes `link__` tools for wallet details, payment methods, spend requests, transactions, balances, financial insights, and purchase reports. It also includes payment-credential and financial-insights skills. Financial-data tools require the corresponding permissions on the token.

## Configure

### Per-user authorization

For per-user wallets, pass an application-owned authorization provider instead of `accessToken`:

```ts title="agent/extensions/link.ts"
import link from "@stripe/link-integrations-eve";
import { linkAuth } from "../lib/link-auth";

export default link({ auth: linkAuth });
```

Implement `linkAuth` with [`defineInteractiveAuthorization`](/docs/connections#self-hosted-interactive-oauth). Your application owns Link's OAuth consent, callback routing, state and PKCE validation, token storage, refresh, and revocation. Interactive authorization requires an authenticated user on the agent's inbound channel. Configure exactly one of `accessToken` or `auth`. See the [Link extension's OAuth guide](https://github.com/stripe/link-cli/tree/main/packages/integrations/eve#interactive-oauth) for the provider contract.

Static-token mode does not start OAuth or refresh tokens. A 401 requires the operator to configure a replacement token.

### Purchase approval and sensitive data

Creating a spend request requires eve approval on every call by default. This is separate from Link's purchase approval: leave `request_approval` enabled for the normal flow, show the approval URL, then retrieve the same request and verify its current status before using credentials. Setting `request_approval: false` creates a draft for a later `request_spend_approval` call; it does not authorize a purchase.

Payment credentials requested with `include: ["card"]` are returned as tool output and may appear in stored session events. Financial-data and insight results can also contain private information. The skills tell the agent not to repeat credentials and to summarize financial data. Applications remain responsible for transcript access and retention. Keep tokens out of prompts and source control. See the [extension documentation](https://github.com/stripe/link-cli/tree/main/packages/integrations/eve) for the full tool contract and security guidance.

[Read the full extension documentation](https://github.com/stripe/link-cli/tree/main/packages/integrations/eve/README.md)

---

For a semantic overview of all documentation, see [/sitemap.md](/sitemap.md)

For an index of all available documentation, see [/llms.txt](/llms.txt)

For agent-facing discovery, including API and MCP surfaces, see [/agents.md](/agents.md)