PayRam Helper MCP Server
Remote MCP server to integrate and validate self-hosted PayRam deployments.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (15)
- LOWen snippet_express_payment_route
- LOWen snippet_laravel_payment_route
- LOWen explain_payram_basics
- LOWen get_payram_links
- LOWen explain_referral_flow
- LOWen get_payram_doc_by_id
- LOWen suggest_file_structure
- LOWen lookup_payment
- LOWen generate_payment_status_snippet
- LOWen snippet_spring_payment_controller
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"payram-helper-mcp": {
"url": "https://mcp.payram.com/mcp"
}
}
}Puntos de conexión remotos
https://mcp.payram.com/mcpstreamable-httphttps://mcp.payram.com/mcp/ssessehttps://mcp.payram.com/streamable-httpQué puede hacer
Inventario de herramientas
Herramientas (52)
🟡test_payram_connection(baseUrl, apiKey)
Checks the /api/v1/payment endpoint on a Payram server using baseUrl and apiKey. If they are not provided, returns a .env template you can add to your workspace.
Esquema de entrada
{
"type": "object",
"properties": {
"baseUrl": {
"description": "The base URL of your Payram server (e.g., https://your-server.example). If not provided, uses PAYRAM_BASE_URL from environment.",
"type": "string",
"format": "uri"
},
"apiKey": {
"description": "Your Payram API key from the dashboard. If not provided, uses PAYRAM_API_KEY from environment.",
"type": "string",
"minLength": 1
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"statusCode": {
"anyOf": [
{
"type": "integer",
"minimum": 100,
"maximum": 599
},
{
"type": "null"
}
]
},
"baseUrl": {
"type": "string"
},
"errorMessage": {
"type": "string"
},
"payramVersion": {
"type": "string"
}
},
"required": [
"ok",
"statusCode",
"baseUrl"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢payram_doctor(baseUrl, apiKey)
Staged, read-only health diagnosis: server reachability -> merchant API key -> admin JWT -> payment readiness (wallets + listener workers). Returns ranked likely causes with exact fix commands for the first failing stage. Run this FIRST when anything PayRam-related fails.
Esquema de entrada
{
"type": "object",
"properties": {
"baseUrl": {
"description": "PayRam server base URL. Defaults to PAYRAM_BASE_URL. The installer publishes on port 80 (http://localhost), not :8080.",
"type": "string",
"format": "uri"
},
"apiKey": {
"description": "Merchant API key (per-project). Defaults to PAYRAM_API_KEY. Obtain headlessly: ./setup_payram_agents.sh ensure-api-key",
"type": "string",
"minLength": 1
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"healthy": {
"type": "boolean"
},
"failedStage": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "First failing stage: reachability | api-key | jwt | readiness; null when healthy"
},
"findings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"check": {
"type": "string"
},
"ok": {
"type": "boolean"
},
"detail": {
"type": "string"
}
},
"required": [
"check",
"ok",
"detail"
],
"additionalProperties": false
}
},
"likelyCauses": {
"type": "array",
"items": {
"type": "object",
"properties": {
"likelihood": {
"type": "string",
"description": "Rough probability, e.g. \"80%\""
},
"cause": {
"type": "string"
},
"fix": {
"type": "string",
"description": "The exact command or action that resolves it"
}
},
"required": [
"likelihood",
"cause",
"fix"
],
"additionalProperties": false
},
"description": "Ranked causes for the first failing stage"
},
"nextSteps": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"healthy",
"failedStage",
"findings",
"likelyCauses",
"nextSteps"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟡generate_payment_sdk_snippet(framework)
Generates backend code using the official Payram JS/TS SDK to create a payment.
Esquema de entrada
{
"type": "object",
"properties": {
"framework": {
"type": "string",
"enum": [
"generic-http",
"express",
"nextjs"
],
"description": "Target framework for the SDK payment snippet. generic-http provides a framework-agnostic example."
}
},
"required": [
"framework"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"snippet": {
"type": "string"
},
"meta": {
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"typescript",
"javascript",
"python",
"go",
"php",
"java"
]
},
"framework": {
"type": "string",
"enum": [
"generic-http",
"express",
"nextjs"
]
},
"filenameSuggestion": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"language",
"framework"
],
"additionalProperties": false
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"snippet",
"meta"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪generate_payment_http_snippet(language)
Generates a raw HTTP sample for creating a Payram payment in the requested language.
Esquema de entrada
{
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"python",
"go",
"php",
"java"
],
"description": "Programming language for the HTTP payment creation snippet"
}
},
"required": [
"language"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"snippet": {
"type": "string"
},
"meta": {
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"typescript",
"javascript",
"python",
"go",
"php",
"java"
]
},
"framework": {
"type": "string",
"enum": [
"generic-http",
"express",
"nextjs"
]
},
"filenameSuggestion": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"language",
"framework"
],
"additionalProperties": false
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"snippet",
"meta"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢generate_payment_status_snippet(style)
Generates backend code to query the status of a Payram payment.
Esquema de entrada
{
"type": "object",
"properties": {
"style": {
"type": "string",
"enum": [
"sdk",
"http"
],
"description": "Style of code snippet: sdk uses the Payram SDK, http uses raw HTTP requests"
}
},
"required": [
"style"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"snippet": {
"type": "string"
},
"meta": {
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"typescript",
"javascript",
"python",
"go",
"php",
"java"
]
},
"framework": {
"type": "string",
"enum": [
"generic-http",
"express",
"nextjs"
]
},
"filenameSuggestion": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"language",
"framework"
],
"additionalProperties": false
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"snippet",
"meta"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪generate_payment_route_snippet(framework)
Generates a ready-to-use backend endpoint (e.g., /api/pay/create) that creates a Payram payment.
Esquema de entrada
{
"type": "object",
"properties": {
"framework": {
"type": "string",
"enum": [
"express",
"nextjs"
],
"description": "Web framework for the payment route handler (Express.js or Next.js)"
}
},
"required": [
"framework"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"snippet": {
"type": "string"
},
"meta": {
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"typescript",
"javascript",
"python",
"go",
"php",
"java"
]
},
"framework": {
"type": "string",
"enum": [
"generic-http",
"express",
"nextjs"
]
},
"filenameSuggestion": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"language",
"framework"
],
"additionalProperties": false
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"snippet",
"meta"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟡snippet_nextjs_payment_route
Returns a Next.js App Router API route that calls Payram's create-payment HTTP API.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"snippet": {
"type": "string"
},
"meta": {
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"typescript",
"javascript",
"python",
"go",
"php",
"java"
]
},
"framework": {
"type": "string",
"enum": [
"nextjs",
"express",
"fastapi",
"gin",
"laravel",
"spring-boot",
"generic-http"
]
},
"filenameSuggestion": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"language",
"framework"
],
"additionalProperties": false
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"snippet",
"meta"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪snippet_express_payment_route
Returns an Express router that posts to Payram's /api/v1/payment endpoint.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"snippet": {
"type": "string"
},
"meta": {
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"typescript",
"javascript",
"python",
"go",
"php",
"java"
]
},
"framework": {
"type": "string",
"enum": [
"nextjs",
"express",
"fastapi",
"gin",
"laravel",
"spring-boot",
"generic-http"
]
},
"filenameSuggestion": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"language",
"framework"
],
"additionalProperties": false
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"snippet",
"meta"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟡snippet_fastapi_payment_route
Returns a FastAPI handler that calls Payram's create-payment HTTP API.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"snippet": {
"type": "string"
},
"meta": {
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"typescript",
"javascript",
"python",
"go",
"php",
"java"
]
},
"framework": {
"type": "string",
"enum": [
"nextjs",
"express",
"fastapi",
"gin",
"laravel",
"spring-boot",
"generic-http"
]
},
"filenameSuggestion": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"language",
"framework"
],
"additionalProperties": false
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"snippet",
"meta"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪snippet_laravel_payment_route
Returns a Laravel controller that posts to Payram's /api/v1/payment endpoint.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"snippet": {
"type": "string"
},
"meta": {
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"typescript",
"javascript",
"python",
"go",
"php",
"java"
]
},
"framework": {
"type": "string",
"enum": [
"nextjs",
"express",
"fastapi",
"gin",
"laravel",
"spring-boot",
"generic-http"
]
},
"filenameSuggestion": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"language",
"framework"
],
"additionalProperties": false
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"snippet",
"meta"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟡snippet_go_payment_handler
Returns a Gin handler that proxies /api/pay/create to Payram's create-payment API.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"snippet": {
"type": "string"
},
"meta": {
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"typescript",
"javascript",
"python",
"go",
"php",
"java"
]
},
"framework": {
"type": "string",
"enum": [
"nextjs",
"express",
"fastapi",
"gin",
"laravel",
"spring-boot",
"generic-http"
]
},
"filenameSuggestion": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"language",
"framework"
],
"additionalProperties": false
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"snippet",
"meta"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪snippet_spring_payment_controller
Returns a Spring Boot controller that calls Payram's /api/v1/payment endpoint.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"snippet": {
"type": "string"
},
"meta": {
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"typescript",
"javascript",
"python",
"go",
"php",
"java"
]
},
"framework": {
"type": "string",
"enum": [
"nextjs",
"express",
"fastapi",
"gin",
"laravel",
"spring-boot",
"generic-http"
]
},
"filenameSuggestion": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"language",
"framework"
],
"additionalProperties": false
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"snippet",
"meta"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪generate_payout_sdk_snippet(framework)
Generates a backend code snippet for creating a payout using the Payram JS/TS SDK.
Esquema de entrada
{
"type": "object",
"properties": {
"framework": {
"type": "string",
"enum": [
"generic-http"
],
"description": "Target framework for the payout SDK snippet"
}
},
"required": [
"framework"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"snippet": {
"type": "string"
},
"meta": {
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"typescript"
]
},
"framework": {
"type": "string",
"enum": [
"generic-http"
]
},
"filenameSuggestion": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"language",
"framework"
],
"additionalProperties": false
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"snippet",
"meta"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢generate_payout_status_snippet
Generates backend code to query the status of a payout using the Payram SDK.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"snippet": {
"type": "string"
},
"meta": {
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"typescript"
]
},
"framework": {
"type": "string",
"enum": [
"generic-http"
]
},
"filenameSuggestion": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"language",
"framework"
],
"additionalProperties": false
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"snippet",
"meta"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟡generate_payout_recipient_flow_snippet
Generates the recommended OTP-verified payout flow: create recipient → validate OTP → create payout against the saved recipient. Use this for repeat beneficiaries; use generate_payout_sdk_snippet for one-off direct payouts.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"snippet": {
"type": "string"
},
"meta": {
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"typescript"
]
},
"framework": {
"type": "string",
"enum": [
"generic-http"
]
},
"filenameSuggestion": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"language",
"framework"
],
"additionalProperties": false
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"snippet",
"meta"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟡generate_referral_sdk_snippet(framework)
Generates a backend route or service snippet to create a referral event using the Payram SDK.
Esquema de entrada
{
"type": "object",
"properties": {
"framework": {
"type": "string",
"enum": [
"generic-http"
],
"description": "Target framework for the referral SDK snippet"
}
},
"required": [
"framework"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"snippet": {
"type": "string"
},
"meta": {
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"typescript"
]
},
"framework": {
"type": "string",
"enum": [
"generic-http",
"express",
"nextjs"
]
},
"filenameSuggestion": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"language",
"framework"
],
"additionalProperties": false
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"snippet",
"meta"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪generate_referral_validation_snippet
Generates a snippet to validate referral IDs, statuses, and eligibility.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"snippet": {
"type": "string"
},
"meta": {
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"typescript"
]
},
"framework": {
"type": "string",
"enum": [
"generic-http",
"express",
"nextjs"
]
},
"filenameSuggestion": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"language",
"framework"
],
"additionalProperties": false
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"snippet",
"meta"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢generate_referral_status_snippet(style)
Generates code to fetch referral progress, rewards, or status.
Esquema de entrada
{
"type": "object",
"properties": {
"style": {
"type": "string",
"enum": [
"sdk",
"backend-only"
],
"description": "Style of code snippet: sdk uses the Payram SDK, backend-only shows direct API calls"
}
},
"required": [
"style"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"snippet": {
"type": "string"
},
"meta": {
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"typescript"
]
},
"framework": {
"type": "string",
"enum": [
"generic-http",
"express",
"nextjs"
]
},
"filenameSuggestion": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"language",
"framework"
],
"additionalProperties": false
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"snippet",
"meta"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪generate_referral_route_snippet(framework)
Generates a backend route such as /api/referrals/create for logging referral events.
Esquema de entrada
{
"type": "object",
"properties": {
"framework": {
"type": "string",
"enum": [
"express",
"nextjs"
],
"description": "Web framework for the referral route handler (Express.js or Next.js)"
}
},
"required": [
"framework"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"snippet": {
"type": "string"
},
"meta": {
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"typescript"
]
},
"framework": {
"type": "string",
"enum": [
"generic-http",
"express",
"nextjs"
]
},
"filenameSuggestion": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"language",
"framework"
],
"additionalProperties": false
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"snippet",
"meta"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪generate_webhook_handler(framework)
Generates backend code to handle Payram webhook HTTP requests.
Esquema de entrada
{
"type": "object",
"properties": {
"framework": {
"type": "string",
"enum": [
"express",
"nextjs",
"fastapi",
"gin",
"laravel",
"spring-boot"
],
"description": "Web framework for the webhook handler code"
}
},
"required": [
"framework"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"snippet": {
"type": "string"
},
"meta": {
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"typescript",
"javascript",
"python",
"go",
"php",
"java"
]
},
"framework": {
"type": "string",
"enum": [
"express",
"nextjs",
"fastapi",
"gin",
"laravel",
"spring-boot",
"generic-http"
]
},
"filenameSuggestion": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"language",
"framework"
],
"additionalProperties": false
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"snippet",
"meta"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪generate_webhook_event_router
Generates a backend event router that dispatches Payram webhook events to domain handlers.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"snippet": {
"type": "string"
},
"meta": {
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"typescript",
"javascript",
"python",
"go",
"php",
"java"
]
},
"framework": {
"type": "string",
"enum": [
"express",
"nextjs",
"fastapi",
"gin",
"laravel",
"spring-boot",
"generic-http"
]
},
"filenameSuggestion": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"language",
"framework"
],
"additionalProperties": false
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"snippet",
"meta"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟡generate_mock_webhook_event(language, status)
Generates a snippet to send mock Payram webhook events to your local endpoint for testing.
Esquema de entrada
{
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"curl",
"python",
"go",
"php",
"java"
],
"description": "Language/tool for the mock webhook request (curl for command-line testing)"
},
"status": {
"type": "string",
"enum": [
"OPEN",
"CANCELLED",
"FILLED",
"PARTIALLY_FILLED",
"OVER_FILLED",
"UNDEFINED"
],
"description": "Payment status to simulate in the mock webhook event"
}
},
"required": [
"language",
"status"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"snippet": {
"type": "string"
},
"meta": {
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"typescript",
"javascript",
"python",
"go",
"php",
"java"
]
},
"framework": {
"type": "string",
"enum": [
"express",
"nextjs",
"fastapi",
"gin",
"laravel",
"spring-boot",
"generic-http"
]
},
"filenameSuggestion": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"language",
"framework"
],
"additionalProperties": false
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"snippet",
"meta"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪assess_payram_project
Inspects dependency files, frameworks, and .env status to suggest the next integration actions.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"summary": {
"type": "string"
},
"detectedFiles": {
"type": "array",
"items": {
"type": "string"
}
},
"packageManagers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"path": {
"type": "string"
}
},
"required": [
"type",
"path"
],
"additionalProperties": false
}
},
"frameworks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"language": {
"type": "string"
},
"confidence": {
"type": "string",
"enum": [
"high",
"medium",
"low"
]
},
"evidence": {
"type": "array",
"items": {
"type": "string"
}
},
"recommendedTools": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"name",
"language",
"confidence",
"evidence"
],
"additionalProperties": false
}
},
"envStatus": {
"type": "object",
"properties": {
"fileFound": {
"type": "boolean"
},
"envPath": {
"type": "string"
},
"variables": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"present": {
"type": "boolean"
},
"placeholder": {
"type": "boolean"
},
"valuePreview": {
"type": "string"
}
},
"required": [
"key",
"present"
],
"additionalProperties": false
}
},
"notes": {
"type": "string"
}
},
"required": [
"fileFound",
"variables"
],
"additionalProperties": false
},
"payramDependencies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"packageName": {
"type": "string"
},
"version": {
"type": "string"
},
"source": {
"type": "string"
}
},
"required": [
"packageName",
"source"
],
"additionalProperties": false
}
},
"recommendedNextSteps": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
},
"detail": {
"type": "string"
},
"tool": {
"type": "string"
}
},
"required": [
"id",
"label",
"detail"
],
"additionalProperties": false
}
}
},
"required": [
"summary",
"packageManagers",
"frameworks",
"envStatus",
"payramDependencies",
"recommendedNextSteps"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪generate_topup_integration_snippet(part, framework)
For EXISTING apps: emits the recommended top-up wallet integration — ledger schema + cumulative-credit webhook handler + atomic invoice-settle function. Credits crypto payments to a user's balance first, then debits invoices from it, so over/under/late/duplicate payments become balance states, not payment exceptions. Pair with the payram-topup-wallet-integration skill. (New store with no users? Use the checkout/plugin path instead.)
Esquema de entrada
{
"type": "object",
"properties": {
"part": {
"default": "all",
"description": "Which piece to emit: 'schema' (ledger DDL), 'webhook' (cumulative-credit handler), 'settle' (atomic invoice debit), or 'all'.",
"type": "string",
"enum": [
"schema",
"webhook",
"settle",
"all"
]
},
"framework": {
"default": "express",
"description": "Server framework for the webhook handler + settle function.",
"type": "string",
"enum": [
"express",
"fastapi"
]
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"snippet": {
"type": "string"
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"snippet",
"notes"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢explain_payram_basics
Explain Payram's product pillars, architecture, payments, and payouts capabilities.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"markdown": {
"type": "string"
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"path": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
}
},
"required": [
"id",
"path"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"title",
"markdown",
"sources"
],
"additionalProperties": false
}
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"sections"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_payram_links
Surface official documentation, website, and community links.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"markdown": {
"type": "string"
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"path": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
}
},
"required": [
"id",
"path"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"title",
"markdown",
"sources"
],
"additionalProperties": false
}
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"sections"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢explain_payment_flow
Describe how payments move from customer initiation through settlement.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"markdown": {
"type": "string"
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"path": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
}
},
"required": [
"id",
"path"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"title",
"markdown",
"sources"
],
"additionalProperties": false
}
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"sections"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢explain_payram_concepts
Glossary-backed explanation of Payram terminology and constraints.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"markdown": {
"type": "string"
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"path": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
}
},
"required": [
"id",
"path"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"title",
"markdown",
"sources"
],
"additionalProperties": false
}
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"sections"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢explain_referrals_basics
Summarize how Payram referral campaigns are configured and managed.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"markdown": {
"type": "string"
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"path": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
}
},
"required": [
"id",
"path"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"title",
"markdown",
"sources"
],
"additionalProperties": false
}
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"sections"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢explain_referral_flow
Detail the referrer/referee lifecycle and required APIs.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"markdown": {
"type": "string"
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"path": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
}
},
"required": [
"id",
"path"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"title",
"markdown",
"sources"
],
"additionalProperties": false
}
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"sections"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_referral_dashboard_guide
Explain how to embed and manage the referral dashboard experience.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"markdown": {
"type": "string"
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"path": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
}
},
"required": [
"id",
"path"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"title",
"markdown",
"sources"
],
"additionalProperties": false
}
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"sections"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪prepare_payram_test
Confirm hosting, credentials, and environment variables before generating demo apps.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"markdown": {
"type": "string"
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"path": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
}
},
"required": [
"id",
"path"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"title",
"markdown",
"sources"
],
"additionalProperties": false
}
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"sections"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_payram_doc_by_id(id)
Returns the markdown for a Payram doc given its id, e.g. "features/payouts".
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"path": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"markdown": {
"type": "string"
}
},
"required": [
"id",
"path",
"markdown"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢list_payram_docs(prefix)
Lists the available Payram doc ids relative to docs/payram-docs-live. Optionally scope by a prefix such as "features".
Esquema de entrada
{
"type": "object",
"properties": {
"prefix": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"prefix": {
"type": "string"
},
"count": {
"type": "number"
},
"docs": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"count",
"docs"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪generate_env_template
Creates a .env template for configuring a merchant backend to talk to a self-hosted Payram server.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"envExample": {
"type": "string"
},
"variables": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"required": {
"type": "boolean"
},
"description": {
"type": "string"
},
"example": {
"type": "string"
},
"defaultValue": {
"type": "string"
},
"docsRefs": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"key",
"required",
"description"
],
"additionalProperties": false
}
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"envExample",
"variables"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪generate_setup_checklist
Returns a step-by-step checklist of everything a merchant must configure to start using Payram.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
},
"description": {
"type": "string"
},
"docsRefs": {
"type": "array",
"items": {
"type": "string"
}
},
"optional": {
"type": "boolean"
}
},
"required": [
"id",
"label",
"description"
],
"additionalProperties": false
}
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"items"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪suggest_file_structure
Suggests a recommended backend folder/file structure for integrating Payram.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"root": {
"$ref": "#/definitions/__schema0"
},
"notes": {
"type": "string"
}
},
"required": [
"title",
"root"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"definitions": {
"__schema0": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"file",
"folder"
]
},
"description": {
"type": "string"
},
"children": {
"type": "array",
"items": {
"$ref": "#/definitions/__schema0"
}
}
},
"required": [
"path",
"type"
],
"additionalProperties": false
}
}
}🟢get_agent_setup_flow
Returns the step-by-step setup flow for deploying PayRam as an agent. Covers install, wallet creation, faucet funding, contract deployment, and first payment. Includes chain recommendations (ETH Sepolia for testnet, Base for mainnet), faucet URLs, card-to-crypto prerequisites, and status/recovery commands for interrupted sessions.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"markdown": {
"type": "string"
}
},
"required": [
"title",
"markdown"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪onboard_agent_setup
Returns the complete autonomous agent setup guide for deploying Payram without any web UI or human interaction.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"markdown": {
"type": "string"
}
},
"required": [
"title",
"markdown"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪scaffold_payram_app(language, framework, appName, includeWebhooks)
Generates a minimal full-stack app skeleton with Payram payments and payouts routes (and a simple UI) for a chosen language and framework.
Esquema de entrada
{
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"node",
"python",
"php",
"go",
"java"
],
"description": "Programming language for the application (node for JavaScript/TypeScript)"
},
"framework": {
"type": "string",
"enum": [
"express",
"nextjs",
"fastapi",
"laravel",
"gin",
"spring-boot"
],
"description": "Web framework to use for scaffolding the application"
},
"appName": {
"description": "Name for the generated application. If not provided, defaults to payram-{framework}-starter",
"type": "string",
"minLength": 1
},
"includeWebhooks": {
"default": true,
"description": "Whether to include webhook handler code in the scaffolded application",
"type": "boolean"
}
},
"required": [
"language",
"framework"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"appName": {
"type": "string"
},
"language": {
"type": "string"
},
"framework": {
"type": "string"
},
"instructions": {
"type": "string"
},
"files": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"description": {
"type": "string"
},
"contents": {
"type": "string"
}
},
"required": [
"path",
"description",
"contents"
],
"additionalProperties": false
}
}
},
"required": [
"appName",
"language",
"framework",
"instructions",
"files"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢list_platforms
Lists all external platforms (projects) for the authenticated user. Use this to discover your platform ID, which other tools auto-resolve if omitted.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"platforms": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"name": {
"type": "string"
},
"referenceId": {
"type": "string"
},
"createdAt": {
"type": "string"
}
},
"required": [
"id",
"name"
],
"additionalProperties": false
}
},
"count": {
"type": "number"
}
},
"required": [
"platforms",
"count"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_payment_summary(externalPlatformId)
Returns payment counts: total, open, closed, and cancelled. Useful for a quick overview of payment activity.
Esquema de entrada
{
"type": "object",
"properties": {
"externalPlatformId": {
"description": "Optional. Auto-discovered from your account if omitted.",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"totalCount": {
"type": "number"
},
"openCount": {
"type": "number"
},
"closedCount": {
"type": "number"
},
"cancelledCount": {
"type": "number"
}
},
"required": [
"totalCount",
"openCount",
"closedCount",
"cancelledCount"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪lookup_payment(query, externalPlatformId)
Look up payments by transaction hash, email, reference ID, customer ID, or invoice ID. Returns up to 5 matching payments with full details.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"description": "Search query: transaction hash, email address, reference ID (UUID), customer ID, or invoice ID. The backend auto-detects the query type."
},
"externalPlatformId": {
"description": "Optional. Auto-discovered from your account if omitted.",
"type": "string"
}
},
"required": [
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"payments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"projectName": {
"type": "string"
},
"blockId": {
"type": "number"
},
"referenceId": {
"type": "string"
},
"txHash": {
"type": "string"
},
"fromAddress": {
"type": "string"
},
"toAddress": {
"type": "string"
},
"paymentStatus": {
"type": "string"
},
"currency": {
"type": "string"
},
"network": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"invoiceId": {
"type": "string"
},
"customerId": {
"type": "string"
},
"email": {
"type": "string"
},
"amountInUSD": {
"type": "number"
},
"amount": {
"type": "number"
},
"filledAmountInUSD": {
"type": "number"
},
"filledAmount": {
"type": "number"
},
"paymasterFee": {
"type": "number"
},
"paymasterFeeInUSD": {
"type": "number"
},
"onRamperFee": {
"type": "number"
},
"onRamperFeeInUSD": {
"type": "number"
},
"createdBy": {
"type": "string"
},
"trxTimestamp": {
"type": "string"
},
"webhookStatus": {
"type": "string"
}
},
"required": [
"projectName",
"paymentStatus",
"createdBy"
],
"additionalProperties": false
}
},
"totalCount": {
"type": "number"
}
},
"required": [
"payments",
"totalCount"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢search_payments(externalPlatformId, query, paymentStatus, network, currency, ...)
Search and filter payments with full control over status, network, currency, dates, webhook status, and pagination. Returns a paginated list of matching payments.
Esquema de entrada
{
"type": "object",
"properties": {
"externalPlatformId": {
"description": "Optional. Auto-discovered from your account if omitted.",
"type": "string"
},
"query": {
"description": "Free-text search: tx hash, email, reference ID, customer ID, or invoice ID.",
"type": "string"
},
"paymentStatus": {
"description": "Filter by payment status (FILLED = completed).",
"type": "array",
"items": {
"type": "string",
"enum": [
"OPEN",
"FILLED",
"PARTIALLY_FILLED",
"OVER_FILLED",
"CANCELLED",
"CONFIRMING",
"DEPOSIT_RECEIVED",
"UNDEFINED"
]
}
},
"network": {
"description": "Filter by blockchain network (e.g. BTC, ETH, TRX, BASE, POLYGON).",
"type": "array",
"items": {
"type": "string"
}
},
"currency": {
"description": "Filter by currency code (e.g. USDC, USDT, BTC, ETH, TRX, CBBTC).",
"type": "array",
"items": {
"type": "string"
}
},
"webhookStatus": {
"description": "Filter by webhook delivery status.",
"type": "array",
"items": {
"type": "string",
"enum": [
"received",
"pending",
"failed",
"waiting_for_approval",
"discarded"
]
}
},
"createdBy": {
"description": "Filter by creator type.",
"type": "array",
"items": {
"type": "string",
"enum": [
"user",
"system"
]
}
},
"dateFrom": {
"description": "Start date filter (ISO 8601, e.g. 2024-01-01T00:00:00Z).",
"type": "string"
},
"dateTo": {
"description": "End date filter (ISO 8601, e.g. 2024-12-31T23:59:59Z).",
"type": "string"
},
"sortBy": {
"description": "Sort field. Valid: created_at, updated_at, payment_status, currency, network, block_id, from_address, to_address, invoice_id, reference_id, customer_id, email, created_by.",
"type": "string"
},
"sortDirection": {
"description": "Sort direction. Defaults to DESC.",
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"limit": {
"description": "Number of results per page. Defaults to 50.",
"type": "integer",
"minimum": 1,
"maximum": 200
},
"offset": {
"description": "Pagination offset. Defaults to 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"payments": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"totalCount": {
"type": "number"
},
"showing": {
"type": "number"
},
"limit": {
"type": "number"
},
"offset": {
"type": "number"
}
},
"required": [
"payments",
"totalCount",
"showing",
"limit",
"offset"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_unswept_balances
Returns unswept (unsettled) balances across all wallets, broken down by blockchain and currency. Shows sweep readiness per entry (sweep, sweep_in_progress, sweep_not_allowed, no_balance) AND why stuck funds are stuck: lastSweepError (e.g. HOT_WALLET_LOW_GAS with the hot-wallet address to fund), pending SCW deployment, or missing cold wallet. Use this to answer "where is my money / why has it not swept".
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"balances": {
"type": "array",
"items": {
"type": "object",
"properties": {
"walletName": {
"type": "string"
},
"walletID": {
"type": "number"
},
"blockchainCode": {
"type": "string"
},
"blockchainFamily": {
"type": "string"
},
"currencyCode": {
"type": "string"
},
"amount": {
"type": "string"
},
"amountUSD": {
"type": "string"
},
"addressCount": {
"type": "number"
},
"action": {
"type": "string"
},
"walletActive": {
"type": "boolean"
},
"hotWalletAddress": {
"type": "string"
},
"hotWalletActive": {
"type": "boolean"
},
"coldWalletConfigured": {
"type": "boolean"
},
"isSCWDeploymentPending": {
"type": "boolean"
},
"nextProbableSweepAt": {
"type": "string"
},
"sweepInProgressTxHash": {
"type": "string"
},
"lastSweepError": {
"type": "object",
"properties": {
"statusCode": {
"type": "string"
},
"category": {
"type": "string"
},
"reason": {
"type": "string"
},
"actionHint": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"occurredAt": {
"type": "string"
},
"address": {
"type": "string"
},
"txHash": {
"type": "string"
}
},
"required": [
"statusCode",
"category",
"reason",
"retryable",
"occurredAt",
"address"
],
"additionalProperties": {}
}
},
"required": [
"walletName",
"walletID",
"blockchainCode",
"blockchainFamily",
"currencyCode",
"amount",
"addressCount",
"action"
],
"additionalProperties": {}
}
},
"totalWallets": {
"type": "number"
}
},
"required": [
"balances",
"totalWallets"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_daily_volume(date, externalPlatformId)
Returns the total payment volume for a given date, with breakdowns by network and currency. Only counts FILLED (completed) payments. Defaults to today if no date is specified.
Esquema de entrada
{
"type": "object",
"properties": {
"date": {
"description": "Date in YYYY-MM-DD format. Defaults to today (UTC).",
"type": "string"
},
"externalPlatformId": {
"description": "Optional. Auto-discovered from your account if omitted.",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"date": {
"type": "string"
},
"totalPayments": {
"type": "number"
},
"totalVolumeUSD": {
"type": "number"
},
"byNetwork": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"count": {
"type": "number"
},
"volumeUSD": {
"type": "number"
}
},
"required": [
"name",
"count",
"volumeUSD"
],
"additionalProperties": false
}
},
"byCurrency": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"count": {
"type": "number"
},
"volumeUSD": {
"type": "number"
}
},
"required": [
"name",
"count",
"volumeUSD"
],
"additionalProperties": false
}
}
},
"required": [
"date",
"totalPayments",
"totalVolumeUSD",
"byNetwork",
"byCurrency"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢list_currencies
Lists every blockchain currency PayRam supports on this node (chain code, network, currency code). Public endpoint — works with only PAYRAM_BASE_URL set, no API key or JWT required. Use this to discover valid blockchainCode/currencyCode values before creating payments or payouts.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"currencies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"blockchainCode": {
"type": "string"
},
"network": {
"type": "string"
},
"currencyCode": {
"type": "string"
},
"currency": {
"type": "string"
}
},
"required": [
"id",
"blockchainCode",
"currencyCode"
],
"additionalProperties": {}
}
},
"count": {
"type": "number"
}
},
"required": [
"currencies",
"count"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢list_recipients
Lists saved withdrawal recipients (payout beneficiaries). Use this to find a recipient ID for the 3-step payout flow, or to check whether a beneficiary is already OTP-verified (status "active") before creating a payout.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"recipients": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"blockchainCode": {
"type": "string"
},
"address": {
"type": "string"
},
"status": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"updatedAt": {
"type": "string"
}
},
"required": [
"id",
"blockchainCode",
"address",
"status"
],
"additionalProperties": {}
}
},
"count": {
"type": "number"
}
},
"required": [
"recipients",
"count"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟡create_payment_link(amountInUSD, customerID, customerEmail)
Creates a PayRam checkout (payment) link and returns the hosted URL plus a reference_id. Authenticates with the Merchant API-Key (set PAYRAM_API_KEY). This WRITES — it creates a real payment request. The customer chooses the chain/currency on the hosted checkout. Poll status later with lookup_payment (or GET /api/v1/payment/reference/{reference_id}).
Esquema de entrada
{
"type": "object",
"properties": {
"amountInUSD": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Payment amount in USD (must be > 0)"
},
"customerID": {
"type": "string",
"minLength": 1,
"description": "Your internal customer identifier (sent as customerID, required)"
},
"customerEmail": {
"type": "string",
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"description": "Customer email (required — the backend validates it as a non-empty email)"
}
},
"required": [
"amountInUSD",
"customerID",
"customerEmail"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"reference_id": {
"type": "string"
},
"host": {
"type": "string"
}
},
"required": [
"url",
"reference_id"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟢check_node_sync
Per-chain node health verdict: healthy / lagging / unreachable / listener-down. Computes how old each RPC node’s last block is — any non-BTC chain older than 10 minutes (BTC: 90 minutes, since BTC blocks every ~10m) is flagged as lagging or not syncing. Also checks the chain’s listener worker. When something is wrong it names the exact remediation (usually restart_payram_worker). Read-only — run this first; restart second; re-run this ~60s after a restart to confirm recovery.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"workers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"status": {
"type": "string"
},
"details": {
"type": "string"
}
},
"required": [
"name",
"status",
"details"
],
"additionalProperties": {}
}
},
"chains": {
"type": "array",
"items": {
"type": "object",
"properties": {
"blockchainCode": {
"type": "string"
},
"verdict": {
"type": "string",
"enum": [
"healthy",
"lagging",
"unreachable",
"listener-down"
]
},
"staleThresholdSeconds": {
"type": "number"
},
"listenerWorker": {
"type": "string"
},
"listenerRunning": {
"type": "boolean"
},
"reachable": {
"type": "boolean"
},
"oldestBlockAgeSeconds": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"nodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"connected": {
"type": "boolean"
},
"lastBlockSeen": {
"type": "number"
},
"blockAgeSeconds": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"stale": {
"type": "boolean"
},
"avgLatencyMs": {
"type": "number"
},
"error": {
"type": "string"
}
},
"required": [
"url",
"connected",
"stale"
],
"additionalProperties": {}
}
},
"note": {
"type": "string"
}
},
"required": [
"blockchainCode",
"verdict",
"staleThresholdSeconds",
"listenerWorker",
"listenerRunning",
"reachable",
"oldestBlockAgeSeconds",
"nodes"
],
"additionalProperties": false
}
},
"issues": {
"type": "array",
"items": {
"type": "string"
}
},
"healthy": {
"type": "boolean"
},
"workersAvailable": {
"type": "boolean"
}
},
"required": [
"workers",
"chains",
"issues",
"healthy",
"workersAvailable"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟡restart_payram_worker(worker, all)
REMEDIATION ACTION (write): restarts a blockchain listener worker via supervisor — the minimal fix when check_node_sync reports a chain as lagging or listener-down. Workflow: run check_node_sync first → restart the named worker → wait ~60s → run check_node_sync again to confirm recovery. A restart does NOT fix an unreachable RPC (fix the RPC config in the dashboard instead). Requires admin JWT with write_system_settings.
Esquema de entrada
{
"type": "object",
"properties": {
"worker": {
"description": "Worker to restart: a chain code ('BASE', 'ETH', 'BTC', 'TRX', 'POLYGON' → restarts that chain's listener) or a full worker name ('base-listener'). Omit when using all=true.",
"type": "string",
"minLength": 1
},
"all": {
"description": "Restart ALL workers. Use only when multiple chains are unhealthy.",
"type": "boolean"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"restarted": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"restarted",
"message"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟡check_payment_readiness(externalPlatformId)
Diagnoses what is NOT yet set up to accept payments, per blockchain: missing deposit wallet, chain/currency not enabled for the project, or a stopped listener worker. Read-only — reports gaps and points to the CLI for wallet setup; it does not create wallets itself.
Esquema de entrada
{
"type": "object",
"properties": {
"externalPlatformId": {
"description": "Project/platform ID to check currency enablement for (auto-resolved if omitted)",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"projectId": {
"type": "string"
},
"readyChains": {
"type": "array",
"items": {
"type": "string"
}
},
"chains": {
"type": "array",
"items": {
"type": "object",
"properties": {
"blockchainCode": {
"type": "string"
},
"name": {
"type": "string"
},
"family": {
"type": "string"
},
"hasDepositWallet": {
"type": "boolean"
},
"enabledForProject": {
"type": "boolean"
},
"listenerRunning": {
"type": "boolean"
},
"ready": {
"type": "boolean"
},
"missing": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"blockchainCode",
"name",
"family",
"hasDepositWallet",
"enabledForProject",
"listenerRunning",
"ready",
"missing"
],
"additionalProperties": false
}
},
"allReady": {
"type": "boolean"
}
},
"required": [
"projectId",
"readyChains",
"chains",
"allReady"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Comunidad
Evidencia