Actiongate
Capa de seguridad previa a la ejecución para billeteras de agentes autónomos: puntuación de riesgo, simulación y aplicación de políticas a través de MCP, con nivel gratuito y precio por llamada mediante x402.
Documentación
Proxy de herramientas de pago a través de REST y MCP.
ActionGate carga un archivo de configuración, expone cada herramienta a través de /proxy/:toolName y /mcp, y liquida el uso de pago con créditos de API financiados por x402 o Stripe.
Si no proporcionas un archivo de configuración, ActionGate recurre a los endpoints de demostración de seguridad originales bajo /v1/* y mantiene los prompts de tesorería incluidos.
Descubrimiento de máquinas
https://api.actiongate.xyz/.well-known/agent.json
https://api.actiongate.xyz/.well-known/mcp/server-card.json
Referencia
https://api.actiongate.xyz/docs/openapi.yaml
Demostración de respaldo heredada: https://api.actiongate.xyz/docs/openapi-fallback-demo.yaml
Proxy genérico: https://api.actiongate.xyz/proxy/:toolName
MCP remoto: https://api.actiongate.xyz/mcp
Guía de configuración del proxy: /docs/proxy-config-guide.md
Configuración de ejemplo: /examples/proxy-config.public-api.json
Espacio de nombres del Registro MCP: xyz.actiongate.api/actiongate
Trae tu propia API
Comienza con la guía de configuración del proxy alojada, copia el JSON de ejemplo y luego reemplaza las URL ascendentes, los esquemas, los precios y los encabezados reenviados con tu propio contrato de API.
curl https://api.actiongate.xyz/examples/proxy-config.public-api.json -o proxy-config.json
# Then read the operator guide:
https://api.actiongate.xyz/docs/proxy-config-guide.md
Inicio rápido
curl -X POST https://api.actiongate.xyz/v1/risk-score \
-H "content-type: application/json" \
-d '{"actor":{"actor_id":"treasury-bot"},"action":{"action_type":"transfer","network":"base","asset_symbol":"USDC","amount":"2500"}}'
npm install @actiongate/sdk
import { ActionGateClient } from "@actiongate/sdk";
const client = new ActionGateClient({ baseUrl: "https://api.actiongate.xyz" });
const result = await client.policyGate({
actor: { actor_id: "agent_ops_02" },
action: { action_type: "transfer", network: "base", asset_symbol: "USDC", amount: "150000" },
policy: { policy_id: "treasury_default_v1" }
});
Superficies de instalación
npm install @actiongate/sdk
pip install actiongate-sdk
{
"mcpServers": {
"actiongate": {
"url": "https://api.actiongate.xyz/mcp"
}
}
}
npm install -g actiongate-mcp
Configuraciones de cliente
Usa estos fragmentos exactos para conectar el servidor MCP remoto de ActionGate en clientes de agentes populares.
Claude Code
claude mcp add --transport http actiongate --scope project https://api.actiongate.xyz/mcp
VS Code
{
"servers": {
"actiongate": {
"type": "http",
"url": "https://api.actiongate.xyz/mcp"
}
}
}
Guárdalo como .vscode/mcp.json.
Windsurf
{
"mcpServers": {
"actiongate": {
"serverUrl": "https://api.actiongate.xyz/mcp"
}
}
}
Guárdalo como ~/.codeium/windsurf/mcp_config.json.
Cursor
{
"mcpServers": {
"actiongate": {
"url": "https://api.actiongate.xyz/mcp"
}
}
}
Guárdalo como .cursor/mcp.json para una configuración a nivel de proyecto o ~/.cursor/mcp.json para una configuración global.
Nivel gratuito
Cada agente recibe 50 llamadas totales por día distribuidas en buckets específicos por herramienta: 20 llamadas de puntuación de riesgo, 20 llamadas de simulación y 10 llamadas de puerta de políticas de forma gratuita cada día. Sin billetera, sin registro: solo conéctate y llama. Cuando alcances el límite, recibirás una respuesta 402 con los requisitos de pago x402. Sigue la guía a continuación para actualizar a llamadas de pago.
Cómo pagar con x402
x402 es un protocolo abierto para micropagos nativos de HTTP. Cuando una llamada de herramienta requiere pago, ActionGate devuelve un HTTP 402 con los requisitos de pago en los encabezados de la respuesta. Tu agente firma un pago USDC en Base y reenvía la solicitud con la prueba de pago adjunta.
Lo que necesitas
1. Una billetera con USDC en Base (Coinbase Smart Wallet, MetaMask o cualquier billetera EVM). 2. El paquete @x402/core (o cualquier cliente compatible con x402).
Ejemplo en TypeScript
import { paymentMiddleware } from "@x402/core";
// Wrap any HTTP client with x402 payment middleware.
// When a 402 is received, the middleware automatically
// signs a USDC payment and retries the request.
const client = paymentMiddleware(fetch, {
walletPrivateKey: process.env.WALLET_PRIVATE_KEY,
network: "base",
});
// Now calls that exceed the free tier will auto-pay:
const res = await client("https://api.actiongate.xyz/v1/risk-score", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({"actor":{"actor_id":"treasury-bot"},"action":{"action_type":"transfer","network":"base","asset_symbol":"USDC","amount":"2500"}}),
});
// Paid response includes a settlement receipt.
MCP con pago
Para clientes MCP que admiten x402 de forma nativa (como el paquete stdio actiongate-mcp), configura PAYTO_ADDRESS y tu clave de billetera en el entorno. El transporte MCP maneja la negociación de pago automáticamente.
{
"mcpServers": {
"actiongate": {
"command": "npx",
"args": ["actiongate-mcp"],
"env": {
"PAYTO_ADDRESS": "0xYourWalletAddress",
"WALLET_PRIVATE_KEY": "0xYourPrivateKey",
"ACTIONGATE_BASE_URL": "https://api.actiongate.xyz"
}
}
}
}
Resumen del flujo
1. El agente llama a una herramienta (nivel gratuito o de pago). 2. Si queda cuota gratuita, la respuesta se devuelve de inmediato: no se necesita pago. 3. Si la cuota está agotada, ActionGate devuelve HTTP 402 con los requisitos de pago x402. 4. Tu cliente x402 firma un micropago USDC en Base y reenvía la solicitud con un encabezado PAYMENT-SIGNATURE. 5. ActionGate verifica y liquida el pago, luego devuelve el resultado de la herramienta con un recibo de liquidación.
Prueba de lanzamiento
ActionGate anuncia el descubrimiento de pago a través de encabezados x402 y devuelve recibos firmados en llamadas exitosas.
curl -X POST https://api.actiongate.xyz/v1/risk-score \
-H "content-type: application/json" \
-d '{"actor":{"actor_id":"treasury-bot"},"action":{"action_type":"transfer","network":"base","asset_symbol":"USDC","amount":"2500"}}'
HTTP/2 402
PAYMENT-REQUIRED: <base64 x402 requirements>
curl -X POST https://api.actiongate.xyz/v1/risk-score \
-H "PAYMENT-SIGNATURE: " \
-H "content-type: application/json" \
-d '{"actor":{"actor_id":"treasury-bot"},"action":{"action_type":"transfer","network":"base","asset_symbol":"USDC","amount":"2500"}}'
HTTP/2 200
PAYMENT-RESPONSE: <base64 settlement response>
{"request_id":"rq_demo_risk","score":18,"severity":"low","confidence":0.81}
Solución de problemas
Conecté el servidor MCP pero las llamadas fallan con un error de pago. Eso generalmente significa que el nivel gratuito está agotado o tu billetera x402 no está configurada. Usa primero el nivel gratuito, o agrega PAYTO_ADDRESS más tus credenciales de billetera para el paquete stdio.
Recibí una respuesta HTTP 402. Eso es esperado una vez que se agotan las llamadas gratuitas. Reintenta con un cliente compatible con x402 para que pueda adjuntar un encabezado PAYMENT-SIGNATURE automáticamente.
El endpoint MCP remoto funciona en un cliente pero no en otro. Asegúrate de que el cliente esté usando Streamable HTTP contra https://api.actiongate.xyz/mcp y acepte tanto respuestas JSON como event-stream durante la negociación MCP.
Necesito ayuda para depurar una integración. Comienza con https://api.actiongate.xyz/support, luego incluye el ID de solicitud de la respuesta de ActionGate cuando contactes al soporte.