# Reachpad Router Credit Top-Up

> Reachpad Router Credit Top-Up is a paid API for AI agents from router.reachpad.dev, paid per call via x402, $1/call, status unknown (last checked 2026-09-13).

Adds credits to a Reachpad account to fund disposable Linux VM usage, paid via USDC (x402) or card.

## Facts

- Endpoint: POST https://router.reachpad.dev/v1/credits/topups
- Price: $1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/reachpad-router-credit-top-up-64267b29
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_geRd2fHQ1-l2bvWaHiqcF

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability reachpad-router-credit-top-up-64267b29 -d '<json body>'
```

Example prompt: Add $25 of credits to my Reachpad account using USDC so I can spin up more Linux VMs for my agent workflows.

## When to prefer this

Use this endpoint when an AI agent or automation needs to pre-fund a Reachpad account before provisioning disposable Linux VMs, sandboxes, or dev servers. Prefer the USDC/x402 method for fully automated, agent-driven top-ups without human checkout flow; use card method when a human-initiated checkout is acceptable. Choose this over generic payment APIs because it is purpose-built for Reachpad's per-second VM billing credit system.

## Known failure modes

- Amount below minimum top-up threshold — request rejected with validation error
- Invalid amount format (not a decimal string matching pattern) — 400 bad request
- x402 payment not yet confirmed on-chain — 402 response prompting retry with payment header
- Card method used without a valid API key — authentication error
- Network or processor timeout during payment confirmation — transient 5xx error
- Duplicate payment submission — may return idempotency or conflict error

## How this service works

Virtual machines for agents: disposable Linux VMs, sandboxes and dev servers — ask for cpu, RAM, disk and region, get the cheapest eligible cloud provider, run commands over SSH or exec, pay per second in credits funded by USDC (x402) or card.

## Output

Returns the updated account balance, a detailed deposit record (amount paid, fee deducted, net credits added, payment method, processor, timestamp), and — if this payment created the account — the new API key. For card payments, returns a checkout URL instead of an x402 payment block.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "amount": {
   "type": "string",
   "pattern": "^\\d+(\\.\\d{1,6})?$",
   "description": "The top-up amount before fees, at least the minimum top-up. Decimal USD as a string, e.g. \"0.15\"."
  },
  "method": {
   "enum": [
    "usdc",
    "card"
   ],
   "type": "string",
   "description": "\"usdc\" answers 402 with the x402 payment block for the amount; retry the same request with the payment. \"card\" needs an API key and returns a checkout URL."
  },
  "issue_key": {
   "type": "boolean",
   "description": "Ask this payment to return the account's API key. Needs a payment on the request, freshly signed (its validity must end within 10 minutes), and spends one of the wallet's ten re-issues per five minutes. Rotates the key of an account that already exists (the old key stops working) and returns the new one; on the payment that creates the account the key comes back anyway. Last rotation wins, so never send two flagged payments in parallel."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "api_key": "rp_key_… (only when this payment created the account)",
  "balance": "23.75",
  "deposit": {
   "fee": "1.25",
   "paid": "25.00",
   "method": "usdc",
   "credited": "23.75",
   "processor": "x402",
   "created_at": "2026-09-02T00:00:00.000Z",
   "machine_id": null,
   "external_ref": "x402:0xabc…:0x…"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/reachpad-router-credit-top-up-64267b29/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from router.reachpad.dev](https://www.zero.xyz/host/router.reachpad.dev/llms.txt)
