← Back to Skills Marketplace
cartoonitunes

Ethereum History

by cartoonitunes · GitHub ↗ · v1.0.0
cross-platform ✓ Security Clean
1576
Downloads
1
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install ethereum-history
Description
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).
README (SKILL.md)

Ethereum History — Agent Skill

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.

Base URL

  • Production: https://ethereumhistory.com
  • Manifest (full schema): GET {BASE_URL}/api/agent/manifest

Endpoints

1. Contract facts (one address)

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

2. Discovery (list contracts)

GET {BASE_URL}/api/agent/contracts

Query params (all optional):

  • era_id — Filter by era (e.g. frontier, homestead, dao, tangerine, spurious)
  • featuredtrue or 1 for featured contracts only
  • undocumented_onlytrue 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.

3. Temporal queries (by time range)

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.

Requests and responses

1. Contract facts — GET {BASE_URL}/api/agent/contracts/{address}

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" }

2. Discovery / temporal — GET {BASE_URL}/api/agent/contracts

Request (query params, all optional)

Param Type Description
era_id string Era id: frontier, homestead, dao, tangerine, spurious
featured string true or 1 = featured only; false or 0 = no filter
undocumented_only string true or 1 = contracts with no short_description
from_timestamp string ISO 8601; deployment_timestamp >= this
to_timestamp string ISO 8601; deployment_timestamp \x3C= this
limit number 1–200, default 50
offset number Pagination 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.


3. Manifest — GET {BASE_URL}/api/agent/manifest

Request: None.

Success (200): JSON object with name, id, description, version, base_url, capabilities, endpoints, terms. See the live URL for full shape.


Usage notes

  • 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.
Usage Guidance
This skill appears to only call a public, read-only API and asks for nothing sensitive. Before installing, verify the base URL (https://ethereumhistory.com) is the service you expect and that requests over HTTPS are acceptable for your privacy needs (queries and addresses will be sent to that host and may be logged). If you prefer not to send queries to the public service, use a vetted local/staging BASE_URL. No credentials or installs are required.
Capability Analysis
Type: OpenClaw Skill Name: ethereum-history Version: 1.0.0 The skill bundle is benign. The `SKILL.md` clearly defines a read-only, GET-only API for historical Ethereum contract data, explicitly stating 'no authentication required' and 'read-only, factual' data. While it retrieves sensitive contract data like `runtime_bytecode` and `decompiled_code`, this aligns with its stated purpose of providing historical blockchain information, which is publicly available. There are no instructions for malicious execution, data exfiltration of user data, persistence, or prompt injection against the agent for harmful objectives. The `_meta.json` contains only standard metadata.
Capability Assessment
Purpose & Capability
The name and description claim read-only historical Ethereum contract data and the SKILL.md only documents public GET endpoints that return contract facts and lists. There are no unrelated requirements (no binaries, no env vars, no credentials) that would be unexpected for this purpose.
Instruction Scope
The instructions are narrowly scoped to constructing GET requests against the Base URL, validating an address format, and interpreting JSON responses. They do not instruct the agent to read local files, access unrelated environment variables, or transmit data to any endpoint other than the documented BASE_URL.
Install Mechanism
There is no install specification and no code files. This instruction-only skill does not write files to disk or execute downloaded code, which is the lowest-risk install model.
Credentials
The skill declares no required environment variables, no credentials, and no config paths. That is proportionate for a public, read-only API that requires no authentication.
Persistence & Privilege
The skill is not marked always:true and does not request system-wide persistence or modify other skills. It can be invoked autonomously by the agent (platform default), which is expected for a user-invocable skill.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install ethereum-history
  3. After installation, invoke the skill by name or use /ethereum-history
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
- Initial release of the Ethereum History skill. - Provides read-only, factual data about historical Ethereum mainnet contracts. - Supports lookup by contract address for details like deployer, deployment era, runtime bytecode, and decompiled code. - Enables contract discovery and filtering by era, timestamp, or documentation status. - All endpoints are GET-only and require no authentication. - Returns structured JSON responses suitable for further processing or display.
Metadata
Slug ethereum-history
Version 1.0.0
License
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Ethereum History?

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). It is an AI Agent Skill for Claude Code / OpenClaw, with 1576 downloads so far.

How do I install Ethereum History?

Run "/install ethereum-history" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Ethereum History free?

Yes, Ethereum History is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Ethereum History support?

Ethereum History is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Ethereum History?

It is built and maintained by cartoonitunes (@cartoonitunes); the current version is v1.0.0.

💬 Comments