{
  "tool": {
    "slug": "env-validate",
    "title": "Env Validate",
    "category": "Config Safety",
    "description": "Compare .env content against an example file and flag missing keys, empty keys, and public secret leaks.",
    "buyerIntent": "Use before deploying or sharing an environment summary with another agent.",
    "tokenValue": "Prevents leaking secrets into public client variables and avoids deployment retries caused by missing config.",
    "method": "POST",
    "rawBlueprintSlug": "agent-env-validator",
    "priceUSDC": 0.006,
    "latencyTargetMs": 220,
    "status": "live-preview",
    "tags": [
      "env",
      "config",
      "secrets",
      "validation"
    ],
    "requestSchema": {
      "type": "object",
      "required": [
        "envContent",
        "envExampleContent"
      ],
      "properties": {
        "envContent": {
          "type": "string"
        },
        "envExampleContent": {
          "type": "string"
        }
      }
    },
    "responseSchema": {
      "type": "object",
      "properties": {
        "isValid": {
          "type": "boolean"
        },
        "missingKeys": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "emptyKeys": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "leaks": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "warnings": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "sampleRequest": {
      "envContent": "DATABASE_URL=\nPUBLIC_API_KEY=abc",
      "envExampleContent": "DATABASE_URL=\nSECRET_TOKEN="
    },
    "sampleResponse": {
      "isValid": false,
      "missingKeys": [
        "SECRET_TOKEN"
      ],
      "emptyKeys": [
        "DATABASE_URL"
      ],
      "leaks": [],
      "warnings": [
        "Empty key: DATABASE_URL",
        "Missing key: SECRET_TOKEN"
      ]
    },
    "endpoint": "/api/v1/agent-tools/env-validate/",
    "absoluteEndpoint": "https://elpa.space/api/v1/agent-tools/env-validate/",
    "pageUrl": "https://elpa.space/agent-tools/#env-validate",
    "rawBlueprintUrl": "https://elpa.space/raw/agent-env-validator",
    "priceLabel": "0.006 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.006,
    "x402": {
      "x402Version": 2,
      "resource": {
        "url": "https://elpa.space/api/v1/agent-tools/env-validate/",
        "description": "Compare .env content against an example file and flag missing keys, empty keys, and public secret leaks.",
        "mimeType": "application/json",
        "serviceName": "ELPA Agent Tools",
        "tags": [
          "env",
          "config",
          "secrets",
          "validation"
        ],
        "iconUrl": "https://elpa.space/logo.svg"
      },
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "amount": "6000",
          "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/env-validate/",
          "description": "Compare .env content against an example file and flag missing keys, empty keys, and public secret leaks.",
          "mimeType": "application/json",
          "serviceName": "ELPA Agent Tools",
          "tags": [
            "env",
            "config",
            "secrets",
            "validation"
          ],
          "iconUrl": "https://elpa.space/logo.svg"
        },
        "accepts": [
          {
            "scheme": "exact",
            "network": "eip155:8453",
            "amount": "6000",
            "asset": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
            "payTo": "0xd9d6ae1d5a2128fea511460fac8e4dea58baf153",
            "maxTimeoutSeconds": 120,
            "extra": {
              "name": "USDC",
              "version": "2",
              "decimals": 6
            }
          }
        ],
        "extensions": {
          "bazaar": {
            "info": {
              "discoverable": true,
              "category": "Config Safety",
              "tags": [
                "env",
                "config",
                "secrets",
                "validation"
              ],
              "input": {
                "envContent": "DATABASE_URL=\nPUBLIC_API_KEY=abc",
                "envExampleContent": "DATABASE_URL=\nSECRET_TOKEN="
              },
              "output": {
                "isValid": false,
                "missingKeys": [
                  "SECRET_TOKEN"
                ],
                "emptyKeys": [
                  "DATABASE_URL"
                ],
                "leaks": [],
                "warnings": [
                  "Empty key: DATABASE_URL",
                  "Missing key: SECRET_TOKEN"
                ]
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "discoverable": {
                  "type": "boolean"
                },
                "category": {
                  "type": "string"
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "input": {
                  "type": "object",
                  "required": [
                    "envContent",
                    "envExampleContent"
                  ],
                  "properties": {
                    "envContent": {
                      "type": "string"
                    },
                    "envExampleContent": {
                      "type": "string"
                    }
                  }
                },
                "output": {
                  "type": "object",
                  "properties": {
                    "isValid": {
                      "type": "boolean"
                    },
                    "missingKeys": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "emptyKeys": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "leaks": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "warnings": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "paymentRequiredBase64": "eyJ4NDAyVmVyc2lvbiI6MiwiZXJyb3IiOiJQQVlNRU5ULVNJR05BVFVSRSBoZWFkZXIgaXMgcmVxdWlyZWQiLCJyZXNvdXJjZSI6eyJ1cmwiOiJodHRwczovL2VscGEuc3BhY2UvYXBpL3YxL2FnZW50LXRvb2xzL2Vudi12YWxpZGF0ZS8iLCJkZXNjcmlwdGlvbiI6IkNvbXBhcmUgLmVudiBjb250ZW50IGFnYWluc3QgYW4gZXhhbXBsZSBmaWxlIGFuZCBmbGFnIG1pc3Npbmcga2V5cywgZW1wdHkga2V5cywgYW5kIHB1YmxpYyBzZWNyZXQgbGVha3MuIiwibWltZVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIiwic2VydmljZU5hbWUiOiJFTFBBIEFnZW50IFRvb2xzIiwidGFncyI6WyJlbnYiLCJjb25maWciLCJzZWNyZXRzIiwidmFsaWRhdGlvbiJdLCJpY29uVXJsIjoiaHR0cHM6Ly9lbHBhLnNwYWNlL2xvZ28uc3ZnIn0sImFjY2VwdHMiOlt7InNjaGVtZSI6ImV4YWN0IiwibmV0d29yayI6ImVpcDE1NTo4NDUzIiwiYW1vdW50IjoiNjAwMCIsImFzc2V0IjoiMHg4MzM1ODlmY2Q2ZWRiNmUwOGY0YzdjMzJkNGY3MWI1NGJkYTAyOTEzIiwicGF5VG8iOiIweGQ5ZDZhZTFkNWEyMTI4ZmVhNTExNDYwZmFjOGU0ZGVhNThiYWYxNTMiLCJtYXhUaW1lb3V0U2Vjb25kcyI6MTIwLCJleHRyYSI6eyJuYW1lIjoiVVNEQyIsInZlcnNpb24iOiIyIiwiZGVjaW1hbHMiOjZ9fV0sImV4dGVuc2lvbnMiOnsiYmF6YWFyIjp7ImluZm8iOnsiZGlzY292ZXJhYmxlIjp0cnVlLCJjYXRlZ29yeSI6IkNvbmZpZyBTYWZldHkiLCJ0YWdzIjpbImVudiIsImNvbmZpZyIsInNlY3JldHMiLCJ2YWxpZGF0aW9uIl0sImlucHV0Ijp7ImVudkNvbnRlbnQiOiJEQVRBQkFTRV9VUkw9XG5QVUJMSUNfQVBJX0tFWT1hYmMiLCJlbnZFeGFtcGxlQ29udGVudCI6IkRBVEFCQVNFX1VSTD1cblNFQ1JFVF9UT0tFTj0ifSwib3V0cHV0Ijp7ImlzVmFsaWQiOmZhbHNlLCJtaXNzaW5nS2V5cyI6WyJTRUNSRVRfVE9LRU4iXSwiZW1wdHlLZXlzIjpbIkRBVEFCQVNFX1VSTCJdLCJsZWFrcyI6W10sIndhcm5pbmdzIjpbIkVtcHR5IGtleTogREFUQUJBU0VfVVJMIiwiTWlzc2luZyBrZXk6IFNFQ1JFVF9UT0tFTiJdfX0sInNjaGVtYSI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJkaXNjb3ZlcmFibGUiOnsidHlwZSI6ImJvb2xlYW4ifSwiY2F0ZWdvcnkiOnsidHlwZSI6InN0cmluZyJ9LCJ0YWdzIjp7InR5cGUiOiJhcnJheSIsIml0ZW1zIjp7InR5cGUiOiJzdHJpbmcifX0sImlucHV0Ijp7InR5cGUiOiJvYmplY3QiLCJyZXF1aXJlZCI6WyJlbnZDb250ZW50IiwiZW52RXhhbXBsZUNvbnRlbnQiXSwicHJvcGVydGllcyI6eyJlbnZDb250ZW50Ijp7InR5cGUiOiJzdHJpbmcifSwiZW52RXhhbXBsZUNvbnRlbnQiOnsidHlwZSI6InN0cmluZyJ9fX0sIm91dHB1dCI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJpc1ZhbGlkIjp7InR5cGUiOiJib29sZWFuIn0sIm1pc3NpbmdLZXlzIjp7InR5cGUiOiJhcnJheSIsIml0ZW1zIjp7InR5cGUiOiJzdHJpbmcifX0sImVtcHR5S2V5cyI6eyJ0eXBlIjoiYXJyYXkiLCJpdGVtcyI6eyJ0eXBlIjoic3RyaW5nIn19LCJsZWFrcyI6eyJ0eXBlIjoiYXJyYXkiLCJpdGVtcyI6eyJ0eXBlIjoic3RyaW5nIn19LCJ3YXJuaW5ncyI6eyJ0eXBlIjoiYXJyYXkiLCJpdGVtcyI6eyJ0eXBlIjoic3RyaW5nIn19fX19fX19fQ==",
      "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."
      }
    }
  }
}