Bitculator Wallets API

Crypto wallet reviews — review `score`, supported-asset count, pros/cons counts, price model and release date, plus a grouped tag taxonomy on detail/compare responses. `meta.top_score` is the highest score across all wallets (use it to normalize scores into a 0–1 range).

Operations 5

GET /api/v1/wallets List wallets #
GET /api/v1/wallets/timeline Wallet release timeline #
GET /api/v1/wallets/compare Compare wallets #
GET /api/v1/wallets/{slug} Get wallet detail #
GET /api/v1/wallets/{slug}/assets Wallet supported coins #

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/bitculator-wallets-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

bitculator-wallets-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Bitculator Data Wallets API
  description: 'Programmatic access to Bitculator market data: coins, prices, history, exchanges, trust scores, tickers, pairs, wallets, sentiment, technical indicators, liquidations, editorial content, and calculators.'
  version: 1.0.0
servers:
- url: https://bitculator.com
security:
- default: []
tags:
- name: Wallets
  description: 'Crypto wallet reviews — review `score`, supported-asset count, pros/cons counts,

    price model and release date, plus a grouped tag taxonomy on detail/compare

    responses. `meta.top_score` is the highest score across all wallets (use it to

    normalize scores into a 0–1 range).'
paths:
  /api/v1/wallets:
    get:
      summary: List wallets
      operationId: listWallets
      description: 'Reviewed wallets with score, asset count, pros/cons counts, price model, status

        and release date. Paginated with Laravel''s `links` + `meta` envelope, plus

        `meta.top_score`.'
      parameters:
      - in: query
        name: page
        description: Page number (1-based). Must be at least 1.
        example: 1
        required: false
        schema:
          type:
          - integer
          - 'null'
          description: Page number (1-based). Must be at least 1.
          example: 1
      - in: query
        name: per_page
        description: Rows per page. The cap is plan-based (Free 100, Starter/Pro 250); exceeding it returns 422 rather than clamping. Must be at least 1. Must not be greater than 100.
        example: 50
        required: false
        schema:
          type:
          - integer
          - 'null'
          description: Rows per page. The cap is plan-based (Free 100, Starter/Pro 250); exceeding it returns 422 rather than clamping. Must be at least 1. Must not be greater than 100.
          example: 50
      - in: query
        name: search
        description: Free-text match on wallet name. Must not be greater than 100 characters.
        example: ledger
        required: false
        schema:
          type:
          - string
          - 'null'
          description: Free-text match on wallet name. Must not be greater than 100 characters.
          example: ledger
      - in: query
        name: min_score
        description: Only wallets with a review score at or above this value. Must be at least 0.
        example: 50
        required: false
        schema:
          type:
          - integer
          - 'null'
          description: Only wallets with a review score at or above this value. Must be at least 0.
          example: 50
      - in: query
        name: max_score
        description: Only wallets with a review score at or below this value. Must be at least 0.
        example: 214
        required: false
        schema:
          type:
          - integer
          - 'null'
          description: Only wallets with a review score at or below this value. Must be at least 0.
          example: 214
      - in: query
        name: tags
        description: 'Filter by tag taxonomy: comma-separated category-group ids (the same ids the web facet filters submit). Must not be greater than 1000 characters.'
        example: 12,34
        required: false
        schema:
          type:
          - string
          - 'null'
          description: 'Filter by tag taxonomy: comma-separated category-group ids (the same ids the web facet filters submit). Must not be greater than 1000 characters.'
          example: 12,34
      - in: query
        name: ids
        description: Filter to specific wallet ids (CSV, up to 100). Must not be greater than 1000 characters.
        example: 175,317
        required: false
        schema:
          type:
          - string
          - 'null'
          description: Filter to specific wallet ids (CSV, up to 100). Must not be greater than 1000 characters.
          example: 175,317
      - in: query
        name: slugs
        description: Filter to specific wallet slugs (CSV, up to 100). Must not be greater than 2000 characters.
        example: frostsnap,coin98-fusion-card
        required: false
        schema:
          type:
          - string
          - 'null'
          description: Filter to specific wallet slugs (CSV, up to 100). Must not be greater than 2000 characters.
          example: frostsnap,coin98-fusion-card
      - in: query
        name: sort
        description: 'Comma-separated sort fields; prefix with - for descending. Sortable: score, released_at, assets, pros, cons. Must not be greater than 100 characters.'
        example: -score
        required: false
        schema:
          type:
          - string
          - 'null'
          description: 'Comma-separated sort fields; prefix with - for descending. Sortable: score, released_at, assets, pros, cons. Must not be greater than 100 characters.'
          example: -score
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                  - id: 317
                    slug: frostsnap
                    name: Frostsnap
                    score: 125
                    assets: 1
                    pros: 18
                    cons: 0
                    price_model: paid
                    status: Active
                    released_at: null
                    logo: https://bitculator.com/storage/media/logo/frostsnap.png
                  links:
                    first: https://bitculator.com/api/v1/wallets?page=1
                    last: https://bitculator.com/api/v1/wallets?page=7
                    prev: null
                    next: https://bitculator.com/api/v1/wallets?page=2
                  meta:
                    current_page: 1
                    from: 1
                    last_page: 7
                    per_page: 50
                    to: 50
                    total: 321
                    top_score: 214
                properties:
                  data:
                    type: array
                    example:
                    - id: 317
                      slug: frostsnap
                      name: Frostsnap
                      score: 125
                      assets: 1
                      pros: 18
                      cons: 0
                      price_model: paid
                      status: Active
                      released_at: null
                      logo: https://bitculator.com/storage/media/logo/frostsnap.png
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 317
                        slug:
                          type: string
                          example: frostsnap
                        name:
                          type: string
                          example: Frostsnap
                        score:
                          type: integer
                          example: 125
                        assets:
                          type: integer
                          example: 1
                        pros:
                          type: integer
                          example: 18
                        cons:
                          type: integer
                          example: 0
                        price_model:
                          type: string
                          example: paid
                        status:
                          type: string
                          example: Active
                        released_at:
                          type:
                          - string
                          - 'null'
                          example: null
                        logo:
                          type: string
                          example: https://bitculator.com/storage/media/logo/frostsnap.png
                  links:
                    type: object
                    properties:
                      first:
                        type: string
                        example: https://bitculator.com/api/v1/wallets?page=1
                      last:
                        type: string
                        example: https://bitculator.com/api/v1/wallets?page=7
                      prev:
                        type:
                        - string
                        - 'null'
                        example: null
                      next:
                        type: string
                        example: https://bitculator.com/api/v1/wallets?page=2
                  meta:
                    type: object
                    properties:
                      current_page:
                        type: integer
                        example: 1
                      from:
                        type: integer
                        example: 1
                      last_page:
                        type: integer
                        example: 7
                      per_page:
                        type: integer
                        example: 50
                      to:
                        type: integer
                        example: 50
                      total:
                        type: integer
                        example: 321
                      top_score:
                        type: integer
                        example: 214
      tags:
      - Wallets
  /api/v1/wallets/timeline:
    get:
      summary: Wallet release timeline
      operationId: walletReleaseTimeline
      description: 'The wallet list pinned to `released_at` descending (undated wallets last). Same

        row shape and pagination envelope as `List wallets`.'
      parameters:
      - in: query
        name: page
        description: Page number (1-based). Must be at least 1.
        example: 1
        required: false
        schema:
          type:
          - integer
          - 'null'
          description: Page number (1-based). Must be at least 1.
          example: 1
      - in: query
        name: per_page
        description: Rows per page. The cap is plan-based (Free 100, Starter/Pro 250); exceeding it returns 422 rather than clamping. Must be at least 1. Must not be greater than 100.
        example: 50
        required: false
        schema:
          type:
          - integer
          - 'null'
          description: Rows per page. The cap is plan-based (Free 100, Starter/Pro 250); exceeding it returns 422 rather than clamping. Must be at least 1. Must not be greater than 100.
          example: 50
      - in: query
        name: search
        description: Free-text match on wallet name. Must not be greater than 100 characters.
        example: ledger
        required: false
        schema:
          type:
          - string
          - 'null'
          description: Free-text match on wallet name. Must not be greater than 100 characters.
          example: ledger
      - in: query
        name: min_score
        description: Only wallets with a review score at or above this value. Must be at least 0.
        example: 50
        required: false
        schema:
          type:
          - integer
          - 'null'
          description: Only wallets with a review score at or above this value. Must be at least 0.
          example: 50
      - in: query
        name: max_score
        description: Only wallets with a review score at or below this value. Must be at least 0.
        example: 214
        required: false
        schema:
          type:
          - integer
          - 'null'
          description: Only wallets with a review score at or below this value. Must be at least 0.
          example: 214
      - in: query
        name: tags
        description: 'Filter by tag taxonomy: comma-separated category-group ids (the same ids the web facet filters submit). Must not be greater than 1000 characters.'
        example: 12,34
        required: false
        schema:
          type:
          - string
          - 'null'
          description: 'Filter by tag taxonomy: comma-separated category-group ids (the same ids the web facet filters submit). Must not be greater than 1000 characters.'
          example: 12,34
      - in: query
        name: ids
        description: Filter to specific wallet ids (CSV, up to 100). Must not be greater than 1000 characters.
        example: 175,317
        required: false
        schema:
          type:
          - string
          - 'null'
          description: Filter to specific wallet ids (CSV, up to 100). Must not be greater than 1000 characters.
          example: 175,317
      - in: query
        name: slugs
        description: Filter to specific wallet slugs (CSV, up to 100). Must not be greater than 2000 characters.
        example: frostsnap,coin98-fusion-card
        required: false
        schema:
          type:
          - string
          - 'null'
          description: Filter to specific wallet slugs (CSV, up to 100). Must not be greater than 2000 characters.
          example: frostsnap,coin98-fusion-card
      - in: query
        name: sort
        description: 'Comma-separated sort fields; prefix with - for descending. Sortable: score, released_at, assets, pros, cons. Must not be greater than 100 characters.'
        example: -score
        required: false
        schema:
          type:
          - string
          - 'null'
          description: 'Comma-separated sort fields; prefix with - for descending. Sortable: score, released_at, assets, pros, cons. Must not be greater than 100 characters.'
          example: -score
      responses: []
      tags:
      - Wallets
  /api/v1/wallets/compare:
    get:
      summary: Compare wallets
      operationId: compareWallets
      description: 'Side-by-side comparison of 2–4 wallets with their full grouped tag taxonomy.

        `data[]` preserves the requested slug order so consumers can render columns

        positionally.'
      parameters:
      - in: query
        name: slugs
        description: 2–4 distinct wallet slugs, comma-separated.
        example: frostsnap,coin98-fusion-card
        required: true
        schema:
          type: string
          description: 2–4 distinct wallet slugs, comma-separated.
          example: frostsnap,coin98-fusion-card
      responses: []
      tags:
      - Wallets
  /api/v1/wallets/{slug}:
    parameters:
    - in: path
      name: slug
      description: The wallet slug.
      example: frostsnap
      required: true
      schema:
        type: string
    get:
      summary: Get wallet detail
      operationId: getWalletDetail
      description: 'Full single-wallet profile including the grouped tag taxonomy: `categories` is a

        list of `{group, tags[]}` where each tag has a slug, name and optional value.

        `meta.top_score` is the highest score across all wallets.'
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 317
                    slug: frostsnap
                    name: Frostsnap
                    score: 125
                    assets: 1
                    pros: 18
                    cons: 0
                    price_model: paid
                    status: Active
                    released_at: null
                    logo: https://bitculator.com/storage/media/logo/frostsnap.png
                    website: https://frostsnap.com
                    categories:
                    - group: type
                      tags:
                      - slug: hardware
                        name: Hardware
                        value: null
                    - group: storage
                      tags:
                      - slug: cold
                        name: Cold
                        value: null
                  meta:
                    top_score: 214
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 317
                      slug:
                        type: string
                        example: frostsnap
                      name:
                        type: string
                        example: Frostsnap
                      score:
                        type: integer
                        example: 125
                      assets:
                        type: integer
                        example: 1
                      pros:
                        type: integer
                        example: 18
                      cons:
                        type: integer
                        example: 0
                      price_model:
                        type: string
                        example: paid
                      status:
                        type: string
                        example: Active
                      released_at:
                        type:
                        - string
                        - 'null'
                        example: null
                      logo:
                        type: string
                        example: https://bitculator.com/storage/media/logo/frostsnap.png
                      website:
                        type: string
                        example: https://frostsnap.com
                      categories:
                        type: array
                        example:
                        - group: type
                          tags:
                          - slug: hardware
                            name: Hardware
                            value: null
                        - group: storage
                          tags:
                          - slug: cold
                            name: Cold
                            value: null
                        items:
                          type: object
                          properties:
                            group:
                              type: string
                              example: type
                            tags:
                              type: array
                              example:
                              - slug: hardware
                                name: Hardware
                                value: null
                              items:
                                type: object
                                properties:
                                  slug:
                                    type: string
                                    example: hardware
                                  name:
                                    type: string
                                    example: Hardware
                                  value:
                                    type:
                                    - string
                                    - 'null'
                                    example: null
                  meta:
                    type: object
                    properties:
                      top_score:
                        type: integer
                        example: 214
        '404':
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error:
                    code: not_found
                    message: Wallet not found.
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: not_found
                      message:
                        type: string
                        example: Wallet not found.
      tags:
      - Wallets
  /api/v1/wallets/{slug}/assets:
    parameters:
    - in: path
      name: slug
      description: The wallet slug.
      example: frostsnap
      required: true
      schema:
        type: string
    get:
      summary: Wallet supported coins
      operationId: walletSupportedCoins
      description: 'Coins the wallet supports, returned in the same shape as `List coins` and

        accepting the same filters/sort.'
      parameters:
      - in: query
        name: page
        description: Page number (1-based). Must be at least 1.
        example: 1
        required: false
        schema:
          type:
          - integer
          - 'null'
          description: Page number (1-based). Must be at least 1.
          example: 1
      - in: query
        name: per_page
        description: Rows per page. The cap is plan-based (Free 100, Starter/Pro 250); exceeding it returns 422 rather than clamping. Must be at least 1. Must not be greater than 100.
        example: 50
        required: false
        schema:
          type:
          - integer
          - 'null'
          description: Rows per page. The cap is plan-based (Free 100, Starter/Pro 250); exceeding it returns 422 rather than clamping. Must be at least 1. Must not be greater than 100.
          example: 50
      - in: query
        name: type
        description: 'Restrict to a single asset type: coin or token.'
        example: coin
        required: false
        schema:
          type:
          - string
          - 'null'
          description: 'Restrict to a single asset type: coin or token.'
          example: coin
          enum:
          - coin
          - token
      - in: query
        name: status
        description: 'Listing status: active, delisted, untracked, progressing, awaiting or preparing. Defaults to all public statuses.'
        example: active
        required: false
        schema:
          type:
          - string
          - 'null'
          description: 'Listing status: active, delisted, untracked, progressing, awaiting or preparing. Defaults to all public statuses.'
          example: active
          enum:
          - active
          - delisted
          - untracked
          - progressing
          - awaiting
          - preparing
      - in: query
        name: search
        description: Free-text match on name or symbol. Must not be greater than 100 characters.
        example: bitcoin
        required: false
        schema:
          type:
          - string
          - 'null'
          description: Free-text match on name or symbol. Must not be greater than 100 characters.
          example: bitcoin
      - in: query
        name: min_price
        description: Only coins priced at or above this USD value. Must be at least 0.
        example: 0.5
        required: false
        schema:
          type:
          - number
          - 'null'
          description: Only coins priced at or above this USD value. Must be at least 0.
          example: 0.5
      - in: query
        name: max_price
        description: Only coins priced at or below this USD value. Must be at least 0.
        example: 100000
        required: false
        schema:
          type:
          - number
          - 'null'
          description: Only coins priced at or below this USD value. Must be at least 0.
          example: 100000
      - in: query
        name: min_marketcap
        description: Only coins with a USD marketcap at or above this value. Must be at least 0.
        example: 1000000
        required: false
        schema:
          type:
          - number
          - 'null'
          description: Only coins with a USD marketcap at or above this value. Must be at least 0.
          example: 1000000
      - in: query
        name: max_marketcap
        description: Only coins with a USD marketcap at or below this value. Must be at least 0.
        example: 5000000000000
        required: false
        schema:
          type:
          - number
          - 'null'
          description: Only coins with a USD marketcap at or below this value. Must be at least 0.
          example: 5000000000000
      - in: query
        name: min_volume
        description: Only coins with 24h USD volume at or above this value. Must be at least 0.
        example: 1000000
        required: false
        schema:
          type:
          - number
          - 'null'
          description: Only coins with 24h USD volume at or above this value. Must be at least 0.
          example: 1000000
      - in: query
        name: max_volume
        description: Only coins with 24h USD volume at or below this value. Must be at least 0.
        example: 100000000000
        required: false
        schema:
          type:
          - number
          - 'null'
          description: Only coins with 24h USD volume at or below this value. Must be at least 0.
          example: 100000000000
      - in: query
        name: ids
        description: Filter to specific coin ids (CSV, up to 100 selectors combined with slugs/symbols). Must not be greater than 1000 characters.
        example: 38,39
        required: false
        schema:
          type:
          - string
          - 'null'
          description: Filter to specific coin ids (CSV, up to 100 selectors combined with slugs/symbols). Must not be greater than 1000 characters.
          example: 38,39
      - in: query
        name: slugs
        description: Filter to specific coin slugs (CSV, up to 100 selectors combined). Must not be greater than 2000 characters.
        example: bitcoin,ethereum
        required: false
        schema:
          type:
          - string
          - 'null'
          description: Filter to specific coin slugs (CSV, up to 100 selectors combined). Must not be greater than 2000 characters.
          example: bitcoin,ethereum
      - in: query
        name: symbols
        description: Filter to specific coin symbols (CSV, case-insensitive, up to 100 selectors combined). Must not be greater than 1000 characters.
        example: BTC,ETH
        required: false
        schema:
          type:
          - string
          - 'null'
          description: Filter to specific coin symbols (CSV, case-insensitive, up to 100 selectors combined). Must not be greater than 1000 characters.
          example: BTC,ETH
      - in: query
        name: sort
        description: 'Comma-separated sort fields; prefix with - for descending. Sortable: marketcap, rank, price, volume_24h, change_24h, change_7d. Must not be greater than 100 characters.'
        example: -marketcap
        required: false
        schema:
          type:
          - string
          - 'null'
          description: 'Comma-separated sort fields; prefix with - for descending. Sortable: marketcap, rank, price, volume_24h, change_24h, change_7d. Must not be greater than 100 characters.'
          example: -marketcap
      - in: query
        name: interval
        description: 'Movers window for /coins/gainers and /coins/losers only: 24h or 7d.'
        example: 24h
        required: false
        schema:
          type:
          - string
          - 'null'
          description: 'Movers window for /coins/gainers and /coins/losers only: 24h or 7d.'
          example: 24h
          enum:
          - 24h
          - 7d
      responses: []
      tags:
      - Wallets
components:
  securitySchemes:
    default:
      type: http
      scheme: bearer
      description: Create a Data API key in your <a href="/user/developer/api">developer console</a> — keys are Bearer-only and carry the <code>data-api</code> ability. Keep them server-side; they are never meant for client-side embedding.