---
name: hello-world-x402.vercel.app
description: hello-world-x402.vercel.app is a demonstration host that exposes three paywalled endpoints, each requiring an exact 1000-unit USDC payment on Base (eip155:8453) via the x402 protocol. All three endpoints return static or echoed content and are designed exclusively for testing and validating x402 payment flows, not for production data retrieval or computation.
host: hello-world-x402.vercel.app
---

# hello-world-x402.vercel.app

This host serves developers and agents who need to validate x402 micropayment integration on Base mainnet using USDC. It provides three minimal endpoints: a plain-text hello-world response, a static JSON greeting with timestamp, and a payload echo that returns submitted JSON verbatim with a server timestamp. None of the endpoints perform computation or serve dynamic data; their sole purpose is payment-flow verification and round-trip testing.

## When to use this host

Use this host exclusively for testing and demonstrating x402 micropayment flows on Base mainnet with USDC. It is the right choice when an agent or developer needs to confirm that payment authorization, settlement, and endpoint response work end-to-end in a low-stakes environment. Do not use this host for any production use case, data lookup, personalization, computation, or non-Base chain testing — all responses are static or echoed. For actual data APIs gated by x402, route to hosts that expose domain-specific skills (e.g., price feeds, analytics, or content endpoints). This host also does not support streaming, polling, or non-USDC payment methods.

## Capabilities

### Static Response Payment Testing

Endpoints that return fixed, non-personalized content after a USDC micropayment, useful for confirming that the x402 payment gate on Base accepts payment and returns a successful response.

- **`fetch-hello-world`** — Returns a plain-text 'Hello World' response after a 1000-unit USDC payment on Base (eip155:8453).
- **`fetch-personalized-greeting`** — Returns a JSON greeting message with a timestamp and version string from the hello-world-x402 endpoint after a USDC micropayment on Base.

### Payload Echo and Integrity Verification

Accepts a caller-supplied JSON body and returns it verbatim alongside a server timestamp, enabling agents to verify round-trip payload integrity through a paywalled endpoint.

- **`echo-payload-verbatim`** — Accepts a JSON payload via POST and returns it verbatim after an exact 1000-unit USDC payment on Base (eip155:8453), appending a server timestamp and version field.

## Workflows

### Progressive x402 Integration Smoke Test

*Use when an agent needs to validate the full x402 payment stack on Base in increasing complexity — from a bare response, to a structured JSON response, to a round-trip payload echo — before integrating with a production paywalled API.*

1. **`fetch-hello-world`** — Confirm the simplest possible x402 payment succeeds and returns a non-error response on Base.
2. **`fetch-personalized-greeting`** — Confirm a JSON-structured paywalled response is returned correctly with timestamp and version fields after payment.
3. **`echo-payload-verbatim`** — Submit a known JSON payload and verify it is returned byte-for-byte with a server timestamp, confirming full round-trip payload integrity through the payment gate.

## Skill reference

### `echo-payload-verbatim`

**EchoPay Echo** — Accepts a JSON payload via POST and returns it verbatim after an exact 1000-unit USDC payment on Base (eip155:8453), appending a server timestamp and version field.

*Use when:* Use when an agent needs to verify round-trip payload integrity through a paywalled endpoint, confirm that a submitted JSON body is returned byte-for-byte, or test x402 exact-payment flow on Base mainnet.

*Not for:* Do not use for price quotes, data lookups, or any computation — this endpoint only echoes back what was sent. Not suitable for streaming or repeated polling; each call requires a fresh exact USDC payment.

**Inputs:**

- `message` (string) — Arbitrary string value to be echoed back verbatim in the response under the 'echo' key.
- `metadata` (string) — Arbitrary string metadata to be echoed back verbatim in the response under the 'metadata' key.
- `priority` (string) — Arbitrary string priority field to be echoed back verbatim in the response under the 'priority' key.

**Returns:** Returns the submitted message, metadata, and priority fields verbatim, plus a server-generated receivedAt ISO timestamp and version string 'v2'.

**Example:** `{"message": "hello agent", "metadata": "orderId=123", "priority": "normal"}`

---

### `fetch-personalized-greeting`

**TipGreet Personalized Greeting** — Returns a JSON greeting message with a timestamp and version string from the hello-world-x402 endpoint after a USDC micropayment on Base.

*Use when:* Use when an agent needs to demonstrate or test a paid x402 greeting endpoint on Base (eip155:8453), or when a workflow requires a timestamped greeting response gated by an exact 1000-unit USDC payment.

*Not for:* Do not use for production user-facing personalization — the endpoint currently returns a static 'Guest' greeting regardless of caller identity. Not suitable for non-Base chains or non-USDC payment flows.

**Returns:** Returns a JSON object with a static greeting message ('Hello Guest!'), an ISO 8601 UTC timestamp, and an API version string ('v2').

**Example:** `GET https://hello-world-x402.vercel.app/greet`

---

### `fetch-hello-world`

**HelloPay USDC Hello World** — Returns a plain-text 'Hello World' response after a 1000-unit USDC payment on Base (eip155:8453).

*Use when:* Use when an agent needs to verify that a paywalled x402 endpoint on Base accepts USDC micropayments and returns a successful response, or to test x402 payment flow integration.

*Not for:* Do not use for any data retrieval, computation, or production use case; this endpoint returns only a static greeting and is suitable only for payment flow testing or demonstration.

**Returns:** Returns the plain-text string 'Hello World' after a successful exact 1000-unit USDC payment on Base.

**Example:** `GET https://hello-world-x402.vercel.app/hello`

---
