Eve online Esi Skill
Query and manage EVE Online characters via the ESI (EVE Swagger Interface) REST API. Use when the user asks about EVE Online character data, wallet balance,...
Rank
62
Safety
84
Downloads
964
Updated
Apr 15, 2026
Version
1.0.6
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 964 downloads reported by the source. Last updated 4/15/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Apr 15, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Apr 15, 2026
- Adoption signal
- 964 downloadsadoption · observed Apr 15, 2026
- Latest release
- 1.0.6release · observed Feb 22, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install kn70krghga32ef4e3s75ew2vf980rh5b:eve-esi- Install using `clawhub skill install kn70krghga32ef4e3s75ew2vf980rh5b:eve-esi` in an isolated environment before connecting it to live workloads.
- No published capability contract is available yet, so validate auth and request/response behavior manually.
- Review the upstream CLAWHUB listing at https://clawhub.ai/burnshall-ui/eve-esi before using production credentials.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-burnshall-ui-eve-esi/snapshot"
Documentation
CLAWHUB
110,880 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: eve-esi
description: "Query and manage EVE Online characters via the ESI (EVE Swagger Interface) REST API. Use when the user asks about EVE Online character data, wallet balance, ISK transactions, assets, skill queue, skill points, clone locations, implants, fittings, contracts, market orders, mail, industry jobs, killmails, planetary interaction, loyalty points, or any other EVE account management task."
env:
- name: EVE_CLIENT_ID
description: "EVE Developer Application Client ID (from https://developers.eveonline.com/applications). Optional: only needed if using $ENV: references in your dashboard config instead of passing --client-id to auth_flow.py directly."
required: false
sensitive: false
- name: EVE_TOKEN_MAIN
description: "ESI OAuth2 access token for the main character. Optional: scripts auto-manage tokens via ~/.openclaw/eve-tokens.json (written by auth_flow.py). Only set this if using $ENV: references in your dashboard config."
required: false
sensitive: true
- name: EVE_REFRESH_MAIN
description: "ESI OAuth2 refresh token for automatic access token renewal. Optional: scripts auto-manage tokens via ~/.openclaw/eve-tokens.json. Only set this if using $ENV: references in your dashboard config."
required: false
sensitive: true
- name: TELEGRAM_BOT_TOKEN
description: "Telegram Bot API token for sending alerts and reports."
required: false
sensitive: true
- name: TELEGRAM_CHAT_ID
description: "Telegram chat ID where notifications are sent."
required: false
sensitive: false
- name: DISCORD_WEBHOOK_URL
description: "Discord webhook URL for sending alerts and reports."
required: false
sensitive: true
---
# Data Handling
This skill communicates exclusively with the official EVE Online ESI API (`esi.evetech.net`) and EVE SSO (`login.eveonline.com`).
No character data is exfiltrated to third-party servers.
Optional integrations (Telegram, Discord) are user-configured via environment variables and only transmit alerts defined by the user.
# EVE Online ESI
The ESI (EVE Swagger Interface) is the official REST API for EVE Online third-party development.
- Base URL: `https://esi.evetech.net/latest`
- Spec: `https://esi.evetech.net/latest/swagger.json`
- API Explorer: <https://developers.eveonline.com/api-explorer>
## Skill Location
All scripts live at: `~/.openclaw/workspace/skills/eve-esi/scripts/`
Always use full paths when calling scripts:
```bash
SKILL=~/.openclaw/workspace/skills/eve-esi
```
## Authentication
Tokens are stored in `~/.openclaw/eve-tokens.json` (created by auth_flow.py, chmod 600).
All scripts (`get_token.py`, `esi_query.py`) read from this file directly — **no env vars are required for normal operation.**
**First-time setup** (once per character):
```bash
# 1. Set up SSH tunnel on your local PC:
# ssh -L 8080:127.0.0.1:8080 user@your-server -N
# 2. Run auth flow on README.md
# EVE ESI Skill for OpenClaw
An [OpenClaw](https://openclaw.ai) skill for interacting with the [EVE Online ESI API](https://developers.eveonline.com/api-explorer) (EVE Swagger Interface).
## Features
<<<<<<< HEAD
- **PKCE Authentication** — Secure OAuth2 flow via EVE SSO, auto-refreshing tokens
- **Multi-Character** — Store and manage tokens for unlimited characters
- **PI Monitoring** — Planetary Interaction status, extractor timers, storage fill levels
- **Market Prices** — Global average prices and Jita buy/sell lookups
- **ESI Queries** — Reusable Python helper with pagination, rate-limit handling, and error recovery
- **Threat Assessment** — System threat scoring using ESI kills/jumps + zKillboard PVP data
- **Route Planning** — Annotated routes with per-system threat levels
- **Dashboard Config** — Modular alert/report/market-tracking config with JSON Schema
=======
- **Authentication** — PKCE OAuth2 flow via EVE SSO, auto-refreshing tokens
- **ESI Queries** — reusable Python helper with pagination, error limits, and caching
- **PI + Market Actions** — built-in actions for PI planet status and Jita price snapshots
- **Multi-character** — store and manage tokens for multiple characters
- **Dashboard Config** — modular alert/report/market-tracking config schema
- **Reference docs** — full scope list, endpoint index, auth flow details
>>>>>>> 37636f5 (docs: update README for PI action workflow)
## Structure
```
eve-esi/
├── SKILL.md # OpenClaw skill instructions (loaded by agent)
├── README.md # This file
├── .gitignore # Prevents token/secret commits
├── scripts/
<<<<<<< HEAD
│ ├── auth_flow.py # One-time EVE SSO OAuth2 PKCE authentication
│ ├── get_token.py # Token refresh helper (auto-rotates on every use)
=======
│ ├── auth_flow.py # One-time EVE SSO OAuth2 authentication
│ ├── get_token.py # Token refresh helper (auto-rotates)
>>>>>>> 37636f5 (docs: update README for PI action workflow)
│ ├── esi_query.py # ESI query helper + high-level PI/market actions
│ └── validate_config.py # Dashboard config validator
├── config/
│ ├── schema.json # JSON Schema for dashboard config
│ ├── example-config.json # Ready-to-use template
<<<<<<< HEAD
│ └── esi_endpoints.json # PI and market endpoint definitions
=======
│ └── esi_endpoints.json # Endpoint catalog (PI + market helpers)
>>>>>>> 37636f5 (docs: update README for PI action workflow)
└── references/
├── authentication.md # EVE SSO OAuth2 + PKCE details
└── endpoints.md # All character endpoints + scopes
```
## Installation
```bash
cd ~/.openclaw/workspace/skills
git clone https://github.com/burnshall-ui/openclaw-eve-skill eve-esi
```
No pip dependencies — uses Python 3.8+ stdlib only.
_meta.json
{
"ownerId": "kn70krghga32ef4e3s75ew2vf980rh5b",
"slug": "eve-esi",
"version": "1.0.6",
"publishedAt": 1771728287485
}references/authentication.md
# EVE SSO OAuth2 Authentication
EVE ESI uses OAuth 2.0 Authorization Code flow via EVE SSO (Single Sign-On).
Base SSO URL: `https://login.eveonline.com`
## Prerequisites
1. Register an application at <https://developers.eveonline.com/applications>
2. Note your **Client ID** and **Secret Key**
3. Set a **Callback URL** (e.g. `http://localhost:8080/callback`)
4. Select required **Scopes** for the endpoints you need
## Authorization Code Flow
### Step 1: Redirect user to SSO
```
https://login.eveonline.com/v2/oauth/authorize/?response_type=code&redirect_uri=<CALLBACK_URL>&client_id=<CLIENT_ID>&scope=<SCOPES>&state=<RANDOM_STATE>
```
- `scope`: space-separated list (e.g. `esi-wallet.read_character_wallet.v1 esi-assets.read_assets.v1`)
- `state`: random string to prevent CSRF
### Step 2: Exchange authorization code for tokens
```bash
curl -X POST https://login.eveonline.com/v2/oauth/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=authorization_code" \
-d "code=<AUTH_CODE>" \
-d "client_id=<CLIENT_ID>" \
-d "code_verifier=<CODE_VERIFIER>"
```
Response:
```json
{
"access_token": "eyJ...",
"expires_in": 1199,
"token_type": "Bearer",
"refresh_token": "abc123..."
}
```
### Step 3: Refresh expired tokens
Access tokens expire after ~20 minutes. Refresh with:
```bash
curl -X POST https://login.eveonline.com/v2/oauth/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=refresh_token" \
-d "refresh_token=<REFRESH_TOKEN>" \
-d "client_id=<CLIENT_ID>"
```
### Step 4: Verify token and get character ID
```bash
curl -H "Authorization: Bearer <ACCESS_TOKEN>" \
https://login.eveonline.com/oauth/verify
```
Response includes `CharacterID`, `CharacterName`, `Scopes`.
## Using tokens with ESI
Pass the access token as a Bearer header:
```bash
curl -H "Authorization: Bearer <ACCESS_TOKEN>" \
"https://esi.evetech.net/latest/characters/<CHARACTER_ID>/wallet/"
```
## PKCE (Proof Key for Code Exchange)
EVE SSO supports PKCE for public clients (no secret key). Generate a `code_verifier` (random 43-128 char string) and derive `code_challenge` via SHA-256:
```python
import hashlib, base64, secrets
code_verifier = secrets.token_urlsafe(64)
code_challenge = base64.urlsafe_b64encode(
hashlib.sha256(code_verifier.encode()).digest()
).rstrip(b"=").decode()
```
Add `&code_challenge=<CHALLENGE>&code_challenge_method=S256` to the authorize URL. Include `code_verifier` in the token exchange.
## Required Scopes by Category
| Category | Scope |
|----------|-------|
| Wallet | `esi-wallet.read_character_wallet.v1` |
| Assets | `esi-assets.read_assets.v1` |
| Skills | `esi-skills.read_skills.v1`, `esi-skills.read_skillqueue.v1` |
| Clones | `esi-clones.read_clones.v1`, `esi-clones.read_implants.v1` |
| Location | `esi-location.read_location.v1`, `esi-location.read_ship_type.v1`, `esireferences/endpoints.md
# EVE ESI Character Endpoints Reference
Base URL: `https://esi.evetech.net/latest`
All authenticated endpoints require `Authorization: Bearer <TOKEN>` header. Replace `{character_id}` with the numeric character ID from SSO verify.
## Table of Contents
- [Character Info](#character-info)
- [Wallet](#wallet)
- [Assets](#assets)
- [Skills](#skills)
- [Clones and Implants](#clones-and-implants)
- [Location](#location)
- [Contacts](#contacts)
- [Contracts](#contracts)
- [Calendar](#calendar)
- [Fittings](#fittings)
- [Industry](#industry)
- [Killmails](#killmails)
- [Mail](#mail)
- [Market Orders](#market-orders)
- [Mining](#mining)
- [Notifications](#notifications)
- [Loyalty Points](#loyalty-points)
- [Planets (PI)](#planets-pi)
- [Blueprints](#blueprints)
- [Roles and Titles](#roles-and-titles)
- [Standings](#standings)
- [Bookmarks](#bookmarks)
- [Medals](#medals)
- [Agent Research](#agent-research)
- [Fatigue](#fatigue)
- [Faction Warfare](#faction-warfare)
- [Corporation History](#corporation-history)
- [Portrait](#portrait)
- [Search](#search)
- [Fleet](#fleet)
---
## Character Info
| Method | Path | Scope | Description |
|--------|------|-------|-------------|
| GET | `/characters/{character_id}/` | -- | Public character info (name, corp, birthday, etc.) |
| GET | `/characters/{character_id}/online/` | `esi-location.read_online.v1` | Online status, last login/logout |
| POST | `/characters/affiliation/` | -- | Bulk lookup corp/alliance/faction for character IDs |
## Wallet
| Method | Path | Scope | Description |
|--------|------|-------|-------------|
| GET | `/characters/{character_id}/wallet/` | `esi-wallet.read_character_wallet.v1` | ISK balance |
| GET | `/characters/{character_id}/wallet/journal/` | `esi-wallet.read_character_wallet.v1` | Wallet journal (paginated) |
| GET | `/characters/{character_id}/wallet/transactions/` | `esi-wallet.read_character_wallet.v1` | Wallet transactions |
## Assets
| Method | Path | Scope | Description |
|--------|------|-------|-------------|
| GET | `/characters/{character_id}/assets/` | `esi-assets.read_assets.v1` | All assets (paginated) |
| POST | `/characters/{character_id}/assets/locations/` | `esi-assets.read_assets.v1` | Locations for specific item IDs |
| POST | `/characters/{character_id}/assets/names/` | `esi-assets.read_assets.v1` | Names for specific item IDs |
## Skills
| Method | Path | Scope | Description |
|--------|------|-------|-------------|
| GET | `/characters/{character_id}/skills/` | `esi-skills.read_skills.v1` | All trained skills + total SP |
| GET | `/characters/{character_id}/skillqueue/` | `esi-skills.read_skillqueue.v1` | Current skill queue |
| GET | `/characters/{character_id}/attributes/` | `esi-skills.read_skills.v1` | Character attributes (int, mem, etc.) |
## Clones and Implants
| Method | Path | Scope | Description |
|--------|------|-------|-------------|
| GET | `/characters/{activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/burnshall-ui/eve-esi",
"sourceUrl": "https://clawhub.ai/burnshall-ui/eve-esi",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-04-15T00:45:39.800Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-burnshall-ui-eve-esi/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-burnshall-ui-eve-esi/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-04-15T00:45:39.800Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "964 downloads",
"href": "https://clawhub.ai/burnshall-ui/eve-esi",
"sourceUrl": "https://clawhub.ai/burnshall-ui/eve-esi",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-04-15T00:45:39.800Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "1.0.6",
"href": "https://clawhub.ai/burnshall-ui/eve-esi",
"sourceUrl": "https://clawhub.ai/burnshall-ui/eve-esi",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-02-22T02:44:47.485Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-burnshall-ui-eve-esi/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-burnshall-ui-eve-esi/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 1.0.6",
"description": "eve-esi 1.0.6 - Added .gitignore for better repository hygiene. - Introduced config/esi_endpoints.json for improved endpoint organization. - add pi workflow - skill provides threat intelligence for PI operations in low/null-sec systems",
"href": "https://clawhub.ai/burnshall-ui/eve-esi",
"sourceUrl": "https://clawhub.ai/burnshall-ui/eve-esi",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-02-22T02:44:47.485Z",
"isPublic": true
}
]
}Record generated Oct 9, 2026.
