{
  "schemaVersion": "1.0",
  "item": {
    "slug": "epstein-emails",
    "name": "Epstein Emails (x402)",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/BlockBoy32/epstein-emails",
    "canonicalUrl": "https://clawhub.ai/BlockBoy32/epstein-emails",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/epstein-emails",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=epstein-emails",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/epstein-emails"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/epstein-emails",
    "agentPageUrl": "https://openagent3.xyz/skills/epstein-emails/agent",
    "manifestUrl": "https://openagent3.xyz/skills/epstein-emails/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/epstein-emails/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Epstein Emails API",
        "body": "Query 383,000+ court-released Epstein emails via a pay-per-request API. Structured JSON. USDC on Base via the x402 protocol."
      },
      {
        "title": "Required Credentials",
        "body": "This skill requires a funded EVM wallet to make payments. You must have:\n\nVariableFormatRequiredDescriptionXCLAW02_PRIVATE_KEY0x + 64 hex charsYesEVM wallet private key for signing payments\n\nYour wallet must hold USDC on Base (eip155:8453). Each API request costs $0.001 USDC.\n\nSecurity: Never log, display, or echo your private key. Use environment variables only. Use a dedicated hot wallet funded with only what you need — do not use a wallet holding significant funds."
      },
      {
        "title": "When to Use This Skill",
        "body": "Use this skill when:\n\nThe user asks about Epstein, Jeffrey Epstein, or Ghislaine Maxwell emails\nThe user wants to search court-released documents or public records from the Epstein case\nThe user needs structured email data (sender, recipient, date, subject, body) from the Epstein archive\nThe user wants to cross-reference names, dates, or connections in the Epstein files"
      },
      {
        "title": "How to Respond",
        "body": "User Says/AsksWhat to Do\"Search Epstein emails for X\"Use /api/search — costs 1 request ($0.001). Confirm with user before calling.\"Who emailed whom?\"Use /api/emails with from/to filters — costs 1 request ($0.001). Confirm first.\"Show emails from a date\"Use /api/emails with date filter — costs 1 request ($0.001). Confirm first.\"How many emails mention X?\"Use free /api/preview first (no cost). Report count. Only use paid search if user wants full results.\"Get all emails\"Warn the user about cost first. Full pagination could cost ~$0.384 (384 requests at 1000/page). Get explicit approval before starting.\"What's in the Epstein files?\"Explain the dataset — no API call needed.\n\nImportant: Always confirm with the user before making paid requests. Never paginate through the full dataset without explicit user approval and a cost estimate."
      },
      {
        "title": "Spending Safeguards",
        "body": "Always estimate cost before multi-request operations. Formula: ceil(total_results / 1000) * $0.001\nUse the free /api/preview endpoint first to check result counts before committing to paid requests.\nNever auto-paginate through all results without explicit user approval.\nSingle requests are fine — one search or one filtered query costs $0.001. Just confirm with the user.\nSet a spending limit in your x402 client if supported (e.g., max_amount parameter)."
      },
      {
        "title": "API Base URL",
        "body": "https://epsteinemails.xyz"
      },
      {
        "title": "GET /api/preview (FREE)",
        "body": "Free preview search. Use this first to check result counts before making paid requests. Rate limited (10 req/min), truncated bodies, max 10 results. No payment required.\n\nQuery Parameters:\n\nParamTypeDescriptionqstringSearch query (min 2 characters)\n\nResponse:\n\n{\n  \"query\": \"american\",\n  \"total_matches\": 15,\n  \"returned\": 10,\n  \"preview\": true,\n  \"results\": [\n    {\n      \"from\": \"Natalia Molotkova\",\n      \"to\": \"\",\n      \"date\": \"Wed 2/1/2017 8:06:26 PM\",\n      \"subject\": \"Round Trip ticket Barcelona/Miami\",\n      \"body\": \"Title: American Express Middle seats OK? Regards, Natal...\",\n      \"source_file\": \"EFTA02205655.pdf\"\n    }\n  ]\n}"
      },
      {
        "title": "GET /api/emails (PAID — $0.001)",
        "body": "List and filter emails with pagination. Requires x402 payment.\n\nQuery Parameters:\n\nParamTypeDescriptionfromstringFilter by sender (case-insensitive substring)tostringFilter by recipientsubjectstringFilter by subject linedatestringFilter by date (e.g. \"2017\", \"Wed\")source_filestringFilter by source PDF filenamelimitintMax results per page (default/max: 1000)offsetintPagination offset (default: 0)\n\nResponse:\n\n{\n  \"total\": 383579,\n  \"returned\": 2,\n  \"offset\": 0,\n  \"limit\": 2,\n  \"has_more\": true,\n  \"next_offset\": 2,\n  \"emails\": [\n    {\n      \"from\": \"Natalia Molotkova\",\n      \"to\": \"\",\n      \"date\": \"Wed 2/1/2017 8:06:26 PM\",\n      \"subject\": \"Round Trip ticket Barcelona/Miami\",\n      \"body\": \"Title: American Express...\",\n      \"cc\": \"\",\n      \"bcc\": \"\",\n      \"source_file\": \"EFTA02205655.pdf\",\n      \"source_url\": \"https://www.justice.gov/epstein/files/DataSet%2011/EFTA02205655.pdf\"\n    }\n  ]\n}"
      },
      {
        "title": "GET /api/search (PAID — $0.001)",
        "body": "Full-text search across all email fields. Requires x402 payment.\n\nQuery Parameters:\n\nParamTypeDescriptionqstringSearch query (required, searches from/to/subject/body/date/cc/bcc)limitintMax results per page (default/max: 1000)offsetintPagination offset (default: 0)\n\nResponse:\n\n{\n  \"query\": \"schedule\",\n  \"total_matches\": 42,\n  \"returned\": 2,\n  \"offset\": 0,\n  \"limit\": 2,\n  \"has_more\": true,\n  \"next_offset\": 2,\n  \"results\": [\n    {\n      \"index\": 5,\n      \"email\": {\n        \"from\": \"Jeffrey Epstein\",\n        \"to\": \"Ghislaine Maxwell\",\n        \"date\": \"Thu 3/15/2017 10:30:00 AM\",\n        \"subject\": \"Schedule\",\n        \"body\": \"...\",\n        \"cc\": \"\",\n        \"bcc\": \"\",\n        \"source_file\": \"EFTA02205700.pdf\",\n        \"source_url\": \"https://www.justice.gov/epstein/files/DataSet%2011/EFTA02205700.pdf\"\n      }\n    }\n  ]\n}"
      },
      {
        "title": "Quick Start (Python)",
        "body": "# pip install \"x402[httpx,evm]\" eth_account\n\nimport asyncio\nimport os\nfrom eth_account import Account\nfrom x402 import x402Client\nfrom x402.http.clients import x402HttpxClient\nfrom x402.mechanisms.evm import EthAccountSigner\nfrom x402.mechanisms.evm.exact.register import register_exact_evm_client\n\n# Load private key from environment variable — never hardcode\naccount = Account.from_key(os.environ[\"XCLAW02_PRIVATE_KEY\"])\nclient = x402Client()\nregister_exact_evm_client(client, EthAccountSigner(account))\n\nasync def main():\n    async with x402HttpxClient(client) as http:\n        resp = await http.get(\n            \"https://epsteinemails.xyz/api/search?q=schedule&limit=10\"\n        )\n        data = resp.json()\n        print(f\"Found {data['total_matches']} matches\")\n        for r in data[\"results\"]:\n            e = r[\"email\"]\n            print(f\"  {e['from']} -> {e['to']}: {e['subject']}\")\n\nasyncio.run(main())"
      },
      {
        "title": "Pagination",
        "body": "All paid endpoints support pagination. Max 1000 results per request.\n\nBefore paginating, estimate cost and get user approval:\n\n# Step 1: Use free preview to check total matches\npreview = await http.get(\n    \"https://epsteinemails.xyz/api/preview?q=travel\"\n)\ntotal = preview.json()[\"total_matches\"]\nest_cost = ((total + 999) // 1000) * 0.001\nprint(f\"{total} matches — full retrieval will cost ~${est_cost:.3f} ({(total + 999) // 1000} requests)\")\n# Step 2: Only proceed with user approval\n\n# Step 3: Paginate\nall_results = []\noffset = 0\nwhile True:\n    resp = await http.get(\n        f\"https://epsteinemails.xyz/api/search?q=travel&limit=1000&offset={offset}\"\n    )\n    data = resp.json()\n    all_results.extend(data[\"results\"])\n    if not data[\"has_more\"]:\n        break\n    offset = data[\"next_offset\"]"
      },
      {
        "title": "Payment Details",
        "body": "FieldValueProtocolx402 (HTTP 402 Payment Required)Price$0.001 USDC per requestNetworkBase (eip155:8453)TokenUSDC (0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913)GasNone (facilitator-sponsored)FacilitatorCoinbase CDP (https://api.cdp.coinbase.com/platform/v2/x402)Recipient0xF9702D558eAEC22a655df33b1E3Ac996fAC2f1Ea\n\nThe payment flow is automatic when using an x402-compatible client:\n\nClient sends GET request\nServer returns 402 with payment requirements in headers\nClient signs a USDC payment and retries with payment header\nServer verifies via Coinbase CDP facilitator, settles onchain, returns data"
      },
      {
        "title": "Data Provenance",
        "body": "All emails are OCR'd from court-released PDF documents published by the U.S. Department of Justice at https://www.justice.gov/epstein. Each email record includes a source_file field and a source_url field linking directly to the original DOJ-hosted PDF."
      },
      {
        "title": "Error Handling",
        "body": "StatusMeaning200Success400Bad request (missing q param on search)402Payment required (x402 client handles this automatically)429Rate limited (preview endpoint only, wait 60s)"
      },
      {
        "title": "Links",
        "body": "API: https://epsteinemails.xyz\nx402 Protocol: https://x402.org\nx402 Python SDK: pip install \"x402[httpx,evm]\"\nSource documents: https://www.justice.gov/epstein"
      }
    ],
    "body": "Epstein Emails API\n\nQuery 383,000+ court-released Epstein emails via a pay-per-request API. Structured JSON. USDC on Base via the x402 protocol.\n\nRequired Credentials\n\nThis skill requires a funded EVM wallet to make payments. You must have:\n\nVariable\tFormat\tRequired\tDescription\nXCLAW02_PRIVATE_KEY\t0x + 64 hex chars\tYes\tEVM wallet private key for signing payments\n\nYour wallet must hold USDC on Base (eip155:8453). Each API request costs $0.001 USDC.\n\nSecurity: Never log, display, or echo your private key. Use environment variables only. Use a dedicated hot wallet funded with only what you need — do not use a wallet holding significant funds.\n\nWhen to Use This Skill\n\nUse this skill when:\n\nThe user asks about Epstein, Jeffrey Epstein, or Ghislaine Maxwell emails\nThe user wants to search court-released documents or public records from the Epstein case\nThe user needs structured email data (sender, recipient, date, subject, body) from the Epstein archive\nThe user wants to cross-reference names, dates, or connections in the Epstein files\nHow to Respond\nUser Says/Asks\tWhat to Do\n\"Search Epstein emails for X\"\tUse /api/search — costs 1 request ($0.001). Confirm with user before calling.\n\"Who emailed whom?\"\tUse /api/emails with from/to filters — costs 1 request ($0.001). Confirm first.\n\"Show emails from a date\"\tUse /api/emails with date filter — costs 1 request ($0.001). Confirm first.\n\"How many emails mention X?\"\tUse free /api/preview first (no cost). Report count. Only use paid search if user wants full results.\n\"Get all emails\"\tWarn the user about cost first. Full pagination could cost ~$0.384 (384 requests at 1000/page). Get explicit approval before starting.\n\"What's in the Epstein files?\"\tExplain the dataset — no API call needed.\n\nImportant: Always confirm with the user before making paid requests. Never paginate through the full dataset without explicit user approval and a cost estimate.\n\nSpending Safeguards\nAlways estimate cost before multi-request operations. Formula: ceil(total_results / 1000) * $0.001\nUse the free /api/preview endpoint first to check result counts before committing to paid requests.\nNever auto-paginate through all results without explicit user approval.\nSingle requests are fine — one search or one filtered query costs $0.001. Just confirm with the user.\nSet a spending limit in your x402 client if supported (e.g., max_amount parameter).\nAPI Base URL\nhttps://epsteinemails.xyz\n\nEndpoints\nGET /api/preview (FREE)\n\nFree preview search. Use this first to check result counts before making paid requests. Rate limited (10 req/min), truncated bodies, max 10 results. No payment required.\n\nQuery Parameters:\n\nParam\tType\tDescription\nq\tstring\tSearch query (min 2 characters)\n\nResponse:\n\n{\n  \"query\": \"american\",\n  \"total_matches\": 15,\n  \"returned\": 10,\n  \"preview\": true,\n  \"results\": [\n    {\n      \"from\": \"Natalia Molotkova\",\n      \"to\": \"\",\n      \"date\": \"Wed 2/1/2017 8:06:26 PM\",\n      \"subject\": \"Round Trip ticket Barcelona/Miami\",\n      \"body\": \"Title: American Express Middle seats OK? Regards, Natal...\",\n      \"source_file\": \"EFTA02205655.pdf\"\n    }\n  ]\n}\n\nGET /api/emails (PAID — $0.001)\n\nList and filter emails with pagination. Requires x402 payment.\n\nQuery Parameters:\n\nParam\tType\tDescription\nfrom\tstring\tFilter by sender (case-insensitive substring)\nto\tstring\tFilter by recipient\nsubject\tstring\tFilter by subject line\ndate\tstring\tFilter by date (e.g. \"2017\", \"Wed\")\nsource_file\tstring\tFilter by source PDF filename\nlimit\tint\tMax results per page (default/max: 1000)\noffset\tint\tPagination offset (default: 0)\n\nResponse:\n\n{\n  \"total\": 383579,\n  \"returned\": 2,\n  \"offset\": 0,\n  \"limit\": 2,\n  \"has_more\": true,\n  \"next_offset\": 2,\n  \"emails\": [\n    {\n      \"from\": \"Natalia Molotkova\",\n      \"to\": \"\",\n      \"date\": \"Wed 2/1/2017 8:06:26 PM\",\n      \"subject\": \"Round Trip ticket Barcelona/Miami\",\n      \"body\": \"Title: American Express...\",\n      \"cc\": \"\",\n      \"bcc\": \"\",\n      \"source_file\": \"EFTA02205655.pdf\",\n      \"source_url\": \"https://www.justice.gov/epstein/files/DataSet%2011/EFTA02205655.pdf\"\n    }\n  ]\n}\n\nGET /api/search (PAID — $0.001)\n\nFull-text search across all email fields. Requires x402 payment.\n\nQuery Parameters:\n\nParam\tType\tDescription\nq\tstring\tSearch query (required, searches from/to/subject/body/date/cc/bcc)\nlimit\tint\tMax results per page (default/max: 1000)\noffset\tint\tPagination offset (default: 0)\n\nResponse:\n\n{\n  \"query\": \"schedule\",\n  \"total_matches\": 42,\n  \"returned\": 2,\n  \"offset\": 0,\n  \"limit\": 2,\n  \"has_more\": true,\n  \"next_offset\": 2,\n  \"results\": [\n    {\n      \"index\": 5,\n      \"email\": {\n        \"from\": \"Jeffrey Epstein\",\n        \"to\": \"Ghislaine Maxwell\",\n        \"date\": \"Thu 3/15/2017 10:30:00 AM\",\n        \"subject\": \"Schedule\",\n        \"body\": \"...\",\n        \"cc\": \"\",\n        \"bcc\": \"\",\n        \"source_file\": \"EFTA02205700.pdf\",\n        \"source_url\": \"https://www.justice.gov/epstein/files/DataSet%2011/EFTA02205700.pdf\"\n      }\n    }\n  ]\n}\n\nQuick Start (Python)\n# pip install \"x402[httpx,evm]\" eth_account\n\nimport asyncio\nimport os\nfrom eth_account import Account\nfrom x402 import x402Client\nfrom x402.http.clients import x402HttpxClient\nfrom x402.mechanisms.evm import EthAccountSigner\nfrom x402.mechanisms.evm.exact.register import register_exact_evm_client\n\n# Load private key from environment variable — never hardcode\naccount = Account.from_key(os.environ[\"XCLAW02_PRIVATE_KEY\"])\nclient = x402Client()\nregister_exact_evm_client(client, EthAccountSigner(account))\n\nasync def main():\n    async with x402HttpxClient(client) as http:\n        resp = await http.get(\n            \"https://epsteinemails.xyz/api/search?q=schedule&limit=10\"\n        )\n        data = resp.json()\n        print(f\"Found {data['total_matches']} matches\")\n        for r in data[\"results\"]:\n            e = r[\"email\"]\n            print(f\"  {e['from']} -> {e['to']}: {e['subject']}\")\n\nasyncio.run(main())\n\nPagination\n\nAll paid endpoints support pagination. Max 1000 results per request.\n\nBefore paginating, estimate cost and get user approval:\n\n# Step 1: Use free preview to check total matches\npreview = await http.get(\n    \"https://epsteinemails.xyz/api/preview?q=travel\"\n)\ntotal = preview.json()[\"total_matches\"]\nest_cost = ((total + 999) // 1000) * 0.001\nprint(f\"{total} matches — full retrieval will cost ~${est_cost:.3f} ({(total + 999) // 1000} requests)\")\n# Step 2: Only proceed with user approval\n\n# Step 3: Paginate\nall_results = []\noffset = 0\nwhile True:\n    resp = await http.get(\n        f\"https://epsteinemails.xyz/api/search?q=travel&limit=1000&offset={offset}\"\n    )\n    data = resp.json()\n    all_results.extend(data[\"results\"])\n    if not data[\"has_more\"]:\n        break\n    offset = data[\"next_offset\"]\n\nPayment Details\nField\tValue\nProtocol\tx402 (HTTP 402 Payment Required)\nPrice\t$0.001 USDC per request\nNetwork\tBase (eip155:8453)\nToken\tUSDC (0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913)\nGas\tNone (facilitator-sponsored)\nFacilitator\tCoinbase CDP (https://api.cdp.coinbase.com/platform/v2/x402)\nRecipient\t0xF9702D558eAEC22a655df33b1E3Ac996fAC2f1Ea\n\nThe payment flow is automatic when using an x402-compatible client:\n\nClient sends GET request\nServer returns 402 with payment requirements in headers\nClient signs a USDC payment and retries with payment header\nServer verifies via Coinbase CDP facilitator, settles onchain, returns data\nData Provenance\n\nAll emails are OCR'd from court-released PDF documents published by the U.S. Department of Justice at https://www.justice.gov/epstein. Each email record includes a source_file field and a source_url field linking directly to the original DOJ-hosted PDF.\n\nError Handling\nStatus\tMeaning\n200\tSuccess\n400\tBad request (missing q param on search)\n402\tPayment required (x402 client handles this automatically)\n429\tRate limited (preview endpoint only, wait 60s)\nLinks\nAPI: https://epsteinemails.xyz\nx402 Protocol: https://x402.org\nx402 Python SDK: pip install \"x402[httpx,evm]\"\nSource documents: https://www.justice.gov/epstein"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/BlockBoy32/epstein-emails",
    "publisherUrl": "https://clawhub.ai/BlockBoy32/epstein-emails",
    "owner": "BlockBoy32",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/epstein-emails",
    "downloadUrl": "https://openagent3.xyz/downloads/epstein-emails",
    "agentUrl": "https://openagent3.xyz/skills/epstein-emails/agent",
    "manifestUrl": "https://openagent3.xyz/skills/epstein-emails/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/epstein-emails/agent.md"
  }
}