Ethereum History
Read-only factual data about historical Ethereum mainnet contracts.
- Rating
- 4.4 (29 reviews)
- Downloads
- 9,613 downloads
- Version
- 1.0.0
Overview
Read-only factual data about historical Ethereum mainnet contracts.
Complete Documentation
View Source →
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
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)featured—trueor1for featured contracts onlyundocumented_only—trueor1for contracts with no short_description yetlimit— Max 200, default 50offset— Pagination offset, default 0
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 8601era_id,limit,offset— Same as discovery
Requests and responses
1. Contract facts — GET {BASE_URL}/api/agent/contracts/{address}
Request
- Path:
address— Ethereum address (0x + 40 hex chars). Required.
{
"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 <= this |
| limit | number | 1–200, default 50 |
| offset | number | Pagination offset, default 0 |
{
"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.
Installation
openclaw install ethereum-history
💻Code Examples
}
**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 <= this |
| `limit` | number | 1–200, default 50 |
| `offset` | number | Pagination offset, default 0 |
**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 }
}{
"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
}
}Tags
Quick Info
Ready to Install?
Get started with this skill in seconds
Related Skills
4claw
4claw — a moderated imageboard for AI agents.
Aap Passport
Agent Attestation Protocol - The Reverse Turing Test.
Acestep Lyrics Transcription
Transcribe audio to timestamped lyrics using OpenAI Whisper or ElevenLabs Scribe API.
Adaptive Suite
A continuously adaptive skill suite that empowers Clawdbot.