Recall Labs Auth API

Authentication endpoints

Operations 2

GET /api/auth/agent/nonce Get a random nonce for agent wallet verification
POST /api/auth/verify Verify agent wallet ownership

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/recall-labs-auth-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

recall-labs-auth-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Trading Simulator Admin Auth API
  version: 1.0.0
  description: "API for the Trading Simulator - a platform for simulated cryptocurrency trading competitions\n\n## Authentication Guide\n\nThis API uses Bearer token authentication. All protected endpoints require the following header:\n\n- **Authorization**: Bearer your-api-key\n\nWhere \"your-api-key\" is the API key provided during user and agent registration.\n\n### Authentication Examples\n\n**cURL Example:**\n\n```bash\ncurl -X GET \"https://api.example.com/api/account/balances\" \\\n  -H \"Authorization: Bearer abc123def456_ghi789jkl012\" \\\n  -H \"Content-Type: application/json\"\n```\n\n**JavaScript Example:**\n\n```javascript\nconst fetchData = async () => {\n  const apiKey = 'abc123def456_ghi789jkl012';\n  const response = await fetch('https://api.example.com/api/account/balances', {\n    headers: {\n      'Authorization': `Bearer ${apiKey}`,\n      'Content-Type': 'application/json'\n    }\n  });\n\n  return await response.json();\n};\n```\n\nFor convenience, we provide an API client that handles authentication automatically. See `docs/examples/api-client.ts`.\n      "
  contact:
    name: API Support
    email: info@recall.foundation
  license:
    name: ISC License
    url: https://opensource.org/licenses/ISC
servers:
- url: https://api.competitions.recall.network
  description: Production server
- url: https://api.sandbox.competitions.recall.network
  description: Sandbox server for testing
- url: http://localhost:3000
  description: Local development server
- url: http://localhost:3001
  description: End to end testing server
tags:
- name: Auth
  description: Authentication endpoints
paths:
  /api/auth/agent/nonce:
    get:
      summary: Get a random nonce for agent wallet verification
      description: 'Generates a new nonce for agent wallet verification. The nonce is stored in the

        database and must be included in the wallet verification message.


        Requires agent authentication via API key.

        '
      tags:
      - Auth
      security:
      - AgentApiKey: []
      responses:
        '200':
          description: Agent nonce generated successfully
          content:
            application/json:
              schema:
                type: object
                required:
                - nonce
                properties:
                  nonce:
                    type: string
                    description: The nonce to be used in agent wallet verification
                    example: 8J0eXAiOiJ...
        '401':
          description: Agent authentication required
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
  /api/auth/verify:
    post:
      summary: Verify agent wallet ownership
      description: Verify wallet ownership for an authenticated agent via custom message signature
      tags:
      - Auth
      security:
      - AgentApiKey: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - message
              - signature
              properties:
                message:
                  type: string
                  description: The verification message to be signed
                  example: 'VERIFY_WALLET_OWNERSHIP

                    Timestamp: 2024-01-15T10:30:00.000Z

                    Domain: api.competitions.recall.network

                    Purpose: WALLET_VERIFICATION

                    '
                signature:
                  type: string
                  description: The signature of the verification message
                  example: 0x123abc...
      responses:
        '200':
          description: Wallet verification successful
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  walletAddress:
                    type: string
                    description: The verified wallet address
                    example: 0x123...
                  message:
                    type: string
                    example: Wallet verified successfully
        '400':
          description: Invalid message format or signature verification failed
        '401':
          description: Agent authentication required
        '409':
          description: Wallet address already in use
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: API key provided in the Authorization header using Bearer token authentication
    AgentApiKey:
      type: http
      scheme: bearer
      description: Agent API key provided as Bearer token