FurlPay Docs
Open App
  • Services & Availability
  • Quickstart
  • For AI Agents
  • Monorepo
  • API Routes
  • Authenticationupdated
  • Webhook Eventsupdated
  • Error Codesupdated
  • Rate Limitsnew
  • Configuration & Setupnew
  • Merchant Paymentsnew
  • Payroll & Payoutsnew
  • Agentic Payments (x402)updated
  • Agent Trust & Mandates (TAP)updated
  • CCTP Cross-Chainupdated
  • LI.FI Swapsupdated
  • FurlPay Travels (Travel MCP)updated
  • Solana Actions & Blinks
  • Settlement Workspacenew
  • FURL Tokennew
  • Claude Connectorupdated
  • AI Assistants
  • Circlenew
  • Ramp Providersnew
  • Telegram Mini Appnew
  • Stripe Crypto
  • Persona KYC
  • Regulatory status
  • Screening & Casesnew
  • Security Postureupdated
  • Signing & WebAuthnupdated
  • Help Center
  • Getting Started
  • KYC Verification
  • Passkeys & Biometrics
  • Privacy & Data Protection
  • Transaction Statuses
  • Gasless Transfers
  • Deposits & Withdrawals
  • Managing Virtual Cards
  • Freezing & Unfreezing Cards
  • Declined Transactions
  • SDK & API Support
  • x402 Monetization Basics
  • Booking Travel
  • Travel Refunds & Cancellations

Resources

  • Changelog
  • System Status
  • OpenAPI Spec
  • Community
  • GitHub
Docs/Getting Started/For AI Agents

Getting Started

For AI Agents

Connect an AI agent to FurlPay through MCP and scoped tools, then apply identity and spend controls to the actions it prepares. Agent connectivity is available; payment settlement still depends on the status of the selected production rail and the user's approval.

Agent access does not enable settlement

The MCP transport, agent keys and spend policies are separate from payment execution. Production x402, MPP and gasless settlement are currently in development. On 11 October 2026, x402 returned 503 because operational controls were unavailable. A challenge, mandate or payment intent does not mean funds have moved. Check /api/rails before exposing a money-moving tool; if it cannot return a status, treat the rail as unavailable.

The mental model

Agent
MCP / framework toolsread data or prepare an action
Trust
owned key + policyuser-controlled limits and categories
Payment
approvaluser confirms the action
enabled railavailability checked at runtime
Tools expose only scoped capabilities; the user retains control of payment authorization. Completion depends on an enabled rail.

Path 1 — MCP (Claude, Cursor, any MCP client)

FurlPay exposes an MCP endpoint at /api/mcp. The tools presented to a client depend on the scopes the user grants. The connector can read authorized data and prepare financial actions for approval; it cannot bypass the payment rail or make an unavailable service live:

text
https://furlpay.com/api/mcp

For Claude setup and the exact read-only and prepare-only tools, see the Claude connector guide. Travel MCP examples are integration previews; production travel booking is not currently available.

Path 2 — LangChain / LlamaIndex

Framework adapters may expose FurlPay tools to an agent, but the tool set and available operations depend on the integration and user's permissions. Treat read, prepare and execute as different capabilities; never assume a tool can complete a production payment.

Path 3 — x402: metered HTTP requests

x402 lets an API return 402 Payment Required with a payment challenge. The FurlPay x402 endpoint currently returns 503 because operational controls are unavailable, and production settlement is also in development. Agents cannot rely on completing paid requests through FurlPay. Read the x402 guide for the protocol shape and check /api/rails before use:

typescript
import { withX402 } from "@furlpay/x402";

export const GET = withX402(
  async () => Response.json({ signal: "premium market data" }),
  { payTo: "0xYourAddress", network: "base", amount: "10000" }
);

Illustrative user-signed spend mandate

Budgets cap how much; mandates prove who allowed what. The user signs once, the agent signs each intent, and an integrating service can verify the chain. This example is a library pattern only; it does not enable FurlPay production travel or payment settlement.

typescript
import { AgentTrust, generateKeypair, issueMandate, createBookingToken } from "@furlpay/agent-trust";

const user = generateKeypair("user"), agent = generateKeypair("agent");

// 1 · User consents: $500 trip, lodging+airlines, 7 days
const mandate = issueMandate({
  userPrivateKeyPem: user.privateKeyPem, userPublicKeyPem: user.publicKeyPem,
  agentKeyId: agent.keyId,
  constraints: { maxTotalUsd: 500, mccAllowlist: ["7011", "4511"],
                 expiresAt: new Date(Date.now() + 7 * 864e5).toISOString() },
});

// 2 · Agent signs ONE exact intent per booking
const mandateToken = createBookingToken({
  mandate, agentPrivateKeyPem: agent.privateKeyPem, agentPublicKeyPem: agent.publicKeyPem,
  intent: { amountUsd: 320, source: "legacy", mcc: "7011" },
});

// 3 · The rail verifies the full chain — wrong amount, wrong MCC,
//     replayed token, exhausted budget: all fail closed.

Deep dive: Agent Trust & Mandates (TAP) · applied to bookings: FurlPay Travels.

Why builders pick Furlpay for agents

FurlPay provides an inspectable API, MCP connectivity and owned agent spend controls. Card issuing, banking, brokerage execution, travel booking and production agent settlement are not currently available live products. See the service availability overview before choosing a flow.
Did this page help?
Edit this page on GitHub

← Previous

Quickstart

Next →

Monorepo