Skip to main content
Glama
Yolfi
by yolfinance

Yolfi Agent Kit: AI agent payment integration for crypto checkout

Yolfi Agent Kit: AI Agent Payment Integration

npm version MIT license Node.js 18+

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/ai

The 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:status

If 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:status

The 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_payments

The 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:list

Read 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.json

See 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/agent

For 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 tools
yolfi_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.

NameRequiredDescriptionDefault
agentNoStable lowercase slug used for yolfi_agent_setup_start.
agentIdNoCompatibility 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.

NameRequiredDescriptionDefault
refNoOptional source tag such as mcp, glama, npm, docs, codex, claude-code, or cursor.
emailYesNew Yolfi account email explicitly confirmed by the user. Existing Yolfi account emails are rejected and must use OAuth or browser setup.
languageNoOptional preferred language code for agent-facing responses.
metadataNoOptional safe non-secret metadata. Do not include API keys, wallet private keys, tokens, or personal secrets.
agentNameYesName of the coding agent or MCP host, for example Codex, Claude Code, Cursor, or OpenClaw.
projectUrlNoOptional public or local URL of the target product, if known.
projectNameYesUser-approved product or project name for the Yolfi workspace.
idempotencyKeyNoOptional retry key. Reuse the same value when calling this tool after email confirmation; a UUID is generated and persisted when omitted.
integrationIntentNoUser-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.

NameRequiredDescriptionDefault
agentNoStable lowercase slug for the MCP host, for example codex, claude-code, cursor, or local-agent.
agentIdNoCompatibility alias for agent. Use agent for new integrations.
yolfi_auth_statusCheck Yolfi Auth StatusA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault

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.

NameRequiredDescriptionDefault
amountNoPositive decimal string for standalone checkout, calculated by trusted server code.
currencyNoRequired for standalone checkout. Must match the approved order currency.
metadataNoFlat non-secret metadata with string, finite number, or boolean values.
cancelUrlNoApproved return URL when checkout is cancelled.
paylinkIdNoExisting paylink ID. Omit amount and currency when supplied; the paylink determines the price.
successUrlNoApproved return URL after checkout. A redirect is not proof of payment.
descriptionNoOptional customer-facing description of the approved purchase.
customerNameNoOptional customer name already known to the merchant.
customerEmailNoOptional known customer email. Checkout must collect an email before creating a payment if it is absent.
idempotencyKeyNoStable retry key, required for standalone sessions and recommended for every order. Reuse with the identical request.
subscriptionIdNoExisting subscription ID for a paylink-backed session only.
merchantOrderIdNoStable merchant-side order identifier for reconciliation.
expiresInMinutesNoCheckout lifetime in minutes; defaults to 60.
clientReferenceIdNoStable merchant customer or user ID for webhook attribution.
yolfi_checkout_sessions_getGet Yolfi Checkout SessionA
Read-onlyIdempotent
Inspect

Read a Checkout Session belonging to the authenticated organization and inspect its payment state.

NameRequiredDescriptionDefault
idYesCheckout Session public ID returned by create, beginning with ycs_.
yolfi_organization_getGet Yolfi OrganizationA
Read-onlyIdempotent
Inspect

Read the current Yolfi organization settings, including webhook and settlement configuration available to this authenticated connection.

NameRequiredDescriptionDefault

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.

NameRequiredDescriptionDefault
nameNoMerchant or project display name approved by the user.
emailNoMerchant support or account email approved by the user.
logoUrlNoExisting or owner-approved public organization logo URL.
feePayerNoOwner-approved party paying the platform fee.
disableAllEmailNotificationsNoOwner-approved setting to disable all organization email notifications.
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.

NameRequiredDescriptionDefault
symbolYesPayment token symbol supported on the selected network, for example USDC on ARB or LTC on LTC.
networkYesChoose a network enabled in the organization or paylink supported-token catalog. Litecoin uses LTC.
languageNoOptional checkout language code supported by Yolfi.
metadataNoSafe non-secret metadata for the target app payment flow.
paylinkIdNoExisting paylink ID, required unless checkoutSessionId supplies the checkout context.
customerNameNoOptional customer name.
customerEmailNoCustomer email, required unless already present in the referenced Checkout Session. Do not invent an email.
customerPhoneNoOptional customer phone number.
subscriptionIdNoOptional existing subscription ID to associate the payment with.
customerAddressNoOptional customer address.
checkoutSessionIdNoCheckout Session public ID. The session supplies trusted amount, currency, and optional customer email.
clientReferenceIdNoOptional merchant reference for the customer or order; returned as customer.clientReferenceId in webhook payloads.
customerDateOfBirthNoOptional customer date of birth.
yolfi_payments_statusGet Yolfi Payment StatusA
Read-onlyIdempotent
Inspect

Get public payment status by ID. Do not treat a frontend redirect as proof of payment.

NameRequiredDescriptionDefault
idYesYolfi 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.

NameRequiredDescriptionDefault
settlementAccountsYesNetworks 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.

NameRequiredDescriptionDefault
urlYesHTTPS webhook URL in the target app, for example https://example.com/api/yolfi/webhook.
nameNoEndpoint display name, for example Merchant analytics.
adapterNoWebhook adapter output format. Defaults to NONE if omitted.
enabledNoWhether the new webhook endpoint receives deliveries. Defaults to true.
metadataFiltersNoOptional flat key/value metadata filters. A delivery must match every configured string value.
yolfi_webhooks_deleteDelete Yolfi Webhook EndpointA
DestructiveIdempotent
Inspect

Delete an unused webhook endpoint or disable it when existing delivery history must be retained.

NameRequiredDescriptionDefault
idYesWebhook endpoint id.
confirmYesMust be true only after explicit user confirmation.
yolfi_webhooks_listList Yolfi Webhook EndpointsA
Read-onlyIdempotent
Inspect

List all independent webhook endpoints configured for the current organization.

NameRequiredDescriptionDefault

No parameters

yolfi_webhooks_rotate_secretRotate Yolfi Webhook Signing SecretA
Destructive
Inspect

Rotate an endpoint-specific webhook signing secret and store it in the protected local Yolfi config without returning the plaintext secret.

NameRequiredDescriptionDefault
idYesWebhook endpoint id.
confirmYesMust be true only after explicit user confirmation.
yolfi_webhooks_updateUpdate Yolfi Webhook EndpointB
Idempotent
Inspect

Update the name, URL, adapter, or enabled state of one independent Yolfi webhook endpoint.

NameRequiredDescriptionDefault
idYesWebhook endpoint id.
urlNoHTTPS webhook URL.
nameNoEndpoint display name.
adapterNoWebhook adapter output format.
enabledNoWhether this endpoint receives new deliveries.
metadataFiltersNoOptional flat key/value metadata filters. A delivery must match every configured string value.
yolfi_webhooks_verifyVerify Yolfi Webhook SignatureA
Read-onlyIdempotent
Inspect

Verify an X-Yolfi-Signature HMAC over the raw JSON webhook payload before trusting payment events.

NameRequiredDescriptionDefault
payloadYesRaw webhook request body string, before JSON parsing.
signatureYesX-Yolfi-Signature header value.
endpointIdNoWebhook 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.

  1. 15 tool updatesv0.2.1
    • Addedyolfi_agent_checkin
    • Changedyolfi_agent_register3 fields changed
      • addedInput schema / properties / email
        Added 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"
        +}
      • addedInput schema / properties / idempotencyKey
        Added 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"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "agentName",
        -  "projectName"
        -]New value: +[
        +  "email",
        +  "agentName",
        +  "projectName"
        +]
    • Addedyolfi_agent_setup_start
    • Addedyolfi_checkout_sessions_create
    • Addedyolfi_checkout_sessions_get
    • Changedyolfi_organization_update5 fields changed
      • addedInput schema / properties / disableAllEmailNotifications
        Added value: +{
        +  "description": "Owner-approved setting to disable all organization email notifications.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / feePayer
        Added value: +{
        +  "description": "Owner-approved party paying the platform fee.",
        +  "enum": [
        +    "MERCHANT",
        +    "CUSTOMER"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / logoUrl
        Added value: +{
        +  "description": "Existing or owner-approved public organization logo URL.",
        +  "type": "string"
        +}
      • removedInput schema / properties / webhookAdapter
        Removed 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"
        -}
      • removedInput schema / properties / webhookUrl
        Removed value: -{
        -  "description": "HTTPS webhook endpoint in the target application. Ask the user if the backend URL is unknown.",
        -  "type": "string"
        -}
    • Changedyolfi_paylinks_create14 fields changed
      • addedInput schema / properties / collectAddress
        Added value: +{
        +  "description": "Whether checkout should collect the customer address.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / collectDateOfBirth
        Added value: +{
        +  "description": "Whether checkout should collect the customer date of birth.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / collectName
        Added value: +{
        +  "description": "Whether checkout should collect the customer name.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / collectPhoneNumber
        Added value: +{
        +  "description": "Whether checkout should collect the customer phone number.",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / currency / description
        Previous 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."
      • addedInput schema / properties / currency / enum
        Added value: +[
        +  "USD",
        +  "EUR",
        +  "CNY"
        +]
      • addedInput schema / properties / imageUrl
        Added value: +{
        +  "description": "Optional public product image URL shown on checkout.",
        +  "type": "string"
        +}
      • addedInput schema / properties / paymentMetadata
        Added 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"
        +}
      • changedInput schema / properties / recurringInterval / description
        Previous value: -"Recurring interval when creating a recurring payment link."New value: +"Recurring billing interval when type is RECURRING."
      • addedInput schema / properties / recurringInterval / enum
        Added value: +[
        +  "WEEK",
        +  "BIWEEK",
        +  "TWO_DAYS",
        +  "MONTH",
        +  "BIMONTH",
        +  "QUARTER",
        +  "BIANNUAL",
        +  "YEARLY"
        +]
      • addedInput schema / properties / recurringIntervalCount
        Added value: +{
        +  "description": "Multiplier for the recurring interval; the backend applies the interval-specific maximum.",
        +  "maximum": 183,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • changedInput schema / properties / type / description
        Previous value: -"Payment link type approved by the user, for example ONE_TIME or RECURRING."New value: +"Payment link type: ONE_TIME or RECURRING."
      • addedInput schema / properties / type / enum
        Added value: +[
        +  "ONE_TIME",
        +  "RECURRING"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "name",
        -  "price",
        -  "currency",
        -  "type"
        -]New value: +[
        +  "name",
        +  "price"
        +]
    • Changedyolfi_payments_create14 fields changed
      • addedInput schema / properties / checkoutSessionId
        Added value: +{
        +  "description": "Checkout Session public ID. The session supplies trusted amount, currency, and optional customer email.",
        +  "pattern": "^ycs_[a-f0-9]{32}$",
        +  "type": "string"
        +}
      • addedInput schema / properties / clientReferenceId
        Added value: +{
        +  "description": "Optional merchant reference for the customer or order; returned as customer.clientReferenceId in webhook payloads.",
        +  "type": "string"
        +}
      • addedInput schema / properties / customerAddress
        Added value: +{
        +  "description": "Optional customer address.",
        +  "type": "string"
        +}
      • addedInput schema / properties / customerDateOfBirth
        Added value: +{
        +  "description": "Optional customer date of birth.",
        +  "type": "string"
        +}
      • changedInput schema / properties / customerEmail / description
        Previous 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."
      • addedInput schema / properties / customerName
        Added value: +{
        +  "description": "Optional customer name.",
        +  "type": "string"
        +}
      • addedInput schema / properties / customerPhone
        Added value: +{
        +  "description": "Optional customer phone number.",
        +  "type": "string"
        +}
      • addedInput schema / properties / language
        Added value: +{
        +  "description": "Optional checkout language code supported by Yolfi.",
        +  "type": "string"
        +}
      • changedInput schema / properties / network / description
        Previous 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."
      • addedInput schema / properties / network / enum
        Added value: +[
        +  "ETH",
        +  "ARB",
        +  "OP",
        +  "BASE",
        +  "BNB",
        +  "SOL",
        +  "TRON",
        +  "LTC"
        +]
      • changedInput schema / properties / paylinkId / description
        Previous value: -"Yolfi paylink ID used to create the customer payment."New value: +"Existing paylink ID, required unless checkoutSessionId supplies the checkout context."
      • addedInput schema / properties / subscriptionId
        Added value: +{
        +  "description": "Optional existing subscription ID to associate the payment with.",
        +  "type": "string"
        +}
      • changedInput schema / properties / symbol / description
        Previous 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."
      • changedInput schema / required
        Previous value: -[
        -  "paylinkId",
        -  "network",
        -  "symbol"
        -]New value: +[
        +  "network",
        +  "symbol"
        +]
    • Changedyolfi_settlement_configure1 field changed
      • changedInput schema / properties / settlementAccounts / description
        Previous 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."
    • Changedyolfi_webhooks_configure4 fields changed
      • changedInput schema / properties / adapter / enum
        Previous value: -[
        -  "NONE",
        -  "STRIPE",
        -  "LEMON_SQUEEZY",
        -  "PADDLE",
        -  "POLAR",
        -  "GUMROAD",
        -  "DODO"
        -]New value: +[
        +  "NONE",
        +  "STRIPE",
        +  "LEMON_SQUEEZY"
        +]
      • addedInput schema / properties / enabled
        Added value: +{
        +  "description": "Whether the new webhook endpoint receives deliveries. Defaults to true.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / metadataFilters
        Added 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"
        +}
      • addedInput schema / properties / name
        Added value: +{
        +  "description": "Endpoint display name, for example Merchant analytics.",
        +  "type": "string"
        +}
    • Addedyolfi_webhooks_delete
    • Addedyolfi_webhooks_list
    • Addedyolfi_webhooks_rotate_secret
    • Addedyolfi_webhooks_update
    • Changedyolfi_webhooks_verify2 fields changed
      • addedInput schema / properties / endpointId
        Added value: +{
        +  "description": "Webhook endpoint id whose signing secret was stored locally during create or rotate. YOLFI_WEBHOOK_SECRET takes precedence when set.",
        +  "type": "string"
        +}
      • removedInput schema / properties / secret
        Removed value: -{
        -  "description": "Optional explicit webhook secret. Defaults to YOLFI_WEBHOOK_SECRET or YOLFI_API_KEY.",
        -  "type": "string"
        -}
  2. 1 tool updatev0.1.4
    • Changedyolfi_agent_register2 fields changed
      • addedInput schema / properties / integrationIntent / default
        Added value: +"accept_payments"
      • changedInput schema / properties / integrationIntent / description
        Previous 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."
  3. 1 tool updatev0.1.1
    • Addedyolfi_agent_register
  4. 12 tool updatesv0.1.0
    • First observedyolfi_auth_status
    • First observedyolfi_organization_get
    • First observedyolfi_organization_update
    • First observedyolfi_paylinks_create
    • First observedyolfi_paylinks_disable
    • First observedyolfi_paylinks_get
    • First observedyolfi_paylinks_list
    • First observedyolfi_payments_create
    • First observedyolfi_payments_status
    • First observedyolfi_settlement_configure
    • First observedyolfi_webhooks_configure
    • First observedyolfi_webhooks_verify

TDQS

A3.5/5.0

Scored across 21 tools

Disambiguation3/5

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.

Naming Consistency4/5

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.

Tool Count3/5

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.

Completeness3/5

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

ActivityMaintained
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables 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.
    -
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables AI coding agents to integrate stablecoin checkout, payment links, payment status checks, webhook verification, and webhook-based entitlement logic into applications.
    -
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables AI coding agents to integrate stablecoin checkout, create payment links, check crypto payment status, verify webhooks, and implement webhook-based access logic through Yolfi.
    -