---
name: x402.onchainexpat.com
description: x402.onchainexpat.com is a mixed-utility API host offering five independent paid endpoints covering Hacker News story feeds, Pokémon species data, cross-chain gas price oracles, x402 proxy usage statistics, and uncensored AI image generation. Each skill serves a distinct domain with no shared data model between them. All endpoints are monetized via the x402 payment protocol.
host: x402.onchainexpat.com
---

# x402.onchainexpat.com

This host is operated by an individual developer (onchainexpat) and bundles several unrelated utility APIs under a single x402-enabled payment gateway. It serves agents that need quick access to HN content aggregation, blockchain gas estimation, Pokémon reference data, proxy health monitoring, or uncensored image generation without building or hosting their own endpoints. The host is notable for its breadth of unrelated capabilities rather than depth in any single domain.

## When to use this host

Use this host when an agent needs a quick, pay-per-call solution for any of its five specific capabilities: HN top stories, single-Pokémon data, per-chain gas estimates, x402 proxy stats, or uncensored image generation. Do not use it for keyword search or historical queries on HN (no search endpoint exists), bulk or list-based Pokémon queries (single-name only), historical gas price analysis or non-EVM chains, per-request proxy logs or latency traces (aggregate counters only), or content-safe image generation where free alternatives (DALL-E, Stability AI free tier) are sufficient. Because the skills are unrelated, agents should route to this host only when one of its specific endpoints is the explicit requirement — not as a general-purpose utility fallback.

## Capabilities

### Blockchain Gas Estimation

Provides real-time gas price tiers and EIP-1559 fee data for a specified chain, enabling agents to make informed decisions before constructing or submitting transactions.

- **`fetch-cross-chain-gas-oracle`** — Returns real-time gas price tiers (low/medium/high/instant), EIP-1559 base and priority fees, network congestion status, and a transaction timing recommendation for a specified blockchain.

### Content & Data Feeds

Fetches structured external data feeds — top Hacker News stories with metadata and detailed Pokémon species records — for aggregation, display, or comparison tasks.

- **`fetch-hackernews-top-stories`** — Fetches the current top Hacker News stories with titles, URLs, scores, authors, timestamps, comment counts, and HN links as a structured JSON feed.
- **`fetch-pokemon-info`** — Returns detailed Pokémon data including species ID, types, base stats, abilities, height, weight, and sprite/cry URLs for a named Pokémon, via a paid x402 endpoint.

### AI Image Generation

Generates images from text prompts using uncensored AI models, returning a temporary URL to the result for a flat per-request USDC fee.

- **`generate-uncensored-image`** — Generates an uncensored image from a text prompt using selectable AI models (chroma, lustify-v7, lustify-sdxl, venice-sd35), returning a temporary URL to the result; costs $0.03 per request paid in USDC on Base.

### Proxy Operational Monitoring

Exposes aggregate usage counters and health metrics for the x402 proxy itself, useful for uptime and error-rate monitoring.

- **`fetch-x402-proxy-stats`** — Returns cumulative usage statistics for the x402 proxy, including request counts, byte totals, error count, error rate, and uptime tracking timestamp.

## Workflows

### Gas-Aware Transaction Preparation

*Use when an agent needs to estimate current network conditions before submitting a transaction and also wants to verify the x402 proxy is healthy enough to process the payment.*

1. **`fetch-x402-proxy-stats`** — Check proxy error rate and uptime to confirm the payment infrastructure is operational before committing to a paid request.
2. **`fetch-cross-chain-gas-oracle`** — Retrieve current gas price tiers and EIP-1559 fee estimates for the target chain to inform transaction cost calculations.

## Skill reference

### `fetch-hackernews-top-stories`

**Hacker News Top Stories** — Fetches the current top Hacker News stories with titles, URLs, scores, authors, timestamps, comment counts, and HN links as a structured JSON feed.

*Use when:* Use when an agent needs a real-time snapshot of the top-ranked Hacker News stories, including metadata such as score, author, and comment count, for summarization, monitoring, or content aggregation tasks.

*Not for:* Do not use for fetching a specific HN story by ID, searching HN by keyword, or retrieving new/ask/show story feeds — those require different endpoints.

**Inputs:**

- `limit` (integer) — Number of top stories to return. Defaults to 10, maximum is 30.

**Returns:** Returns a JSON object with type='top', a count integer, a cached boolean, and a stories array where each item includes id, title, url, score, by, time, comments_count, and hn_url.

**Example:** `{"limit": 10}`

---

### `fetch-pokemon-info`

**PokeInfo X402** — Returns detailed Pokémon data including species ID, types, base stats, abilities, height, weight, and sprite/cry URLs for a named Pokémon, via a paid x402 endpoint.

*Use when:* Use when an agent needs structured Pokémon data (stats, types, abilities, sprites, cry audio) for a specific Pokémon by name, such as to answer Pokédex queries, compare species, or display Pokémon profiles.

*Not for:* Do not use for listing or searching across multiple Pokémon at once; this endpoint returns data for a single named Pokémon per request.

**Inputs:**

- `pokemon` (string) — Pokémon name to look up (default 'pikachu'). Alias: 'name'. Case-insensitive species name.

**Returns:** Returns a JSON object with Pokémon id, name, height_dm, weight_hg, types array, abilities array, stats object (hp/attack/defense/special-attack/special-defense/speed), base_experience, three sprite URLs, a cry audio URL, and a cached flag.

**Example:** `{"pokemon": "charizard"}`

---

### `fetch-cross-chain-gas-oracle`

**Cross-Chain Gas Oracle** — Returns real-time gas price tiers (low/medium/high/instant), EIP-1559 base and priority fees, network congestion status, and a transaction timing recommendation for a specified blockchain.

*Use when:* Use when an agent needs current gas price estimates and fee recommendations for a specific chain (e.g., Base, Ethereum, Solana) before constructing or submitting a transaction, or when estimating transaction costs in ETH and USD.

*Not for:* Do not use for historical gas price analysis or gas price streaming; this is a single-shot current estimate only. Not suitable for non-EVM chains that lack gwei-based fee models.

**Inputs:**

- `chain` (string) — Blockchain identifier to query gas prices for (default: ethereum). Supported values include 'base', 'ethereum', and other supported chains.

**Returns:** Returns success=true with gas price tiers (low/medium/high/instant in gwei, wei, and USD), EIP-1559 base and priority fees, network congestion level ('low'), a 'transact_now' recommendation, live ETH price, and a timestamp.

**Example:** `{"chain": "base"}`

---

### `fetch-x402-proxy-stats`

**x402 Proxy Stats** — Returns cumulative usage statistics for the x402 proxy, including request counts, byte totals, error count, error rate, and uptime tracking timestamp.

*Use when:* Use when an agent needs to inspect the operational health or usage volume of the x402 proxy, such as monitoring total requests, error rates, bandwidth consumed, or how long the proxy has been tracking metrics.

*Not for:* Do not use for per-request logs or detailed latency breakdowns; this endpoint returns aggregate counters only, not individual request traces.

**Returns:** Returns aggregate proxy stats: total_requests, total_errors, total_bytes_sent, total_bytes_received, total_bandwidth_mb, error_rate_pct, tracking_since timestamp, and rate_limit_remaining.

**Example:** `{"url":"https://x402.onchainexpat.com/api/x402-proxy/stats","method":"POST","headers":{"Content-Type":"application/json"},"body":{}}`

---

### `generate-uncensored-image`

**x402 Uncensored Image Generator** — Generates an uncensored image from a text prompt using selectable AI models (chroma, lustify-v7, lustify-sdxl, venice-sd35), returning a temporary URL to the result; costs $0.03 per request paid in USDC on Base.

*Use when:* Use when an agent needs to generate an image without content-policy restrictions, given a detailed text prompt and optional model/dimension preferences, and is prepared to pay $0.03 via x402 USDC on Base (eip155:8453).

*Not for:* Do not use for standard content-safe image generation where a free or cheaper censored API suffices. Not suitable for real-time or streaming image generation — this is a single-shot paid request returning a URL that expires in 15 minutes.

**Inputs:**

- `prompt` (string, required) — Text description of the image to generate. More detail yields better results.
- `model` (string) — Model ID to use for generation. Default: chroma. Available: chroma, lustify-v7, lustify-sdxl, venice-sd35.
- `width` (integer) — Image width in pixels. Default: 1024. Must pair with height to form a valid size: 256x256, 512x512, 1024x1024, 1536x1024, or 1024x1536.
- `height` (integer) — Image height in pixels. Default: 1024. Must pair with width to form a valid size: 256x256, 512x512, 1024x1024, 1536x1024, or 1024x1536.

**Returns:** Returns success=true and a data object containing a temporary image_url (expires in 15 min), filename, model, provider, echoed prompt, width, height, and generation timestamp.

**Example:** `{"prompt": "A highly detailed photoreal macro photograph of a Camponotus flavomarginatus ant, sharp textures on head and abdomen, realistic specular highlights, shallow depth-of-field background blur, no watermark.", "model": "chroma", "width": 1024, "height": 1024}`

---
