{
  "tool": {
    "slug": "shell-guard",
    "title": "Shell Guard",
    "category": "Command Safety",
    "description": "Classify risky shell commands and clamp execution options before an agent launches a local process.",
    "buyerIntent": "Use when an agent generated a terminal command and needs a cheap safety check before execution.",
    "tokenValue": "Blocks obvious destructive patterns and saves recovery time after unsafe commands.",
    "method": "POST",
    "rawBlueprintSlug": "agent-command-timeout-guard",
    "priceUSDC": 0.005,
    "latencyTargetMs": 220,
    "status": "live-preview",
    "tags": [
      "shell",
      "security",
      "timeout",
      "commands"
    ],
    "requestSchema": {
      "type": "object",
      "required": [
        "command"
      ],
      "properties": {
        "command": {
          "type": "string"
        },
        "timeoutMs": {
          "type": "integer",
          "default": 30000
        },
        "maxBufferMb": {
          "type": "integer",
          "default": 50
        }
      }
    },
    "responseSchema": {
      "type": "object",
      "properties": {
        "safe": {
          "type": "boolean"
        },
        "nodeOptions": {
          "type": "object"
        },
        "wrappedCommand": {
          "type": "string"
        },
        "warnings": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "sampleRequest": {
      "command": "pnpm exec astro check",
      "timeoutMs": 60000,
      "maxBufferMb": 80
    },
    "sampleResponse": {
      "safe": true,
      "nodeOptions": {
        "timeout": 60000,
        "maxBuffer": 83886080,
        "killSignal": "SIGTERM",
        "windowsHide": true
      },
      "wrappedCommand": "pnpm exec astro check",
      "warnings": []
    },
    "endpoint": "/api/v1/agent-tools/shell-guard/",
    "absoluteEndpoint": "https://elpa.space/api/v1/agent-tools/shell-guard/",
    "pageUrl": "https://elpa.space/agent-tools/#shell-guard",
    "rawBlueprintUrl": "https://elpa.space/raw/agent-command-timeout-guard",
    "priceLabel": "0.005 USDC"
  },
  "payment": {
    "protocol": "x402",
    "implementation": "x402 v2 exact EVM facilitator with legacy Base USDC transaction-hash fallback",
    "network": "Base",
    "networkCaip2": "eip155:8453",
    "currency": "USDC",
    "tokenContract": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
    "recipientAddress": "0xd9d6ae1d5a2128fea511460fac8e4dea58baf153",
    "paymentHeaders": [
      "PAYMENT-SIGNATURE",
      "X-PAYMENT",
      "x402-tx-hash (legacy)"
    ],
    "challengeHeader": "PAYMENT-REQUIRED",
    "responseHeader": "PAYMENT-RESPONSE",
    "facilitatorEnv": [
      "X402_FACILITATOR_URL",
      "X402_FACILITATOR_AUTHORIZATION"
    ],
    "maxTimeoutSeconds": 120,
    "priceUSDC": 0.005,
    "x402": {
      "x402Version": 2,
      "resource": {
        "url": "https://elpa.space/api/v1/agent-tools/shell-guard/",
        "description": "Classify risky shell commands and clamp execution options before an agent launches a local process.",
        "mimeType": "application/json",
        "serviceName": "ELPA Agent Tools",
        "tags": [
          "shell",
          "security",
          "timeout",
          "commands"
        ],
        "iconUrl": "https://elpa.space/logo.svg"
      },
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "amount": "5000",
          "asset": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
          "payTo": "0xd9d6ae1d5a2128fea511460fac8e4dea58baf153",
          "maxTimeoutSeconds": 120,
          "extra": {
            "name": "USDC",
            "version": "2",
            "decimals": 6
          }
        }
      ],
      "paymentRequired": {
        "x402Version": 2,
        "error": "PAYMENT-SIGNATURE header is required",
        "resource": {
          "url": "https://elpa.space/api/v1/agent-tools/shell-guard/",
          "description": "Classify risky shell commands and clamp execution options before an agent launches a local process.",
          "mimeType": "application/json",
          "serviceName": "ELPA Agent Tools",
          "tags": [
            "shell",
            "security",
            "timeout",
            "commands"
          ],
          "iconUrl": "https://elpa.space/logo.svg"
        },
        "accepts": [
          {
            "scheme": "exact",
            "network": "eip155:8453",
            "amount": "5000",
            "asset": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
            "payTo": "0xd9d6ae1d5a2128fea511460fac8e4dea58baf153",
            "maxTimeoutSeconds": 120,
            "extra": {
              "name": "USDC",
              "version": "2",
              "decimals": 6
            }
          }
        ],
        "extensions": {
          "bazaar": {
            "info": {
              "discoverable": true,
              "category": "Command Safety",
              "tags": [
                "shell",
                "security",
                "timeout",
                "commands"
              ],
              "input": {
                "command": "pnpm exec astro check",
                "timeoutMs": 60000,
                "maxBufferMb": 80
              },
              "output": {
                "safe": true,
                "nodeOptions": {
                  "timeout": 60000,
                  "maxBuffer": 83886080,
                  "killSignal": "SIGTERM",
                  "windowsHide": true
                },
                "wrappedCommand": "pnpm exec astro check",
                "warnings": []
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "discoverable": {
                  "type": "boolean"
                },
                "category": {
                  "type": "string"
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "input": {
                  "type": "object",
                  "required": [
                    "command"
                  ],
                  "properties": {
                    "command": {
                      "type": "string"
                    },
                    "timeoutMs": {
                      "type": "integer",
                      "default": 30000
                    },
                    "maxBufferMb": {
                      "type": "integer",
                      "default": 50
                    }
                  }
                },
                "output": {
                  "type": "object",
                  "properties": {
                    "safe": {
                      "type": "boolean"
                    },
                    "nodeOptions": {
                      "type": "object"
                    },
                    "wrappedCommand": {
                      "type": "string"
                    },
                    "warnings": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "paymentRequiredBase64": "eyJ4NDAyVmVyc2lvbiI6MiwiZXJyb3IiOiJQQVlNRU5ULVNJR05BVFVSRSBoZWFkZXIgaXMgcmVxdWlyZWQiLCJyZXNvdXJjZSI6eyJ1cmwiOiJodHRwczovL2VscGEuc3BhY2UvYXBpL3YxL2FnZW50LXRvb2xzL3NoZWxsLWd1YXJkLyIsImRlc2NyaXB0aW9uIjoiQ2xhc3NpZnkgcmlza3kgc2hlbGwgY29tbWFuZHMgYW5kIGNsYW1wIGV4ZWN1dGlvbiBvcHRpb25zIGJlZm9yZSBhbiBhZ2VudCBsYXVuY2hlcyBhIGxvY2FsIHByb2Nlc3MuIiwibWltZVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIiwic2VydmljZU5hbWUiOiJFTFBBIEFnZW50IFRvb2xzIiwidGFncyI6WyJzaGVsbCIsInNlY3VyaXR5IiwidGltZW91dCIsImNvbW1hbmRzIl0sImljb25VcmwiOiJodHRwczovL2VscGEuc3BhY2UvbG9nby5zdmcifSwiYWNjZXB0cyI6W3sic2NoZW1lIjoiZXhhY3QiLCJuZXR3b3JrIjoiZWlwMTU1Ojg0NTMiLCJhbW91bnQiOiI1MDAwIiwiYXNzZXQiOiIweDgzMzU4OWZjZDZlZGI2ZTA4ZjRjN2MzMmQ0ZjcxYjU0YmRhMDI5MTMiLCJwYXlUbyI6IjB4ZDlkNmFlMWQ1YTIxMjhmZWE1MTE0NjBmYWM4ZTRkZWE1OGJhZjE1MyIsIm1heFRpbWVvdXRTZWNvbmRzIjoxMjAsImV4dHJhIjp7Im5hbWUiOiJVU0RDIiwidmVyc2lvbiI6IjIiLCJkZWNpbWFscyI6Nn19XSwiZXh0ZW5zaW9ucyI6eyJiYXphYXIiOnsiaW5mbyI6eyJkaXNjb3ZlcmFibGUiOnRydWUsImNhdGVnb3J5IjoiQ29tbWFuZCBTYWZldHkiLCJ0YWdzIjpbInNoZWxsIiwic2VjdXJpdHkiLCJ0aW1lb3V0IiwiY29tbWFuZHMiXSwiaW5wdXQiOnsiY29tbWFuZCI6InBucG0gZXhlYyBhc3RybyBjaGVjayIsInRpbWVvdXRNcyI6NjAwMDAsIm1heEJ1ZmZlck1iIjo4MH0sIm91dHB1dCI6eyJzYWZlIjp0cnVlLCJub2RlT3B0aW9ucyI6eyJ0aW1lb3V0Ijo2MDAwMCwibWF4QnVmZmVyIjo4Mzg4NjA4MCwia2lsbFNpZ25hbCI6IlNJR1RFUk0iLCJ3aW5kb3dzSGlkZSI6dHJ1ZX0sIndyYXBwZWRDb21tYW5kIjoicG5wbSBleGVjIGFzdHJvIGNoZWNrIiwid2FybmluZ3MiOltdfX0sInNjaGVtYSI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJkaXNjb3ZlcmFibGUiOnsidHlwZSI6ImJvb2xlYW4ifSwiY2F0ZWdvcnkiOnsidHlwZSI6InN0cmluZyJ9LCJ0YWdzIjp7InR5cGUiOiJhcnJheSIsIml0ZW1zIjp7InR5cGUiOiJzdHJpbmcifX0sImlucHV0Ijp7InR5cGUiOiJvYmplY3QiLCJyZXF1aXJlZCI6WyJjb21tYW5kIl0sInByb3BlcnRpZXMiOnsiY29tbWFuZCI6eyJ0eXBlIjoic3RyaW5nIn0sInRpbWVvdXRNcyI6eyJ0eXBlIjoiaW50ZWdlciIsImRlZmF1bHQiOjMwMDAwfSwibWF4QnVmZmVyTWIiOnsidHlwZSI6ImludGVnZXIiLCJkZWZhdWx0Ijo1MH19fSwib3V0cHV0Ijp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7InNhZmUiOnsidHlwZSI6ImJvb2xlYW4ifSwibm9kZU9wdGlvbnMiOnsidHlwZSI6Im9iamVjdCJ9LCJ3cmFwcGVkQ29tbWFuZCI6eyJ0eXBlIjoic3RyaW5nIn0sIndhcm5pbmdzIjp7InR5cGUiOiJhcnJheSIsIml0ZW1zIjp7InR5cGUiOiJzdHJpbmcifX19fX19fX19",
      "facilitator": {
        "url": "https://api.cdp.coinbase.com/platform/v2/x402",
        "verify": "/verify",
        "settle": "/settle"
      },
      "legacy": {
        "enabled": true,
        "header": "x402-tx-hash",
        "note": "Legacy Base USDC transaction-hash receipts remain accepted for manual testing, but PAYMENT-SIGNATURE is the primary x402 path."
      }
    }
  }
}