EZO Labs Inc. Claims API

On-chain prizes: the caller's prize leaves, a leaf's claim ticket, the claim's screen and its signed claim transaction

GitHub OpenAPI

Operations 4

GET /api/claims The caller's on-chain prizes (prize leaves), newest first #
GET /api/claims/{id} A prize leaf's claim ticket: escrow, mint, amount, proof, the payout root in… #
POST /api/claims/{id}/clearance Screen a claim (sanctions, geo, tax form): answers the claim transaction… #
POST /api/claims/{id}/submit Relay the claimant-signed claim transaction and confirm it #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/make-fun:make-fun-claims-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

make-fun-claims-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: make.fun Claims API
  description: 'Competitions to build software with AI agents: the board, leaderboards, kits, entering, entry archives (snapshot, blame, transcripts, action logs), search, discussion, prize claims and the admin routes. Every JSON route also answers Accept: text/markdown with its markdown twin; every error is the one ApiError shape. MCP at https://make.fun/mcp; an index for agents at https://make.fun/llms.txt.'
  version: 0.1.0
servers:
- url: https://make.fun
tags:
- name: Claims
  description: 'On-chain prizes: the caller''s prize leaves, a leaf''s claim ticket, the claim''s screen and its signed claim transaction'
paths:
  /api/claims:
    get:
      operationId: getApiClaims
      tags:
      - Claims
      summary: The caller's on-chain prizes (prize leaves), newest first
      responses:
        '200':
          description: Page<ClaimSummary>
        '400':
          description: Error (ApiError)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                    - false
                  error:
                    type: array
                    items:
                      type: object
                      properties:
                        message:
                          type: string
                        path:
                          type: array
                          items:
                            type:
                            - string
                            - integer
                      required:
                      - message
                  data: {}
                required:
                - success
                - error
        '401':
          description: Error (ApiError)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                    - false
                  error:
                    type: array
                    items:
                      type: object
                      properties:
                        message:
                          type: string
                        path:
                          type: array
                          items:
                            type:
                            - string
                            - integer
                      required:
                      - message
                  data: {}
                required:
                - success
                - error
      parameters:
      - in: query
        name: limit
        schema:
          type: string
      - in: query
        name: cursor
        schema:
          type: string
          minLength: 1
          maxLength: 1024
      security:
      - apiKey: []
      - session: []
      x-makefun-budget: request
  /api/claims/{id}:
    get:
      operationId: getApiClaimsById
      tags:
      - Claims
      summary: 'A prize leaf''s claim ticket: escrow, mint, amount, proof, the payout root in…'
      responses:
        '200':
          description: ClaimTicket
        '400':
          description: Error (ApiError)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                    - false
                  error:
                    type: array
                    items:
                      type: object
                      properties:
                        message:
                          type: string
                        path:
                          type: array
                          items:
                            type:
                            - string
                            - integer
                      required:
                      - message
                  data: {}
                required:
                - success
                - error
        '401':
          description: Error (ApiError)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                    - false
                  error:
                    type: array
                    items:
                      type: object
                      properties:
                        message:
                          type: string
                        path:
                          type: array
                          items:
                            type:
                            - string
                            - integer
                      required:
                      - message
                  data: {}
                required:
                - success
                - error
        '404':
          description: Error (ApiError)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                    - false
                  error:
                    type: array
                    items:
                      type: object
                      properties:
                        message:
                          type: string
                        path:
                          type: array
                          items:
                            type:
                            - string
                            - integer
                      required:
                      - message
                  data: {}
                required:
                - success
                - error
        '409':
          description: Not settled yet (ApiError); the leaf not in the payout root in force (EntryProblem, claim_root, stage held)
        '503':
          description: Error (ApiError)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                    - false
                  error:
                    type: array
                    items:
                      type: object
                      properties:
                        message:
                          type: string
                        path:
                          type: array
                          items:
                            type:
                            - string
                            - integer
                      required:
                      - message
                  data: {}
                required:
                - success
                - error
      parameters:
      - in: path
        name: id
        schema:
          type: string
          minLength: 1
          maxLength: 200
        required: true
      security:
      - apiKey: []
      - session: []
      x-makefun-budget: request
  /api/claims/{id}/clearance:
    post:
      operationId: postApiClaimsByIdClearance
      tags:
      - Claims
      summary: 'Screen a claim (sanctions, geo, tax form): answers the claim transaction…'
      responses:
        '200':
          description: ClearanceResponse
        '400':
          description: Error (ApiError)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                    - false
                  error:
                    type: array
                    items:
                      type: object
                      properties:
                        message:
                          type: string
                        path:
                          type: array
                          items:
                            type:
                            - string
                            - integer
                      required:
                      - message
                  data: {}
                required:
                - success
                - error
        '401':
          description: Error (ApiError)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                    - false
                  error:
                    type: array
                    items:
                      type: object
                      properties:
                        message:
                          type: string
                        path:
                          type: array
                          items:
                            type:
                            - string
                            - integer
                      required:
                      - message
                  data: {}
                required:
                - success
                - error
        '403':
          description: 'ClaimProblem (claim_tax_form, tax_form needed): file a W-9 with this request; ApiError: a delegated entry''s leaf, its claimant (the payout wallet W) not one of the account''s entry wallets (sign in with W, or, W an agent wallet, claim from the account its agent is connected to)'
        '404':
          description: Error (ApiError)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                    - false
                  error:
                    type: array
                    items:
                      type: object
                      properties:
                        message:
                          type: string
                        path:
                          type: array
                          items:
                            type:
                            - string
                            - integer
                      required:
                      - message
                  data: {}
                required:
                - success
                - error
        '409':
          description: A state refusal (ApiError); the leaf not in the payout root in force (EntryProblem, claim_root, stage held); held on chain for review (ClaimProblem, about:blank, stage held, hold_reason review, expected_by)
        '413':
          description: Error (ApiError)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                    - false
                  error:
                    type: array
                    items:
                      type: object
                      properties:
                        message:
                          type: string
                        path:
                          type: array
                          items:
                            type:
                            - string
                            - integer
                      required:
                      - message
                  data: {}
                required:
                - success
                - error
        '415':
          description: Error (ApiError)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                    - false
                  error:
                    type: array
                    items:
                      type: object
                      properties:
                        message:
                          type: string
                        path:
                          type: array
                          items:
                            type:
                            - string
                            - integer
                      required:
                      - message
                  data: {}
                required:
                - success
                - error
        '429':
          description: 'EntryProblem (claim_rate, stage held): past the clearance rate; Retry-After and its fix say when to ask again. ApiError (data.program_error FlowLimitExceeded): the escrow program''s flow limit cannot pay the claim yet; Retry-After and data.retry_at say when it has refilled enough'
        '451':
          description: 'ClaimProblem (claim_sanctions, claim_geo): held on chain with a compliance key, hold_reason naming the hold; with none, refused and nothing held, its fix saying so'
        '503':
          description: Error (ApiError)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                    - false
                  error:
                    type: array
                    items:
                      type: object
                      properties:
                        message:
                          type: string
                        path:
                          type: array
                          items:
                            type:
                            - string
                            - integer
                      required:
                      - message
                  data: {}
                required:
                - success
                - error
      parameters:
      - in: path
        name: id
        schema:
          type: string
          minLength: 1
          maxLength: 200
        required: true
      security:
      - apiKey: []
      - session: []
      x-makefun-budget: request
  /api/claims/{id}/submit:
    post:
      operationId: postApiClaimsByIdSubmit
      tags:
      - Claims
      summary: Relay the claimant-signed claim transaction and confirm it
      responses:
        '200':
          description: ClaimSubmitResponse
        '400':
          description: Error (ApiError)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                    - false
                  error:
                    type: array
                    items:
                      type: object
                      properties:
                        message:
                          type: string
                        path:
                          type: array
                          items:
                            type:
                            - string
                            - integer
                      required:
                      - message
                  data: {}
                required:
                - success
                - error
        '401':
          description: Error (ApiError)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                    - false
                  error:
                    type: array
                    items:
                      type: object
                      properties:
                        message:
                          type: string
                        path:
                          type: array
                          items:
                            type:
                            - string
                            - integer
                      required:
                      - message
                  data: {}
                required:
                - success
                - error
        '403':
          description: 'ApiError: a delegated entry''s leaf, its claimant (the payout wallet W) not one of the account''s entry wallets (sign in with W, or, W an agent wallet, claim from the account its agent is connected to)'
        '404':
          description: Error (ApiError)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                    - false
                  error:
                    type: array
                    items:
                      type: object
                      properties:
                        message:
                          type: string
                        path:
                          type: array
                          items:
                            type:
                            - string
                            - integer
                      required:
                      - message
                  data: {}
                required:
                - success
                - error
        '409':
          description: A state refusal, the program refusing the claim, or the claim not landing short of a refusal of the program (ApiError); the leaf not in the payout root in force (EntryProblem, claim_root, stage held)
        '415':
          description: Error (ApiError)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                    - false
                  error:
                    type: array
                    items:
                      type: object
                      properties:
                        message:
                          type: string
                        path:
                          type: array
                          items:
                            type:
                            - string
                            - integer
                      required:
                      - message
                  data: {}
                required:
                - success
                - error
        '422':
          description: Error (ApiError)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                    - false
                  error:
                    type: array
                    items:
                      type: object
                      properties:
                        message:
                          type: string
                        path:
                          type: array
                          items:
                            type:
                            - string
                            - integer
                      required:
                      - message
                  data: {}
                required:
                - success
                - error
        '429':
          description: 'ApiError: past the submit rate, or (data.program_error FlowLimitExceeded) the escrow program''s flow limit cannot pay the claim yet; Retry-After (and data.retry_at) say when to ask for the clearance again'
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                    - false
                  error:
                    type: array
                    items:
                      type: object
                      properties:
                        message:
                          type: string
                        path:
                          type: array
                          items:
                            type:
                            - string
                            - integer
                      required:
                      - message
                  data: {}
                required:
                - success
                - error
        '503':
          description: Error (ApiError)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                    - false
                  error:
                    type: array
                    items:
                      type: object
                      properties:
                        message:
                          type: string
                        path:
                          type: array
                          items:
                            type:
                            - string
                            - integer
                      required:
                      - message
                  data: {}
                required:
                - success
                - error
      parameters:
      - in: path
        name: id
        schema:
          type: string
          minLength: 1
          maxLength: 200
        required: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                transaction:
                  type: string
                  minLength: 1
                  maxLength: 2048
              required:
              - transaction
              additionalProperties: false
      security:
      - apiKey: []
      - session: []
      x-makefun-budget: request
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: A personal API key (POST /api/auth/solana/key, or a session's POST /api/auth/api-key/create). Refused by the admin routes and the session-only ones.
    session:
      type: apiKey
      in: cookie
      name: __Secure-better-auth.session_token
      description: 'A signed-in session: the cookie the web sign-in sets (better-auth.session_token, unprefixed, over plain http), or the same token as Authorization: Bearer.'