Scoped keys: give the faucet the smallest one that works
v2 keys carry scopes. A faucet needs send and read; anything with admin scope on a web server is a wallet waiting to be emptied.
19 entries
v2 keys carry scopes. A faucet needs send and read; anything with admin scope on a web server is a wallet waiting to be emptied.
The token is single use and they retry at fixed intervals, so check your own order first and answer 200 before verifying again.
payout.sent and payout.failed arrive signed. Check the HMAC, dedupe on the event id, and let the webhook correct a payout your send call never heard about.
v2 send takes integer smallest units and FaucetPay uses eight decimals for every coin. Doing that conversion in floating point is how a payout comes out wrong.
Generate the key and save it on the claim row before you call send, then reuse it on every retry. Generating it at call time is the same as having none.
Bearer auth, JSON POST, and an envelope that is documented one way and returned another on the endpoint you care about most.
Store the reward in USD, convert at claim time, and clamp the movement so a price spike cannot empty the faucet in an afternoon.
Earn in integer credits, convert to coin only at withdrawal, and keep the rate in settings. Repricing the whole site becomes one field.
Production runs only while fuel lasts, and fuel comes from doing the thing you actually want done. Turns idle earning into a loop.
Earn while away, but only up to a ceiling — computed on read from a timestamp, so there is no cron and no per-user tick.
Auto-pay when the API answers, hold when it does not, and never refund on a timeout. The three-state queue that keeps a faucet solvent.
An auto-submitting form POST with your own reference in the custom field — the field that makes the deposit traceable when it comes back.
One call that stops the worst failure mode on a faucet: telling a user they were paid when the wallet was already empty.
Pick a prize by weight, and compute the expected cost per claim before you launch instead of discovering it from your wallet balance.
Faucet software already knows how to talk to shortlink providers. Match the contract they expect and operators can point their existing config at you without writing anything.
Reward the claim and start the next cooldown in one transaction, so a double-submitted form pays once instead of twice.
If your ledger is in dollars and your payout API is in satoshi, this is the conversion, with the guard that stops a stale price from emptying your wallet.
Verifying a merchant callback server-side, including the endpoint shape that quietly 404s. Still current; see the v2 entry for the retry schedule and order-first ordering.
The v1 form-POST payout, kept for installs that still run it. New builds should use the v2 scoped-key API, which adds idempotency keys.