Yolfi
OfficialThe Yolfi MCP server lets an agent set up and manage Yolfi crypto payment workspaces from an MCP host.
Register a Yolfi workspace and check API-key/auth status.
Read and update organization profile settings.
Configure settlement wallets and webhook delivery.
List, get, create, and disable payment links (paylinks).
Create public payment invoices from paylinks and check payment status.
Verify X-Yolfi-Signature HMACs on raw webhook payloads.
Allows configuring webhook delivery with a Stripe-compatible adapter for payment event notifications and signature verification.
This server has a remotely hosted endpoint. Open its connector listing for connection details, authentication requirements, and setup instructions:

Yolfi Agent Kit: AI Agent Payment Integration
AI agent payment integration for crypto and stablecoin checkout. @yolfi/agent provides a local MCP server, a JSON CLI, a JavaScript SDK, and the Yolfi Payments Agent Skill for payment links, Checkout Sessions, payment status checks, and signed webhooks.
For AI integration, copy this message to your agent in the project you want to integrate:
Add Yolfi payments to this project. Follow https://docs.yolfi.com/aiThe agent inspects the project, reuses an existing connection or selects a supported connection method, reads the account settings, and implements the requested integration. The owner completes account authorization and supplies only decisions that are missing, such as a receiving wallet or product price. Connecting the account alone does not finish the integration.
Website | Agent Kit | AI guide | Agent connection reference | HTTP API | CLI reference | npm | GitHub | MCP directory
Languages
English, Español, Deutsch, Français, 简体中文, Русский, हिन्दी, Türkçe, 한국어, 日本語.
Related MCP server: Yolfi MCP Server
Choose your entry point
AI integration: send the message above. The agent guide owns the workflow; SKILL.md provides the packaged instructions.
HTTP API: use the API guide for authentication, request bodies, checkout, and webhooks.
Terminal automation: use the commands below and the CLI reference.
JavaScript application: install the SDK and use the server/runtime guidance below.
Crypto payment integration features
Hosted checkout and one-time payment links for SaaS products, digital downloads, credits, games, and donations.
Recurring payment links for subscription flows supported by the Yolfi account.
Checkout Sessions for server-priced orders with a stable idempotency key for retries.
Payment status checks and webhook signature verification for the application's existing access and subscription logic.
Organization settings, selected settlement wallets, and independent webhook endpoints through the existing Yolfi API.
Use the integration workflow with Codex, Claude Code, Cursor, ChatGPT, Claude, OpenClaw, Hermes, or another agent with a supported MCP connector or local tools. Browser and cloud environments need a supported remote connector when they cannot run commands. See the connection reference for the available paths in each host.
CLI installation and authorization
Node.js 18 or later is required. Run without a global install:
npx -y @yolfi/agent help
npx -y @yolfi/agent auth:statusIf no local credential exists, start browser authorization:
npx -y @yolfi/agent setup --agent local-agent
# Open the returned loginUrl and complete owner authorization.
npx -y @yolfi/agent checkin --agent local-agent
npx -y @yolfi/agent auth:statusThe agent should open the URL when its environment supports a browser and resume check-in after authorization. Repeated setup reuses an unexpired pending session from the same API environment. Account access must be checked with auth:status; this does not verify checkout or live webhook delivery.
Credentials and pending state are saved in ~/.yolfi/config.json using atomic writes and process locking. Directory and file permissions are 0700 and 0600 where supported. YOLFI_CONFIG_HOME selects an isolated configuration directory. Explicit SDK credentials take precedence over YOLFI_API_KEY, which takes precedence over the stored local credential. Do not set a placeholder YOLFI_API_KEY when using browser authorization.
For an explicitly new account, the agent can use email-confirmed signup after the owner supplies or confirms the email and project name:
npx -y @yolfi/agent auth:agent-register \
--email "owner@example.com" \
--project-name "My product" \
--agent-name "My coding agent" \
--integration-intent accept_paymentsThe first call sends a confirmation link. After the owner opens it, the agent repeats the same command. A generated idempotency key and pending check-in token are persisted; an optional --idempotency-key must be 16-200 characters and reused on retries. The connected credential is stored without printing it. Existing emails use browser authorization instead. A lost initial signup response is recoverable; if the one-time credential response is lost after redemption, check auth:status and start browser authorization again if needed.
MCP server for crypto payments
Use an already connected Yolfi server first. Connection selection depends on the tools available in the agent's environment, not just its brand. Full host setup instructions live in the connection reference.
An authenticated MCP connection needs no additional organization API key. Continue through its tools, including Checkout Session creation; skip local CLI setup unless a separate local workflow is actually needed. Local MCP uses its stored browser-setup credential automatically. Application server credentials are a separate concern, described below.
Remote Streamable HTTP:
https://app.yolfi.com/mcp, with OAuth managed by the MCP host.Local stdio:
npx -y @yolfi/agent mcp, using the protected local credential.
A single local server provides payment tools, knowledge resources, and guided prompts:
{
"mcpServers": {
"yolfi": {
"command": "npx",
"args": ["-y", "@yolfi/agent", "mcp"]
}
}
}The bundled Codex and Claude plugins start the local server. Local-only tools include yolfi_agent_setup_start, yolfi_agent_checkin, yolfi_agent_register, and yolfi_webhooks_verify. Remote MCP uses host OAuth. Verify it with yolfi_auth_status in that host, not a separate CLI login. An environment that cannot run commands must use a supported remote connector; the agent should explain only the required owner action if the host cannot configure it automatically.
Core tools include organization read/update, settlement configuration, webhook endpoint list/create/update/rotation/removal, paylink list/get/create/disable, yolfi_checkout_sessions_create, yolfi_checkout_sessions_get, and payment create/status. Tool availability should be read from the connected server. Checkout Session tools and settlement merge require a backend that supports those endpoints; do not silently fall back to replacing organization settlement settings.
Reuse resources before creating them
npx -y @yolfi/agent organization:get
npx -y @yolfi/agent paylinks:list --page 1 --rows 10
npx -y @yolfi/agent webhooks:listRead all relevant pages and the project's existing configuration. Reuse approved wallets, prices, matching paylinks, and webhook endpoints. settlement:configure sends PATCH /api/private/organization/settlement-accounts, updating only supplied networks and preserving other networks. Changing an existing wallet still requires an owner-approved address.
Create JSON payload files in the target project before passing them to --json; package examples are not automatically copied there. For example, after confirming these product values:
cat > yolfi-paylink.json <<'JSON'
{
"name": "Premium Download",
"price": "19",
"currency": "USD",
"type": "ONE_TIME",
"collectEmail": true
}
JSON
npx -y @yolfi/agent paylinks:create --json ./yolfi-paylink.jsonSee examples for payload shapes. If create times out, list resources before retrying. Webhook create is not an upsert; creating the same URL twice creates independent endpoints with different secrets.
Webhook secrets and deployment
Local CLI/MCP create and rotate operations save the endpoint signing secret in the protected local config and return redacted metadata with signingSecretStored: true. Lists and updates never return the secret. Use the endpoint ID for local verification:
npx -y @yolfi/agent webhooks:verify \
--endpoint-id <endpointId> \
--payload ./raw-webhook.json \
--signature <signature>YOLFI_WEBHOOK_SECRET can supply a server/CI secret. Plaintext --secret flags and MCP secret arguments are not supported; use the endpoint ID or environment. An API key or an agent credential is never a webhook signing secret.
Install the SDK for application code:
npm install @yolfi/agentFor a local provisioning script, readWebhookSigningSecret(endpointId) retrieves a stored secret. Pass it directly to the target deployment's secret manager or an existing ignored environment file without printing it. The app should read its deployed YOLFI_WEBHOOK_SECRET; it should not depend on a developer machine's ~/.yolfi. Direct SDK create/rotate methods return the API response so trusted server code can store the secret itself.
import { readWebhookSigningSecret, verifyWebhookSignature } from '@yolfi/agent';
// Provisioning script only: pass this value to your existing secret manager.
const signingSecret = readWebhookSigningSecret(endpointId);
if (!signingSecret) throw new Error('Stored endpoint secret is missing');
// Application webhook handler: verify the raw body with the deployed secret.
const valid = verifyWebhookSignature(rawBody, signature, process.env.YOLFI_WEBHOOK_SECRET);
if (!valid) throw new Error('Invalid Yolfi webhook signature');Reuse a matching endpoint and its installed secret. If its secret is unavailable, explain the required recovery instead of silently rotating a live secret or creating a duplicate. Rotation and removal require explicit confirmation. Analytics endpoints use NONE without metadata filters; generic filters are optional flat string maps for explicit current-payment categories, never authorization or tenant routing.
JavaScript SDK and application runtime
Fixed-paylink checkout uses a public checkout URL. Public payment creation and status checks also need no organization API key. Keep the paylink ID in app configuration and verify access grants using signed webhook events or authoritative payment status.
Dynamic, server-priced orders use authenticated Checkout Session creation. The backend calculates the amount and uses its own server credential; the MCP host's OAuth session is not an application credential. A deployed service needs an intentionally provisioned secret. Never copy host OAuth tokens into the app or assume a local CLI login exists in production.
import { YolfiClient } from '@yolfi/agent';
if (!process.env.YOLFI_API_KEY) throw new Error('Server credential is not provisioned');
const yolfi = new YolfiClient({ apiKey: process.env.YOLFI_API_KEY });
const session = await yolfi.createCheckoutSession({
amount: '19',
currency: 'USD',
merchantOrderId: 'order-123',
clientReferenceId: 'user-123',
}, { idempotencyKey: 'checkout-order-123' });Use paylinkId instead of amount and currency for a paylink-backed session. Standalone sessions require a stable idempotency key and support one-time payments. Public payment creation accepts paylinkId or checkoutSessionId, plus network and symbol; customer email must be supplied directly or already present in the session. Payment metadata and paylink paymentMetadata accept flat string, finite-number, or boolean values. clientReferenceId should be a stable app user/customer ID for subscription attribution.
Choose the payment network and token from the organization's or paylink's supported-token catalog. Litecoin uses network: "LTC" and symbol: "LTC"; availability depends on the deployment and organization settings.
The SDK getApiKey() reads the full organization API key when authorized. It is not a status check and must not be printed as diagnostic output. Use authStatus() for account verification.
CLI commands
npx -y @yolfi/agent organization:update --json ./organization.json
npx -y @yolfi/agent settlement:configure --json ./settlement.json
npx -y @yolfi/agent webhooks:add --name Application --url https://example.com/api/yolfi/webhook --adapter NONE
npx -y @yolfi/agent webhooks:update --id <endpointId> --json ./endpoint.json
npx -y @yolfi/agent webhooks:rotate-secret --id <endpointId> --confirm
npx -y @yolfi/agent webhooks:remove --id <endpointId> --confirm
npx -y @yolfi/agent paylinks:get --id <paylinkId>
npx -y @yolfi/agent paylinks:disable --id <paylinkId> --confirm
npx -y @yolfi/agent checkout-sessions:create --json ./checkout-session.json --idempotency-key <stable-order-key>
npx -y @yolfi/agent checkout-sessions:get --id <checkoutSessionId>
npx -y @yolfi/agent payments:create --json ./payment.json
npx -y @yolfi/agent payments:status --id <paymentId>Operational commands print JSON. help prints usage text; mcp speaks the MCP protocol. Payload files must exist in your working directory. organization:update is a generic API update; use settlement:configure to preserve unmentioned networks.
Verification
Report account authorization, local tests, deployment configuration, and live payment/webhook verification separately. A redirect, a successful connection, or a local signature test is not proof that the full payment path works. Preserve the app's existing billing and entitlement logic, and do not create paid test activity merely to claim verification.
Package checks: npm run check. No package publication or directory approval is implied by a local version or passing tests.
Available Tools
21 toolsyolfi_agent_checkinCheck In Yolfi Agent SetupAInspect
Check whether browser authorization finished. On success, securely stores the returned yolfi_agent_* credential for later local SDK, CLI, and MCP calls.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | Stable lowercase slug used for yolfi_agent_setup_start. | |
| agentId | No | Compatibility alias for agent. Use agent for new integrations. |
yolfi_agent_registerCreate Yolfi Account For UserAInspect
Start signup for a new Yolfi user from a user-confirmed email. The first call sends a confirmation link and stores protected check-in state; call the same tool again after confirmation to store the one-time credential without exposing it.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | Optional source tag such as mcp, glama, npm, docs, codex, claude-code, or cursor. | |
| Yes | New Yolfi account email explicitly confirmed by the user. Existing Yolfi account emails are rejected and must use OAuth or browser setup. | ||
| language | No | Optional preferred language code for agent-facing responses. | |
| metadata | No | Optional safe non-secret metadata. Do not include API keys, wallet private keys, tokens, or personal secrets. | |
| agentName | Yes | Name of the coding agent or MCP host, for example Codex, Claude Code, Cursor, or OpenClaw. | |
| projectUrl | No | Optional public or local URL of the target product, if known. | |
| projectName | Yes | User-approved product or project name for the Yolfi workspace. | |
| idempotencyKey | No | Optional retry key. Reuse the same value when calling this tool after email confirmation; a UUID is generated and persisted when omitted. | |
| integrationIntent | No | User-approved reason for the integration. Defaults to accept_payments when omitted. | accept_payments |
yolfi_agent_setup_startStart Yolfi Agent SetupAInspect
Start the preferred browser-based Yolfi authorization flow. Returns a login URL and stores only a short-lived check-in token in the protected local Yolfi config.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | Stable lowercase slug for the MCP host, for example codex, claude-code, cursor, or local-agent. | |
| agentId | No | Compatibility alias for agent. Use agent for new integrations. |
yolfi_auth_statusCheck Yolfi Auth StatusARead-onlyIdempotentInspect
Verify this local MCP connection using its stored agent credential or explicit credential override and return the current organization. No additional API key is needed after browser setup.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
yolfi_checkout_sessions_createCreate Yolfi Checkout SessionAInspect
Create hosted checkout for an existing paylink or a server-approved standalone amount and currency. Reuse the same idempotencyKey for the same order on retries.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | No | Positive decimal string for standalone checkout, calculated by trusted server code. | |
| currency | No | Required for standalone checkout. Must match the approved order currency. | |
| metadata | No | Flat non-secret metadata with string, finite number, or boolean values. | |
| cancelUrl | No | Approved return URL when checkout is cancelled. | |
| paylinkId | No | Existing paylink ID. Omit amount and currency when supplied; the paylink determines the price. | |
| successUrl | No | Approved return URL after checkout. A redirect is not proof of payment. | |
| description | No | Optional customer-facing description of the approved purchase. | |
| customerName | No | Optional customer name already known to the merchant. | |
| customerEmail | No | Optional known customer email. Checkout must collect an email before creating a payment if it is absent. | |
| idempotencyKey | No | Stable retry key, required for standalone sessions and recommended for every order. Reuse with the identical request. | |
| subscriptionId | No | Existing subscription ID for a paylink-backed session only. | |
| merchantOrderId | No | Stable merchant-side order identifier for reconciliation. | |
| expiresInMinutes | No | Checkout lifetime in minutes; defaults to 60. | |
| clientReferenceId | No | Stable merchant customer or user ID for webhook attribution. |
yolfi_checkout_sessions_getGet Yolfi Checkout SessionARead-onlyIdempotentInspect
Read a Checkout Session belonging to the authenticated organization and inspect its payment state.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Checkout Session public ID returned by create, beginning with ycs_. |
yolfi_organization_getGet Yolfi OrganizationARead-onlyIdempotentInspect
Read the current Yolfi organization settings, including webhook and settlement configuration available to this authenticated connection.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
yolfi_organization_updateUpdate Yolfi OrganizationBInspect
Update organization profile fields through the existing Yolfi organization endpoint. Do not invent merchant identity, support email, or settlement settings.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Merchant or project display name approved by the user. | |
| No | Merchant support or account email approved by the user. | ||
| logoUrl | No | Existing or owner-approved public organization logo URL. | |
| feePayer | No | Owner-approved party paying the platform fee. | |
| disableAllEmailNotifications | No | Owner-approved setting to disable all organization email notifications. |
yolfi_paylinks_createCreate Yolfi PaylinkAInspect
Create a Yolfi payment link only after the user approves product name, amount, currency, and one-time or recurring payment type.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | User-approved product, plan, donation, or access name shown on checkout. | |
| type | No | Payment link type: ONE_TIME or RECURRING. | |
| price | Yes | User-approved decimal price, represented as a string to avoid numeric rounding. | |
| currency | No | Account currency code. Supported values are USD, EUR, and CNY. | |
| imageUrl | No | Optional public product image URL shown on checkout. | |
| metadata | No | Safe non-secret metadata such as source, productSlug, planId, or environment. | |
| collectName | No | Whether checkout should collect the customer name. | |
| description | No | Optional user-approved customer-facing description. | |
| collectEmail | No | Whether checkout should collect customer email. | |
| collectAddress | No | Whether checkout should collect the customer address. | |
| paymentMetadata | No | Default payment metadata as a flat map of strings, finite numbers, or booleans; do not use customer-controlled metadata as authorization. | |
| recurringInterval | No | Recurring billing interval when type is RECURRING. | |
| collectDateOfBirth | No | Whether checkout should collect the customer date of birth. | |
| collectPhoneNumber | No | Whether checkout should collect the customer phone number. | |
| recurringIntervalCount | No | Multiplier for the recurring interval; the backend applies the interval-specific maximum. |
yolfi_paylinks_disableDisable Yolfi PaylinkADestructiveInspect
Disable a paylink. This is destructive and must only run after explicit user confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Yolfi paylink ID to disable. | |
| confirm | Yes | Must be true only after explicit user confirmation. |
yolfi_paylinks_getGet Yolfi PaylinkARead-onlyIdempotentInspect
Get private paylink details by ID for verification, checkout wiring, or duplicate detection.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Yolfi paylink ID returned by yolfi_paylinks_create or yolfi_paylinks_list. |
yolfi_paylinks_listList Yolfi PaylinksARead-onlyIdempotentInspect
List existing Yolfi paylinks before creating new ones so agents can avoid duplicates after retries or timeouts.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number. Defaults to 1. | |
| rows | No | Rows per page. Defaults to 10. |
yolfi_payments_createCreate Yolfi Public PaymentBInspect
Create a public payment invoice from an existing paylink or Checkout Session for checkout integration, testing, or customer flow setup.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Payment token symbol supported on the selected network, for example USDC on ARB or LTC on LTC. | |
| network | Yes | Choose a network enabled in the organization or paylink supported-token catalog. Litecoin uses LTC. | |
| language | No | Optional checkout language code supported by Yolfi. | |
| metadata | No | Safe non-secret metadata for the target app payment flow. | |
| paylinkId | No | Existing paylink ID, required unless checkoutSessionId supplies the checkout context. | |
| customerName | No | Optional customer name. | |
| customerEmail | No | Customer email, required unless already present in the referenced Checkout Session. Do not invent an email. | |
| customerPhone | No | Optional customer phone number. | |
| subscriptionId | No | Optional existing subscription ID to associate the payment with. | |
| customerAddress | No | Optional customer address. | |
| checkoutSessionId | No | Checkout Session public ID. The session supplies trusted amount, currency, and optional customer email. | |
| clientReferenceId | No | Optional merchant reference for the customer or order; returned as customer.clientReferenceId in webhook payloads. | |
| customerDateOfBirth | No | Optional customer date of birth. |
yolfi_payments_statusGet Yolfi Payment StatusARead-onlyIdempotentInspect
Get public payment status by ID. Do not treat a frontend redirect as proof of payment.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Yolfi payment ID returned by yolfi_payments_create. |
yolfi_settlement_configureConfigure Yolfi Settlement WalletsAInspect
Add or update only the supplied settlement networks, preserving other configured networks. Read current settings first and reuse approved wallet addresses; ask only for missing wallet or token decisions.
| Name | Required | Description | Default |
|---|---|---|---|
| settlementAccounts | Yes | Networks to add or update through PATCH /api/private/organization/settlement-accounts. Other networks are preserved. Example fields: id, address, tokens. |
yolfi_webhooks_configureConfigure Yolfi WebhooksAInspect
Create a webhook endpoint only after listing and reusing any matching endpoint. Stores its signing secret locally without returning plaintext. Use an existing app URL and verify X-Yolfi-Signature.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | HTTPS webhook URL in the target app, for example https://example.com/api/yolfi/webhook. | |
| name | No | Endpoint display name, for example Merchant analytics. | |
| adapter | No | Webhook adapter output format. Defaults to NONE if omitted. | |
| enabled | No | Whether the new webhook endpoint receives deliveries. Defaults to true. | |
| metadataFilters | No | Optional flat key/value metadata filters. A delivery must match every configured string value. |
yolfi_webhooks_deleteDelete Yolfi Webhook EndpointADestructiveIdempotentInspect
Delete an unused webhook endpoint or disable it when existing delivery history must be retained.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Webhook endpoint id. | |
| confirm | Yes | Must be true only after explicit user confirmation. |
yolfi_webhooks_listList Yolfi Webhook EndpointsARead-onlyIdempotentInspect
List all independent webhook endpoints configured for the current organization.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
yolfi_webhooks_rotate_secretRotate Yolfi Webhook Signing SecretADestructiveInspect
Rotate an endpoint-specific webhook signing secret and store it in the protected local Yolfi config without returning the plaintext secret.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Webhook endpoint id. | |
| confirm | Yes | Must be true only after explicit user confirmation. |
yolfi_webhooks_updateUpdate Yolfi Webhook EndpointBIdempotentInspect
Update the name, URL, adapter, or enabled state of one independent Yolfi webhook endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Webhook endpoint id. | |
| url | No | HTTPS webhook URL. | |
| name | No | Endpoint display name. | |
| adapter | No | Webhook adapter output format. | |
| enabled | No | Whether this endpoint receives new deliveries. | |
| metadataFilters | No | Optional flat key/value metadata filters. A delivery must match every configured string value. |
yolfi_webhooks_verifyVerify Yolfi Webhook SignatureARead-onlyIdempotentInspect
Verify an X-Yolfi-Signature HMAC over the raw JSON webhook payload before trusting payment events.
| Name | Required | Description | Default |
|---|---|---|---|
| payload | Yes | Raw webhook request body string, before JSON parsing. | |
| signature | Yes | X-Yolfi-Signature header value. | |
| endpointId | No | Webhook endpoint id whose signing secret was stored locally during create or rotate. YOLFI_WEBHOOK_SECRET takes precedence when set. |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
15 tool updates
v0.2.1- Added
yolfi_agent_checkin - Changed
yolfi_agent_register3 fields changed- added
Input schema / properties / emailAdded value: +{ + "description": "New Yolfi account email explicitly confirmed by the user. Existing Yolfi account emails are rejected and must use OAuth or browser setup.", + "format": "email", + "type": "string" +} - added
Input schema / properties / idempotencyKeyAdded value: +{ + "description": "Optional retry key. Reuse the same value when calling this tool after email confirmation; a UUID is generated and persisted when omitted.", + "maxLength": 200, + "minLength": 16, + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "agentName", - "projectName" -]New value: +[ + "email", + "agentName", + "projectName" +]
- Added
yolfi_agent_setup_start - Added
yolfi_checkout_sessions_create - Added
yolfi_checkout_sessions_get - Changed
yolfi_organization_update5 fields changed- added
Input schema / properties / disableAllEmailNotificationsAdded value: +{ + "description": "Owner-approved setting to disable all organization email notifications.", + "type": "boolean" +} - added
Input schema / properties / feePayerAdded value: +{ + "description": "Owner-approved party paying the platform fee.", + "enum": [ + "MERCHANT", + "CUSTOMER" + ], + "type": "string" +} - added
Input schema / properties / logoUrlAdded value: +{ + "description": "Existing or owner-approved public organization logo URL.", + "type": "string" +} - removed
Input schema / properties / webhookAdapterRemoved value: -{ - "description": "Webhook adapter output format. Use NONE unless the target app expects a compatible provider payload.", - "enum": [ - "NONE", - "STRIPE", - "LEMON_SQUEEZY", - "PADDLE", - "POLAR", - "GUMROAD", - "DODO" - ], - "type": "string" -} - removed
Input schema / properties / webhookUrlRemoved value: -{ - "description": "HTTPS webhook endpoint in the target application. Ask the user if the backend URL is unknown.", - "type": "string" -}
- Changed
yolfi_paylinks_create14 fields changed- added
Input schema / properties / collectAddressAdded value: +{ + "description": "Whether checkout should collect the customer address.", + "type": "boolean" +} - added
Input schema / properties / collectDateOfBirthAdded value: +{ + "description": "Whether checkout should collect the customer date of birth.", + "type": "boolean" +} - added
Input schema / properties / collectNameAdded value: +{ + "description": "Whether checkout should collect the customer name.", + "type": "boolean" +} - added
Input schema / properties / collectPhoneNumberAdded value: +{ + "description": "Whether checkout should collect the customer phone number.", + "type": "boolean" +} - changed
Input schema / properties / currency / descriptionPrevious value: -"Fiat or account currency code approved by the user, for example USD."New value: +"Account currency code. Supported values are USD, EUR, and CNY." - added
Input schema / properties / currency / enumAdded value: +[ + "USD", + "EUR", + "CNY" +] - added
Input schema / properties / imageUrlAdded value: +{ + "description": "Optional public product image URL shown on checkout.", + "type": "string" +} - added
Input schema / properties / paymentMetadataAdded value: +{ + "description": "Default payment metadata as a flat map of strings, finite numbers, or booleans; do not use customer-controlled metadata as authorization.", + "type": "object" +} - changed
Input schema / properties / recurringInterval / descriptionPrevious value: -"Recurring interval when creating a recurring payment link."New value: +"Recurring billing interval when type is RECURRING." - added
Input schema / properties / recurringInterval / enumAdded value: +[ + "WEEK", + "BIWEEK", + "TWO_DAYS", + "MONTH", + "BIMONTH", + "QUARTER", + "BIANNUAL", + "YEARLY" +] - added
Input schema / properties / recurringIntervalCountAdded value: +{ + "description": "Multiplier for the recurring interval; the backend applies the interval-specific maximum.", + "maximum": 183, + "minimum": 1, + "type": "integer" +} - changed
Input schema / properties / type / descriptionPrevious value: -"Payment link type approved by the user, for example ONE_TIME or RECURRING."New value: +"Payment link type: ONE_TIME or RECURRING." - added
Input schema / properties / type / enumAdded value: +[ + "ONE_TIME", + "RECURRING" +] - changed
Input schema / requiredPrevious value: -[ - "name", - "price", - "currency", - "type" -]New value: +[ + "name", + "price" +]
- Changed
yolfi_payments_create14 fields changed- added
Input schema / properties / checkoutSessionIdAdded value: +{ + "description": "Checkout Session public ID. The session supplies trusted amount, currency, and optional customer email.", + "pattern": "^ycs_[a-f0-9]{32}$", + "type": "string" +} - added
Input schema / properties / clientReferenceIdAdded value: +{ + "description": "Optional merchant reference for the customer or order; returned as customer.clientReferenceId in webhook payloads.", + "type": "string" +} - added
Input schema / properties / customerAddressAdded value: +{ + "description": "Optional customer address.", + "type": "string" +} - added
Input schema / properties / customerDateOfBirthAdded value: +{ + "description": "Optional customer date of birth.", + "type": "string" +} - changed
Input schema / properties / customerEmail / descriptionPrevious value: -"Optional customer email for checkout or receipts."New value: +"Customer email, required unless already present in the referenced Checkout Session. Do not invent an email." - added
Input schema / properties / customerNameAdded value: +{ + "description": "Optional customer name.", + "type": "string" +} - added
Input schema / properties / customerPhoneAdded value: +{ + "description": "Optional customer phone number.", + "type": "string" +} - added
Input schema / properties / languageAdded value: +{ + "description": "Optional checkout language code supported by Yolfi.", + "type": "string" +} - changed
Input schema / properties / network / descriptionPrevious value: -"Blockchain network identifier supported by the Yolfi organization, for example ARB."New value: +"Choose a network enabled in the organization or paylink supported-token catalog. Litecoin uses LTC." - added
Input schema / properties / network / enumAdded value: +[ + "ETH", + "ARB", + "OP", + "BASE", + "BNB", + "SOL", + "TRON", + "LTC" +] - changed
Input schema / properties / paylinkId / descriptionPrevious value: -"Yolfi paylink ID used to create the customer payment."New value: +"Existing paylink ID, required unless checkoutSessionId supplies the checkout context." - added
Input schema / properties / subscriptionIdAdded value: +{ + "description": "Optional existing subscription ID to associate the payment with.", + "type": "string" +} - changed
Input schema / properties / symbol / descriptionPrevious value: -"Payment token symbol supported on the selected network, for example USDC."New value: +"Payment token symbol supported on the selected network, for example USDC on ARB or LTC on LTC." - changed
Input schema / requiredPrevious value: -[ - "paylinkId", - "network", - "symbol" -]New value: +[ + "network", + "symbol" +]
- Changed
yolfi_settlement_configure1 field changed- changed
Input schema / properties / settlementAccounts / descriptionPrevious value: -"Settlement account objects accepted by the Yolfi organization endpoint. Example fields: id, address, tokens."New value: +"Networks to add or update through PATCH /api/private/organization/settlement-accounts. Other networks are preserved. Example fields: id, address, tokens."
- Changed
yolfi_webhooks_configure4 fields changed- changed
Input schema / properties / adapter / enumPrevious value: -[ - "NONE", - "STRIPE", - "LEMON_SQUEEZY", - "PADDLE", - "POLAR", - "GUMROAD", - "DODO" -]New value: +[ + "NONE", + "STRIPE", + "LEMON_SQUEEZY" +] - added
Input schema / properties / enabledAdded value: +{ + "description": "Whether the new webhook endpoint receives deliveries. Defaults to true.", + "type": "boolean" +} - added
Input schema / properties / metadataFiltersAdded value: +{ + "additionalProperties": { + "maxLength": 255, + "type": "string" + }, + "description": "Optional flat key/value metadata filters. A delivery must match every configured string value.", + "maxProperties": 10, + "propertyNames": { + "maxLength": 100 + }, + "type": "object" +} - added
Input schema / properties / nameAdded value: +{ + "description": "Endpoint display name, for example Merchant analytics.", + "type": "string" +}
- Added
yolfi_webhooks_delete - Added
yolfi_webhooks_list - Added
yolfi_webhooks_rotate_secret - Added
yolfi_webhooks_update - Changed
yolfi_webhooks_verify2 fields changed- added
Input schema / properties / endpointIdAdded value: +{ + "description": "Webhook endpoint id whose signing secret was stored locally during create or rotate. YOLFI_WEBHOOK_SECRET takes precedence when set.", + "type": "string" +} - removed
Input schema / properties / secretRemoved value: -{ - "description": "Optional explicit webhook secret. Defaults to YOLFI_WEBHOOK_SECRET or YOLFI_API_KEY.", - "type": "string" -}
1 tool update
v0.1.4- Changed
yolfi_agent_register2 fields changed- added
Input schema / properties / integrationIntent / defaultAdded value: +"accept_payments" - changed
Input schema / properties / integrationIntent / descriptionPrevious value: -"User-approved reason for the integration, for example accept_payments, subscription, donation, or sell_digital_product."New value: +"User-approved reason for the integration. Defaults to accept_payments when omitted."
1 tool update
v0.1.1- Added
yolfi_agent_register
12 tool updates
v0.1.0- First observed
yolfi_auth_status - First observed
yolfi_organization_get - First observed
yolfi_organization_update - First observed
yolfi_paylinks_create - First observed
yolfi_paylinks_disable - First observed
yolfi_paylinks_get - First observed
yolfi_paylinks_list - First observed
yolfi_payments_create - First observed
yolfi_payments_status - First observed
yolfi_settlement_configure - First observed
yolfi_webhooks_configure - First observed
yolfi_webhooks_verify
TDQS
Scored across 21 tools
Most resource groups are clearly separated, but three creation tools (yolfi_paylinks_create, yolfi_checkout_sessions_create, yolfi_payments_create) have overlapping purposes that require careful reading to choose correctly. The four auth tools (agent_setup_start, agent_register, agent_checkin, auth_status) also have subtle boundaries, especially since checkin is shared across two flows, and webhooks_configure vs webhooks_update blur create/update.
The dominant yolfi_<resource>_<action> snake_case pattern is applied consistently across paylinks, checkout_sessions, webhooks, organization, and payments. Minor deviations exist: yolfi_agent_setup_start puts the verb last, yolfi_agent_checkin has no resource/action split, and yolfi_webhooks_configure is really a create operation named inconsistently with the rest of the CRUD set.
At 21 tools the surface is on the heavy side for a payments server, and the auth group alone consumes four tools that could likely be consolidated. The webhook group (six tools) is defensible given full lifecycle needs, but overall the count sits at the borderline of the 16-25 range.
Webhooks have full CRUD plus rotate and verify, and paylinks cover create/get/list/disable, but there are notable gaps: no paylink update or re-enable, no checkout session list or cancel/expire, and no payment list or refund operation. Agents handling real payment workflows will hit dead ends around refunds and session cleanup.
Maintenance
Related MCP Connectors
Crypto payments for AI agents: self-serve account, invoices, receiving, payouts, exchange.
Keyless non-custodial crypto payments for AI agents: payment links and tip jars, no API key.
Crypto pay links and API for people and AI agents. BTC, Lightning, USDC, USDT, EURC, SOL, ETH.
Stripe payments for AI agents. Create links, verify, manage customers.
Related MCP Servers
- FlicenseNot gradedqualityAmaintenanceEnables AI coding agents to register a Yolfi workspace, create crypto paylinks and hosted checkout, poll payment status, and configure or verify signed webhooks so applications can accept stablecoin payments. Provides these payment workflows over stdio through JSON-first tools, alongside a CLI and SDK.-
- FlicenseNot gradedqualityAmaintenanceEnables AI coding agents to integrate stablecoin checkout, payment links, payment status checks, webhook verification, and webhook-based entitlement logic into applications.-
- FlicenseNot gradedqualityAmaintenanceEnables AI coding agents to add stablecoin checkout, payment links, payment status checks, and webhook-based access logic to applications through Yolfi.-
- FlicenseNot gradedqualityAmaintenanceEnables AI coding agents to integrate stablecoin checkout, create payment links, check crypto payment status, verify webhooks, and implement webhook-based access logic through Yolfi.-