Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Read-only factual data about historical Ethereum mainnet contracts. Use when the user asks about a specific contract address, early Ethereum contracts, deployment era, deployer, bytecode, decompiled code, or documented history (what a contract is and is not). Data is non-opinionated and includes runtime bytecode, decompiled code, and editorial history when available. Base URL https://ethereumhistory.com (or set BASE_URL for local/staging).
Read-only factual data about historical Ethereum mainnet contracts. Use when the user asks about a specific contract address, early Ethereum contracts, deployment era, deployer, bytecode, decompiled code, or documented history (what a contract is and is not). Data is non-opinionated and includes runtime bytecode, decompiled code, and editorial history when available. Base URL https://ethereumhistory.com (or set BASE_URL for local/staging).
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
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.
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.
Ethereum History exposes read-only, factual data about historical Ethereum mainnet contracts. Use this skill when the user asks about: A specific contract address (what is it, when was it deployed, who deployed it, bytecode, decompiled code, documented history) Early Ethereum contracts, deployment era (Frontier, Homestead, DAO fork, etc.), or undocumented/notable contracts Contract facts: deployer, deployment block/timestamp, short description, historical summary, links, metadata All endpoints are GET only. No authentication required. Responses are JSON with snake_case keys.
Production: https://ethereumhistory.com Manifest (full schema): GET {BASE_URL}/api/agent/manifest
GET {BASE_URL}/api/agent/contracts/{address} Returns full factual data for one contract: address, era, deployer, deployment block/timestamp, runtime_bytecode, decompiled_code (when available), short_description, historical_summary, historical_significance, historical_context, token metadata, heuristics, links, metadata. Use when the user provides or asks about a specific contract address. Example: GET https://ethereumhistory.com/api/agent/contracts/0xdbf03b407c01e7cd3cbea99509d93f8dddc8c6fb
GET {BASE_URL}/api/agent/contracts Query params (all optional): era_id — Filter by era (e.g. frontier, homestead, dao, tangerine, spurious) featured — true or 1 for featured contracts only undocumented_only — true or 1 for contracts with no short_description yet limit — Max 200, default 50 offset — Pagination offset, default 0 Returns a list with minimal fields: address, era_id, deployer_address, deployment_timestamp, has_short_description, decompilation_success, etherscan_contract_name, token_name, token_symbol. Use for discovery; then fetch full facts via endpoint 1 if needed.
GET {BASE_URL}/api/agent/contracts?from_timestamp=...&to_timestamp=... Query params: from_timestamp — ISO 8601 (e.g. 2015-07-30T00:00:00Z) to_timestamp — ISO 8601 era_id, limit, offset — Same as discovery Use when the user asks for contracts deployed in a date range or era.
Request Path: address — Ethereum address (0x + 40 hex chars). Required. Success (200) { "data": { "address": "string", "era_id": "string | null", "era": { "id": "string", "name": "string", "start_block": number, "end_block": number | null, "start_date": "string", "end_date": "string | null" } | null, "deployer_address": "string | null", "deployment_tx_hash": "string | null", "deployment_block": number | null, "deployment_timestamp": "string | null", "runtime_bytecode": "string | null", "decompiled_code": "string | null", "decompilation_success": boolean, "code_size_bytes": number | null, "gas_used": number | null, "gas_price": "string | null", "heuristics": { "contract_type": "string | null", "confidence": number, "is_proxy": boolean, "has_selfdestruct": boolean, "is_erc20_like": boolean }, "etherscan_contract_name": "string | null", "etherscan_verified": boolean, "source_code": "string | null", "abi": "string | null", "token_name": "string | null", "token_symbol": "string | null", "token_decimals": number | null, "token_logo": "string | null", "short_description": "string | null", "description": "string | null", "historical_summary": "string | null", "historical_significance": "string | null", "historical_context": "string | null", "verification_status": "string", "links": [{ "id": number, "title": "string | null", "url": "string", "source": "string | null", "note": "string | null", "created_at": "string" }], "metadata": [{ "key": "string", "value": "string | null", "json_value": unknown, "source_url": "string | null", "created_at": "string" }] }, "meta": { "timestamp": "string (ISO 8601)", "cached": false } } Errors 400 — Invalid address format. Body: { "error": "Invalid Ethereum address format. Must be 0x followed by 40 hex characters." } 404 — Contract not found. Body: { "error": "Contract not found in our historical archive." } 500 — Server error. Body: { "error": "string" }
Request (query params, all optional) ParamTypeDescriptionera_idstringEra id: frontier, homestead, dao, tangerine, spuriousfeaturedstringtrue or 1 = featured only; false or 0 = no filterundocumented_onlystringtrue or 1 = contracts with no short_descriptionfrom_timestampstringISO 8601; deployment_timestamp >= thisto_timestampstringISO 8601; deployment_timestamp <= thislimitnumber1–200, default 50offsetnumberPagination offset, default 0 Success (200) { "data": [ { "address": "string", "era_id": "string | null", "deployer_address": "string | null", "deployment_timestamp": "string | null", "has_short_description": boolean, "decompilation_success": boolean, "etherscan_contract_name": "string | null", "token_name": "string | null", "token_symbol": "string | null" } ], "meta": { "timestamp": "string (ISO 8601)", "cached": false, "limit": number, "offset": number, "count": number } } When the database is not configured, response is still 200 with "data": [] and meta.message indicating discovery requires PostgreSQL.
Request: None. Success (200): JSON object with name, id, description, version, base_url, capabilities, endpoints, terms. See the live URL for full shape.
Read-only. No opinions or editorial stance. Data as documented on EthereumHistory.com. Factual only. What something is and is not. No hype or persuasion. When history (short_description, etc.) is not yet documented, contract facts still include runtime_bytecode and decompiled_code when available. For the full machine-readable manifest (capabilities, endpoints, terms), call GET {BASE_URL}/api/agent/manifest.
Data access, storage, extraction, analysis, reporting, and insight generation.
Largest current source with strong distribution and engagement signals.