Chainstack Faucet API

Public Chainstack-operated testnet faucet for Hoodi, Sepolia, BNB Testnet, zkSync Testnet, Scroll Sepolia, and Polygon Amoy. JWT-authenticated POST /v1/faucet/{chain} request endpoint plus a transaction-history endpoint. Also available as a Telegram Mini App and via the Chainstack MCP server.

OpenAPI Specification

chainstack-faucet-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Chainstack Arbitrum Node Account Info faucet API
  version: 1.0.0
  description: Chainstack-managed RPC node API for the Arbitrum blockchain. Endpoints follow the canonical JSON-RPC over HTTPS interface for the network. Authenticate against your Chainstack node's per-node URL (e.g. https://nd-XXX-XXX-XXX.p2pify.com/<key>). Merged from the Chainstack Developer Portal per-method fragments at https://github.com/chainstack/dev-portal/tree/main/openapi/arbitrum_node_api.
  contact:
    name: Chainstack API Support
    email: support@chainstack.com
  license:
    name: Chainstack Terms
    url: https://chainstack.com/terms-of-service/
servers:
- url: https://{node_id}.p2pify.com/{api_key}
  description: Chainstack-managed node endpoint
  variables:
    node_id:
      default: nd-000-000-000
      description: Your Chainstack node identifier
    api_key:
      default: <api-key>
      description: Per-node access key
tags:
- name: faucet
paths:
  /{chain}:
    post:
      tags:
      - faucet
      summary: Request funds
      operationId: requestFunds
      parameters:
      - name: chain
        in: path
        description: Chainstack Faucet API.
        required: true
        schema:
          type: string
          enum:
          - hoodi
          - sepolia
          - bnb-testnet
          - zksync-testnet
          - scroll-sepolia-testnet
          - amoy
          default: null
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                address:
                  type: string
                  description: The recipient address.
                  example: '0x06f0aB63eD883C61b9e4447fCbD9603dfC189662'
      security:
      - BearerAuth: []
      responses:
        '200':
          description: Funds successfully sent.
        '400':
          description: Address is not valid.
        '401':
          description: Unauthorized access, invalid API key.
        '429':
          description: Too many requests or balance exceeded.
  /v1/faucet/sepolia:
    post:
      operationId: sepoliaGoerli
      summary: Sepolia Faucet
      description: Request test tokens.
      tags:
      - faucet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FaucetSepoliaRequest'
            examples:
              value:
                value:
                  address: '0x1111111111111111111111111111111111111111'
        required: true
      security:
      - APIKeyAuthentication: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FaucetSepoliaResponse'
              examples:
                value:
                  value:
                    amountSent: 500000000000000000
                    transaction: https://sepolia.etherscan.io/tx/0x1111111111111111111111111111111111111111111111111111111111111111
        '400':
          $ref: '#/components/responses/ValidationError'
        '429':
          $ref: '#/components/responses/TooManyRequestsError'
components:
  responses:
    ValidationError:
      description: Validation error.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: object
                properties:
                  code:
                    type: string
                    description: A string indicating the kind of error.
                  message:
                    type: string
                    description: A human-readable description of the error.
                  fields:
                    type: object
                    additionalProperties:
                      type: array
                      items:
                        type: string
                    description: Optional. Field-level validation errors.
    TooManyRequestsError:
      description: Validation error.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: object
                properties:
                  code:
                    type: string
                    description: A string indicating the kind of error.
                  message:
                    type: string
                    description: A human-readable description of the error.
              nextFaucetAvailable:
                type: string
                description: The date when tokens can be requested next time.
  schemas:
    FaucetSepoliaRequest:
      type: object
      properties:
        address:
          type: string
          description: Address to send tokens to.
    FaucetSepoliaResponse:
      type: object
      properties:
        amountSent:
          type: number
          description: Amount of tokens sent.
        transaction:
          type: string
          description: Transaction details URL.