---
title: "Request testnet USDC"
method: POST
path: "/faucet/v1"
tags: ["Faucet"]
---

# Request testnet USDC

`POST /faucet/v1`

## Request

- Base URL: `https://api.run402.com`
- URL: `https://api.run402.com/faucet/v1`
- Auth: none declared

Sends testnet USDC to the specified wallet address on Base Sepolia. Rate limited to 1 drip per IP and destination wallet per 24 hours. Success waits for on-chain confirmation. An unknown confirmation outcome returns FAUCET_CONFIRMATION_PENDING with the broadcast transaction hash; inspect that transaction or balance instead of requesting another drip.

## Request body

- object
  - `address` string, required: Ethereum wallet address (0x...)

## Response `200`

USDC transfer confirmed

- object
  - `transaction_hash` string
  - `amount_usd_micros` integer
  - `token` string
  - `network` string
  - `funding_status` 'confirmed'

## Other responses

- `429`: RATE_LIMITED. Top-level and details contain limit_scope (ip or wallet), retry_after (seconds), and retry_at (UTC). next_actions carries the same retry timing. Limits are unchanged.
- `502`: FAUCET_TRANSFER_REVERTED: confirmed reverted transaction; funds were not delivered and the existing cooldown remains.
- `503`: Confirmation pending or faucet unavailable. FAUCET_CONFIRMATION_PENDING preserves transaction_hash and directs balance inspection; never automatically repeat an uncertain drip.

---

[API](https://skmtc.dev/run402/apis/run402-api.md) · [All operations](https://skmtc.dev/run402/apis/run402-api/llms.txt) · [OpenAPI document](https://skmtc.dev/run402/apis/run402-api/revisions/893607557f50?raw)
