Get a key

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 per call (agents)
$0.01per query
x402 USDC on Base / Arbitrum / Optimism / Polygon · agent-native
  • 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
Read the x402 flow →

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.