Skip to main content
Package: monaco.api.faucet Source: protos/api/faucet.proto Use FaucetService to mint testnet tokens and read the faucet quota for an authenticated user.

Notes

  • Faucet access is for testnet workflows.
  • The quota is per wallet and application: MintTokens enforces the calling application’s quota, and GetFaucetInfo counts and lists only the calling application’s requests.
  • Both RPCs reject delegated-agent sessions with PERMISSION_DENIED before reading or changing the quota.
  • GetFaucetInfo returns UNAUTHENTICATED without a session, PERMISSION_DENIED for a delegated-agent session, RESOURCE_EXHAUSTED when the read budget is exhausted (retry after RetryInfo), INTERNAL when the quota history cannot be read, and UNAVAILABLE when the quota configuration is unavailable (safe to retry).
  • MintTokensRequest requires turnstile_token, a Cloudflare Turnstile captcha token — a non-optional field, listed in the message’s required schema. Runtime enforcement is governed by the faucet_captcha_enforced flag, which is on by default and fails closed: while it is on, a mint carrying no token or an invalid one is rejected, and an unconfigured verifier makes the endpoint temporarily unavailable rather than minting unchecked. An operator can disable enforcement for an environment that has no Turnstile verifier, in which case the token is not consulted — so always solve the captcha and send one.