AgentRefills for Vercel AI SDK

Let your the Vercel AI SDK agent buy gift cards.

Define a typed tool with Zod and your Vercel AI SDK agent can buy gift cards from the edge, with every purchase policy-checked and logged.

Integration

Add a gift-card tool in a few lines

npm i ai zod
agentrefills — vercel-ai-sdk.ts
import { tool } from "ai";
import { z } from "zod";

const BASE = "https://api.agentrefills.com";
const H = { "Content-Type": "application/json",
            Authorization: "Bearer sk_live_..." };

export const buyGiftcard = tool({
  description: "Buy a gift card; amountMinor is the value in cents.",
  parameters: z.object({
    brandId: z.string(),
    amountMinor: z.number().int(),
  }),
  execute: async ({ brandId, amountMinor }) => {
    const r = await fetch(`${BASE}/v1/purchases`, {
      method: "POST", headers: H,
      body: JSON.stringify({ brand_id: brandId,
        amount_minor: amountMinor, currency: "USD" }),
    });
    if (!r.ok) throw await r.json();
    return r.json();
  },
});
Why AgentRefills

Safe enough to hand an autonomous the Vercel AI SDK agent

Per-agent spend caps

Daily and monthly limits plus a brand allowlist, enforced on every purchase.

Human-in-the-loop

Purchases above your threshold are approved by a human in Slack before money moves.

Fail-closed policy

If the policy engine is unreachable or undecided, the purchase is denied, never allowed.

Encrypted single-read codes

Codes are encrypted at rest, released once, access-logged, and never written to logs or traces.

Zero duplicate payments

An idempotency key plus a unique payment-per-task constraint make a double charge structurally impossible.

Full audit trail

Every order is reconstructable from an OpenTelemetry trace plus a double-entry ledger, with webhooks on completion.

Use cases

What the Vercel AI SDK agents use it for

Rewards & incentives

Send a gift card for a survey, referral or milestone.

Automated refunds

Resolve a ticket with a gift card instead of a slow reversal.

Gifting bots

Send a scheduled thank-you or birthday gift, within a budget.

Procurement agents

Buy stored-value for a team, capped and reconciled.

FAQ

the Vercel AI SDK + AgentRefills

How do I let a Vercel AI SDK agent buy gift cards?

Declare a tool() with a Zod schema whose execute() POSTs to the AgentRefills /v1/purchases endpoint, then pass it to generateText or streamText. The purchase is policy-checked and budget-capped on the server, so the edge function only ever holds a task id.

How do I cap what the agent can spend?

Every agent gets its own API key scoped to per-agent daily and monthly spend caps and a brand allowlist. The policy engine enforces the caps on every purchase and fails closed, so the agent can never exceed its budget even if the policy service is unreachable.

How do I require human approval for a purchase?

Set an approval threshold. Any purchase above it is parked as APPROVAL_REQUIRED and a human is pinged in Slack to approve or reject before money moves. The task resumes automatically once approved.

Give your the Vercel AI SDK agent a wallet it can't misuse.

Start in the sandbox with zero real spend, then flip to production.

Get API keys
Also for