SendCheck Pro — 0.50 USDC, once.
No daily cap. No account. No subscription. A one-time payment straight on Base that the page verifies itself — your unlock is a transaction hash, re-checkable by anyone on the explorer. The free tier (3 checks a day) stays free forever.
Pro is active on this browser ✓
Unlock in two steps
1. Send 0.50 USDC on Base — a plain USDC transfer. If your wallet needs gas, a few cents of ETH on Base covers it (Base fees are tiny).
…
USDC · Base · ≥ 0.50 (extra = tip)
Works with MetaMask, Brave, Coinbase Wallet and any other browser wallet: you sign one 0.50 USDC transfer on Base, and this page verifies it itself — no copying, no pasting.
Prefer a hosted checkout page?
Open the hosted payment page →
On that page pick USDC on Base, type 0.50 as the amount and send
0.50 USDC: the Base minimum is just under 0.47, so the hosted route on Base costs
exactly what Pro is — no premium. (The processor's minimum is higher on other networks, so Base is
the one to use here.) No account or email needed — your wallet does the paying.
The trade-off, honestly: the hosted route goes through a third-party processor (NOWPayments) instead of straight to the address above, so a hosted payment can't self-verify here with a hash. Keep the confirmation that page shows you (it includes a payment ID) — if it doesn't reach us, write to pennyforge@emalupe.com with the ID and we'll unlock you. Paying the address directly (the two steps above) verifies itself and skips the middleman entirely.
Affiliate note: if you sign up for NOWPayments for your own payments through our referral link ↗, we earn a small share of their fees on your account — it costs you nothing and your rate stays the same.
Can't find Base in your wallet? Add it in ~30 seconds
Network Base · Chain ID 8453 · RPC https://mainnet.base.org · Explorer https://basescan.org.
In MetaMask: Settings → Networks → Add new network, then paste the JSON below (or type the four fields).
Coinbase Wallet, Rainbow, Trust Wallet and most others already have Base built in — just switch networks.
{
"chainName": "Base",
"chainId": "8453",
"rpcUrls": ["https://mainnet.base.org"],
"nativeCurrency": { "name": "Ether", "symbol": "ETH", "decimals": 18 },
"blockExplorerUrls": ["https://basescan.org"]
}
2. Paste the transaction hash of that transfer and the page proves it on-chain — no email, no login, nothing to wait for.
We look up the receipt on public Base nodes and confirm a USDC transfer of at least 0.50 to the address above. Any amount beyond 0.50 is a tip — thank you.
You're in. Unlimited checks on this browser. ✓
Your receipt is the transaction hash you just verified — keep it, it works on any device. Start checking →
How this works
🔗 The hash is the receipt
There's no email confirmation and no "account" in our database. The on-chain transaction is your proof of payment — open the hash on the Base explorer and you'll see the transfer right there, verifiable by anyone.
🔍 Verified in your browser
When you paste the hash, this page fetches the transaction receipt from public Base nodes and checks that a USDC transfer of at least 0.50 landed in the address above. No third party in between, nothing to trust but the chain.
🔓 One-time, not a subscription
Pay once, unlimited checks on this browser. The unlock lives in your browser's local storage — clear it any time and re-verify with your hash to get it back. No email, no login, no "cancel before trial ends".
Payment FAQ
Which wallets can I pay from?
Any wallet that can send USDC on Base — MetaMask, Coinbase Wallet, Rainbow, Ledger, or a withdrawal from an exchange that supports Base. What matters is the token (USDC) and the network (Base), not the wallet. If your browser has a wallet extension (MetaMask, Brave, Coinbase Wallet, ...), you can skip the copy-paste entirely: "pay from your wallet" signs the 0.50 USDC transfer in one click and this page verifies it.
I pay from an exchange — what do I watch out for?
Two things: the network must be Base (not Ethereum mainnet, not "ERC-20"), and the token must be USDC. Exchanges let you pick either at withdrawal — get both wrong and the funds need a manual bridge back. (That's, honestly, what SendCheck is for.)
What if I sent ETH by mistake?
Verification will say "no USDC transfer in that transaction" — nothing is lost, the ETH is still in the address above. Send the USDC, then verify with the hash of that transfer. If the mix-up bothers you, write us and we'll sort it out.
Do I pay gas?
The sender does — you're initiating the USDC transfer, so your wallet pays a small Base fee (fractions of a cent at current gas). We pay nothing extra; there's no middleman.
How is the hosted checkout different from paying the address directly?
Same payment, two routes. Direct (the two steps above): USDC goes straight to the address on this page, and the transaction hash verifies itself in your browser — no one in between. Hosted (NOWPayments): a third-party payment page where you pick USDC and send 0.76 USDC — the processor's minimum is just under 0.76, which is why the hosted route costs a touch more than 0.50. It's convenient and needs no account, but the processor sits in the loop and the payment can't self-verify with a hash (keep its confirmation — it has a payment ID).
Is this a subscription? Hidden fees?
No subscription, no auto-renew, no hidden fees. 0.50 USDC one time, and that's the whole bill. Sending 0.60 is fine — the extra 0.10 is a tip.
What if I use a different browser or device later?
The unlock is stored per browser. On any other browser or device, paste your transaction hash here and hit verify — the chain remembers, so your receipt works forever.
Refunds?
It's a small one-time payment from an independent studio, so the default is no refunds. When we do refund (rare), it goes back on-chain to the exact address that paid — write us at the email in the footer.
Is Pennyforge a company? An exchange? A wallet?
A small one-person studio. Not affiliated with any wallet, exchange or chain — the data on this site comes from public RPC endpoints, and the payment lands in a plain wallet you can see right here.
For agents: the same check, as a paid API — no API key
The engine behind this page also runs as a plain HTTP API for
software: agents, scripts, integrations, wallets — anything that can POST JSON. It uses the
x402 payment protocol: your
client asks, the endpoint answers 402 Payment Required with a payment request,
your client pays in USDC on Base and retries — and gets the verdict. No account, no
API key, no subscription, no invoice: the payment itself is the authentication.
What you see is what you pay — the price is the entire cost per call, no gas on top (USDC's EIP-3009 flow lets the receiving side settle, so a $0.01 check costs you $0.01).
And the payment details ride a signed service card: the endpoint signs its service URL, its settlement address and the per-route price ceiling with a stable key, so any client that has pinned that key once can cryptographically confirm — before paying — that the address in the payment request is one we signed. First contact is still trust-on-first-use; we say so.
POST /check— one address on one chain: EIP-55 checksum, wallet-vs-contract, outgoing activity, native/USDC/USDT balances, leveled verdict with reasons and next action. $0.01POST /deep— the same scan across all five chains (Base, Ethereum, Arbitrum, Optimism, Polygon), including wrong-network detection. $0.05GET /validate?address=0x…— free checksum pre-check, so you never pay for a malformed address.
One minute of code
// npm i @x402/fetch @x402/evm viem
import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { ExactEvmScheme, toClientEvmSigner } from "@x402/evm";
import { privateKeyToAccount } from "viem/accounts";
const signer = toClientEvmSigner(privateKeyToAccount("<your-key>"));
const client = x402Client().register("eip155:8453", new ExactEvmScheme(signer));
const fetchPay = wrapFetchWithPayment(fetch, client); // 402 → pay → retry
const res = await fetchPay(
"https://api.pennyforge.org/check",
{ method: "POST", headers: { "content-type": "application/json" },
body: JSON.stringify({ address: "0x…", chain: "base" }) });
console.log(await res.json()); // { verdict: "ok|caution|warn|danger", reasons: [...] }
The endpoint advertises its own price, schema and example bodies
in its x402
discovery document — standard x402 clients read it automatically. Base URL:
https://api.pennyforge.org —
open the service card.
Listed in the public x402 directories: x402 List (compliance grade A, uptime tracked) and x402scan.