> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blink15.com/llms.txt
> Use this file to discover all available pages before exploring further.

# POST /v1/prefund-ctf-approval — sponsor ETH so user can call setApprovalForAll

> 1. Check if CTF is already approved → return early
2. Check if user has enough ETH → return early
3. Send ETH from faucet wallet, wait for receipt
4. Return confirmation so frontend can immediately send the approval TX



## OpenAPI

````yaml /openapi.json post /v1/prefund-ctf-approval
openapi: 3.0.3
info:
  title: Blink Markets API
  description: Trading API for Blink Prediction Markets
  contact:
    name: Blink
    url: https://blink15.com
  license:
    name: Proprietary
    url: https://blink15.com/terms
  version: 1.0.0
servers:
  - url: https://api.blink15.com
    description: Production (Base Sepolia Testnet)
  - url: http://localhost:3001
    description: Local Development
security: []
tags:
  - name: health
    description: Health check endpoints
  - name: markets
    description: Market discovery and information
  - name: market-data
    description: Orderbook, price, and spread data
  - name: trading
    description: Order placement, cancellation, and trade history
  - name: account
    description: Wallet status, balances, and allowances
  - name: auth
    description: API key creation and derivation (L1 EIP-712)
  - name: orders
    description: Order management
  - name: trades
    description: Trade history and fills
  - name: users
    description: User account management
  - name: faucet
    description: Testnet faucet and gasless relay endpoints
  - name: admin
    description: Administrative endpoints (requires API key)
  - name: compat
    description: Polymarket-compatible endpoints
paths:
  /v1/prefund-ctf-approval:
    post:
      tags:
        - faucet
      summary: >-
        POST /v1/prefund-ctf-approval — sponsor ETH so user can call
        setApprovalForAll
      description: |-
        1. Check if CTF is already approved → return early
        2. Check if user has enough ETH → return early
        3. Send ETH from faucet wallet, wait for receipt
        4. Return confirmation so frontend can immediately send the approval TX
      operationId: prefund_ctf_approval
      requestBody:
        content:
          application/json:
            schema:
              $ref: d27ce396-18c5-48fc-bf85-b427233ba1f1
        required: true
      responses:
        '200':
          description: Prefund result (may already be approved or funded)
          content:
            application/json:
              schema:
                $ref: 356859f6-c4bf-42e8-bd23-b07c2e49caa5
        '429':
          description: Rate limited — 1 prefund per address per 24 hours
        '500':
          description: ETH transfer failed

````