ByKaranteli · Authentication Profile

Bykaranteli Authentication

Authentication

ByKaranteli declares 4 security scheme(s) across its OpenAPI definitions.

CryptocurrencyCrypto DerivativesMarket DataFunding RatesOpen InterestLiquidationsOptionsETF FlowsFinancial DataMCPx402Agents
Methods: Schemes: 4 OAuth flows: API key in:

Security Schemes

none
http
scheme: bearer · in: header ()
payment
scheme: exact · in: header ()
none

Source

Authentication Profile

Raw ↑
generated: '2026-08-09'
method: searched
source: https://bykaranteli.com/developers
docs: https://bykaranteli.com/developers
also_searched:
  - https://bykaranteli.com/api/v1/public/manifest
  - https://bykaranteli.com/openapi.json
  - https://mcp.bykaranteli.com

summary: >-
  ByKaranteli runs three distinct access models on one host. The public read
  surface (/api/public/*, /api/v1/public/*) takes no credential at all. A small
  account surface (/api/v1/public/me, /api/v1/me/*) takes a Bearer API key owned
  by a registered member. The paid agent surface (/api/x402/*) takes no account
  and no key — it authenticates the CALL, not the caller, by settling a USDC
  micropayment over the x402 protocol. The hosted MCP server at
  mcp.bykaranteli.com answered an anonymous tools/list, confirming it is
  unauthenticated.

schemes:
  - id: none
    type: none
    applies_to:
      - /api/public/*
      - /api/v1/public/* (except /me)
      - /api/liqmap/public
      - /embed/*
      - /feed.xml
    description: >-
      No authentication. CORS Access-Control-Allow-Origin is *, GET and OPTIONS
      preflight are supported, responses are read-only and carry no PII.
    evidence: 'developers page "Auth · None · All endpoints public / read-only"'

  - id: bearer_api_key
    type: http
    scheme: bearer
    in: header
    header: Authorization
    format: 'Authorization: Bearer <api key>'
    alternatives:
      - 'query parameter ?api_key= (for clients that cannot set headers, e.g. calendar feeds)'
      - 'query parameter ?token='
    applies_to:
      - /api/v1/public/me
      - /api/v1/me/*
    requires: member account with public_profile_enabled
    rate_limit: 60 req/min/key
    description: >-
      Member-scoped Bearer token. Same response shape as
      /api/v1/public/profiles/[handle] but for the key owner.
    evidence: >-
      /api/v1/public/manifest -> conventions.auth: "Bearer token in Authorization
      header, or ?api_key= / ?token= for clients that can't set headers."

  - id: x402_payment
    type: payment
    protocol: x402
    version: 2
    in: header
    request_header: X-PAYMENT
    challenge_header: payment-required
    challenge_status: 402
    applies_to:
      - /api/x402/* (13 paid endpoints; /api/x402 catalog itself is free)
    assets: [USDC]
    networks:
      - id: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp'
        chain: Solana mainnet
        asset_mint: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
        pay_to: 4JgPtoBWkQyG3QffVJC3bfgk7SCQrz9bx2SAEUTSVqzK
        fee_payer: GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb
      - id: 'eip155:8453'
        chain: Base mainnet
        asset_contract: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
        pay_to: '0x0db4c96d8b14f431f3bb8ce1a33f07d2c696a62c'
    scheme: exact
    max_timeout_seconds: 300
    description: >-
      Call the endpoint with no payment and it answers HTTP 402 with a base64
      `payment-required` header carrying x402 v2 payment requirements — resource
      URL, service name, tags, accepted networks/assets/amounts, and a `bazaar`
      extension whose JSON Schema describes the call's input and output shape.
      An x402 client pays and retries automatically. Price is per SUCCESSFUL
      response; a failed request settles nothing. No signup on either side.
    verbatim_challenge: examples/bykaranteli-x402-payment-required.json
    evidence:
      url: https://bykaranteli.com/api/x402/flow-vpin
      http_status: 402
      fetched: '2026-08-09'

  - id: mcp_anonymous
    type: none
    applies_to:
      - https://mcp.bykaranteli.com (Streamable HTTP)
    description: >-
      Hosted MCP server requires no key. No OAuth discovery documents are
      published (/.well-known/oauth-authorization-server and
      /oauth-protected-resource both 404), consistent with an unauthenticated
      read-only server.
    evidence:
      url: https://mcp.bykaranteli.com
      method: 'POST tools/list'
      http_status: 200
      result: 20 tools returned anonymously

oauth2: false
openid_connect: false
mutual_tls: false
scopes: none
notes:
  - >-
    There is no OAuth surface, so no scopes/ artifact is emitted — the key-auth
    member surface carries the model instead.
  - >-
    The published OpenAPI (/openapi.json) declares no components.securitySchemes;
    it marks the free catalog operation `security: []` and leaves the paid
    operations implicitly gated by the 402 flow. That is the one authentication
    gap worth raising with the provider — an `x-payment-info` extension is
    present per operation, but a formal securityScheme is not.