Install
openclaw skills install payrail402Cross-rail spend tracking for AI agents — Visa IC, Mastercard Agent Pay, Stripe ACP, x402, and ACH in one dashboard.
openclaw skills install payrail402Track every financial transaction your AI agent makes — across any payment rail — in one place.
PayRail402 is the control plane for AI agent transactions. When your agent makes a purchase, payment, or financial operation on Visa Intelligent Commerce, Mastercard Agent Pay, Stripe ACP, x402 (USDC on-chain), or ACH, this skill reports it to your PayRail402 dashboard for budget enforcement, anomaly detection, and cross-rail reconciliation.
Option A — Webhook auth (simplest, one agent):
PAYRAIL402_WEBHOOK_TOKEN=your-webhook-token
Option B — API key auth (multi-agent setups):
PAYRAIL402_API_KEY=pr4_your-key
PAYRAIL402_AGENT_ID=your-agent-id
You only need one auth method. Webhook auth is recommended for single-agent use.
payrail402_trackTrack a financial transaction after any purchase, payment, or financial operation.
Required inputs:
amount — Transaction amount (positive number, USD)description — What the agent did (max 500 chars)Optional inputs:
merchant — Merchant or service name (e.g., "OpenAI", "AWS")category — One of: shopping, finance, devops, research, travel, api, otherrail — Payment rail: visa_ic, mc_agent, stripe_acp, x402, ach, manualmandate — Authorization or mandate referenceproofHash — On-chain transaction hash (for x402 payments)When to use: Call this immediately after your agent completes any financial transaction. This feeds the PayRail402 dashboard with real-time spend data and triggers budget rule evaluation.
payrail402_registerSelf-register this agent with PayRail402 to get tracking credentials.
Required inputs:
name — Agent name (max 100 chars)contactEmail — Developer/owner email for notifications and dashboard claimingOptional inputs:
description — What this agent doestype — Agent type: shopping, finance, devops, research, travel, api, generalcallbackUrl — Webhook URL for receiving alerts and budget violation eventsWhen to use: Call this once when the agent first starts and has no existing credentials. The response includes an API key (shown once — save it) and a webhook token.
payrail402_statusCheck this agent's current status, claim state, and configuration on PayRail402.
Required inputs:
agentAccountId — Agent account ID from registrationWhen to use: Call this to verify the agent is still active, check its registration tier, or confirm it has been claimed by a dashboard user.
| Rail ID | Name | Description |
|---|---|---|
visa_ic | Visa Intelligent Commerce | Visa's AI agent payment protocol |
mc_agent | Mastercard Agent Pay | Mastercard's autonomous agent payment rail |
stripe_acp | Stripe Agent Credit Platform | Stripe's agent-to-agent payment system |
x402 | x402 Protocol | USDC on-chain payments via HTTP 402 |
ach | ACH | Traditional ACH bank transfers |
manual | Manual | Manual or unclassified transactions |
When you call payrail402_track, the PayRail402 backend:
This skill requires three environment variables. Here is exactly what each one is used for and why it is necessary:
PAYRAIL402_WEBHOOK_TOKEN (primary credential)
payrail402_track tool/api/ingest/webhook/{token}) to authenticate transaction submissionsPAYRAIL402_API_KEY
payrail402_track (alternative auth path) and payrail402_status toolx-agent-key or x-api-key HTTP header over HTTPSpr4_ prefix + base64url secret. Stored as SHA-256 hash on the server.PAYRAIL402_AGENT_ID
payrail402_track (with API key auth) and payrail402_status tool/api/v1/agents/{agentId}) and request bodyThis skill is designed to be transparent and minimal:
https://payrail402-production-2a69.up.railway.app over HTTPS onlyYou can inspect the full implementation in openclaw-skill.js — it is 184 lines of plain JavaScript.
| Error | Cause | Fix |
|---|---|---|
No credentials configured. Set webhookToken or apiKey in skill config. | Neither PAYRAIL402_WEBHOOK_TOKEN nor PAYRAIL402_API_KEY is set | Set at least one credential — see Setup above |
amount must be a positive number | The amount input is missing, zero, or negative | Pass a positive number for the transaction amount |
apiKey is required in skill config to check status | Called payrail402_status without PAYRAIL402_API_KEY | Set PAYRAIL402_API_KEY — status checks require API key auth |
| HTTP 429 (Too Many Requests) | Rate limit exceeded | Webhook: max 60 requests/minute. Register: max 10/hour. Wait and retry. |
| HTTP 403 (Forbidden) | Agent is paused or stopped in the dashboard | Resume the agent in your PayRail402 dashboard |
| HTTP 400 (Bad Request) | Invalid input (missing required field or bad format) | Check that amount and description are provided and valid |
| Network error / timeout | Cannot reach PayRail402 API | Check internet connectivity. The API is at payrail402-production-2a69.up.railway.app |
npm install @payrail402/sdk