One key. Two ways to fund it.
Card or USDC.
Buy credits with a card via Stripe and we'll show your bearer key instantly. Or skip the card and pay per call in USDC — Base, Arbitrum, Optimism, or Polygon. Same endpoint, same price ($0.01/query).
- Pay with any card — $5 minimum, $500 maximum per top-up
- Bearer key is shown once on the success page — copy it then
- Use the same key across MCP, curl, anything
- Check balance any time at
/v1/billing/balance - Top up the same email later → balance accumulates on one key
- Send USDC to the published wallet address (any of 4 chains)
- Sign an EIP-191 challenge, drop three headers, query
- No human in the loop — agents pay themselves
- 1 USDC = 100 queries · no minimums
- Full walk-through in /onboard.html
What happens next
After Stripe checkout we redirect you to a one-time page showing your bearer key. Copy it — we never store the raw key, only its hash. Drop it in your MCP config:
{
"mcpServers": {
"fillin": {
"url": "https://fillin.glyphapi.dev/mcp",
"env": { "FILLIN_API_KEY": "fk_…" }
}
}
}
Then your agent can call fillin_query(query, cutoff, k) and get post-cutoff documents the model itself can't see. Top up later by running the same form with the same email — balance accumulates on one key.
FAQ
Can I top up an existing key?
Yes — the credit ledger is keyed by hash, and a second Stripe checkout under the same email increments the same balance row. You'll see the same key on the success page if you've topped up before.
Is the key tied to my wallet?
No — bearer keys and x402 wallets are independent identity rails. You can mix and match: card-funded bearer for evaluation, x402 in production, or vice versa. Both hit the same endpoint at the same price.
What if I'm building something sensitive?
We log only the bearer-key prefix (first 8 chars) and the route — not your query text, not your results. If you want a stricter posture, ask about self-hosting — same MCP server, your infra.