Payment verification without the payment processor.
Works like Stripe Payment Intents, but for on-chain USDC.
USDC on Base, Ethereum, Arbitrum & more.
Non-custodial. Flat-rate. Three API calls.
curl -X POST https://api.paywatcher.dev/v1/payments \
-H "x-api-key: pw_live_..." \
-H "Content-Type: application/json" \
-d '{"amount": "49.99", "currency": "USDC", "network": "arbitrum"}'{
"data": {
"id": "pay_2x7k...",
"status": "pending",
"deposit_address": "0x1a2b...3c4d"
}
}The payment verification dilemma
Pay 1% per transaction.
$100 fee on a $10,000 payment. Custodial. Vendor lock-in.
Parse Transfer events, handle reorgs, track confirmations.
Weeks of blockchain infra work. Ongoing maintenance burden.
The missing middle
Non-custodial verification. Flat-rate pricing. Three API calls.
- We never touch your funds
- You keep your wallet
- From $0 to $0.05 per verification
How It Works
Three steps to verify stablecoin payments. No custody, no complexity.
Create Payment Intent
Tell us what you expect
POST /v1/payments
{ "amount": "49.99", "currency": "USDC" }Customer Sends USDC
They pay to the deposit address
Deposit Address:
0x1a2b...9z
Amount: 49.99 USDCWebhook Fires
We notify you when it's confirmed
{
"event": "payment.confirmed",
"payment_id": "pay_2x7k...",
"amount": "49.99"
}Integrate in Minutes
A single API call to create a payment intent. A webhook when it's confirmed.
# Create a payment intent
curl -X POST https://api.paywatcher.dev/v1/payments \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": "49.99",
"currency": "USDC",
"network": "arbitrum"
}' # network is optional — defaults to "base"
# Check payment status
curl https://api.paywatcher.dev/v1/payments/pay_2x7k... \
-H "x-api-key: YOUR_API_KEY"See the full payment flow
USDC goes straight to your wallet. We just confirm it arrived.
Payment Flow Diagram: This diagram shows how a USDC payment is processed through five actors.
- Merchant App — The merchant's application that initiates a payment intent via the PayWatcher API.
- PayWatcher — The monitoring service that watches the Base blockchain for incoming payments and confirms them via webhook.
- Base Network — The Layer 2 blockchain where USDC transfers occur.
- Customer Wallet — The customer's cryptocurrency wallet that sends USDC directly to the merchant.
- Merchant Wallet — The merchant's wallet that receives USDC directly from the customer.
Flow: Step 1 — Merchant App sends POST /v1/payments to PayWatcher. Step 2 — Customer Wallet sends $1,000.03 USDC through Base Network to Merchant Wallet (fund flow). Step 3 — PayWatcher monitors Base Network for the exact payment amount (verification flow). Step 4 — PayWatcher sends a webhook (payment.confirmed) back to Merchant App.
Your funds. Your wallet. We just watch.
Supported Networks
Same API. Same $0.05. Any EVM chain.
Simple, transparent pricing
Flat-fee per verification. No percentage cuts. No surprises.
Enterprise
- basic_dashboard
- webhook_config
- api_access
- priority_support
- dedicated_support
The math is simple
$100 at Coinbase Commerce
vs. $0.05 at PayWatcher
For a $10,000 payment. Same result, 2,000x cheaper.
Coinbase Commerce
- 1% transaction fee
- Custodial — they hold your funds
- Vendor lock-in
PayWatcher
- $0.05 flat fee per verification
- Non-custodial — your keys, your wallet
- No lock-in
You keep your keys. We just verify.
Built on trust, not promises
Transparent infrastructure you can verify yourself.
Non-Custodial
Your keys, your wallet. We never touch your funds.
Base Network
Built on Base — fast, cheap, reliable.
USDC
Stablecoin payments — no volatility risk.
Built by masemIT
Austrian company. Transparent operations.
Get your API Key
Instant access — your API credentials will be sent to your inbox.