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

# List capabilities

> The full method catalog, grouped by country and currency. `payouts` is where you can send money, `collections` is where you can charge customers, and `deposits` lists the stablecoins and chains you can receive on. Every `code` the API accepts (`gh_mtn`, `ng_gtbank`, `usdc_solana`…) comes from this catalog, so fetch it rather than hardcoding rails. Sandbox and production report different catalogs — sandbox lists simulated rails and testnet chains — so query the environment you are integrating against.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/capabilities
openapi: 3.1.0
info:
  title: Chipper Platform API
  version: '2026-02-20'
  description: >-
    Payouts, collections, and FX across African rails — bank, mobile money, and
    stablecoins — through one API.
servers:
  - url: https://api.platform.chipper.ai
    description: Production (sk_live_ keys)
  - url: https://sandbox-api.platform.chipper.ai
    description: Sandbox (sk_test_ keys — simulated rails, no real money)
security:
  - bearerAuth: []
paths:
  /v1/capabilities:
    get:
      tags:
        - Capabilities
      summary: List capabilities
      description: >-
        The full method catalog, grouped by country and currency. `payouts` is
        where you can send money, `collections` is where you can charge
        customers, and `deposits` lists the stablecoins and chains you can
        receive on. Every `code` the API accepts (`gh_mtn`, `ng_gtbank`,
        `usdc_solana`…) comes from this catalog, so fetch it rather than
        hardcoding rails. Sandbox and production report different catalogs —
        sandbox lists simulated rails and testnet chains — so query the
        environment you are integrating against.
      responses:
        '200':
          description: The catalog for this environment.
          content:
            application/json:
              schema:
                type: object
                properties:
                  capabilities:
                    type: object
                    properties:
                      payouts:
                        type: array
                        items:
                          $ref: '#/components/schemas/CountryCapability'
                      collections:
                        type: array
                        items:
                          $ref: '#/components/schemas/CountryCapability'
                      deposits:
                        type: array
                        items:
                          $ref: '#/components/schemas/DepositAsset'
                    required:
                      - payouts
                      - collections
                      - deposits
                required:
                  - capabilities
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: unauthorized
                message: Invalid API key
                requestId: req_q7vei435zifs51ia0lqr
      security:
        - bearerAuth: []
components:
  schemas:
    CountryCapability:
      type: object
      properties:
        country:
          type: object
          properties:
            code:
              type: string
              description: ISO 3166-1 alpha-2.
              example: GH
            name:
              type: string
              example: Ghana
            flag:
              type: string
              example: 🇬🇭
          required:
            - code
            - name
            - flag
        currency:
          type: object
          properties:
            code:
              type: string
              example: GHS
            name:
              type: string
              example: Ghanaian Cedi
          required:
            - code
            - name
        methods:
          type: array
          items:
            $ref: '#/components/schemas/PaymentMethod'
      required:
        - country
        - currency
        - methods
    DepositAsset:
      type: object
      properties:
        currency:
          type: string
          example: USDC
        name:
          type: string
          example: USD Coin
        chains:
          type: array
          items:
            type: object
            properties:
              chain:
                type: string
                example: Solana
              network:
                type: string
                description: >-
                  The actual network on this environment — testnets in sandbox,
                  mainnet in production.
                example: Solana Devnet
              code:
                type: string
                example: usdc_solana
              requiresMemo:
                type: boolean
                description: >-
                  True on Stellar and Ripple, where a deposit without the
                  memo/tag cannot be credited.
            required:
              - chain
              - network
              - code
              - requiresMemo
      required:
        - currency
        - name
        - chains
    Error:
      type: object
      properties:
        error:
          type: string
          description: Stable machine-readable code.
        message:
          type: string
          description: Human-readable explanation.
        requestId:
          type: string
          description: Echoed in the x-request-id response header — quote it to support.
      required:
        - error
        - message
    PaymentMethod:
      type: object
      properties:
        code:
          type: string
          description: >-
            The identifier you pass as `code` on recipients, payouts, and
            collections.
          example: gh_mtn
        name:
          type: string
          example: MTN Mobile Money
        type:
          type: string
          enum:
            - mobile_money
            - bank_transfer
            - crypto
            - wallet
        status:
          type: string
          enum:
            - operational
            - degraded
            - outage
          description: Live health from the last 30 minutes of traffic on this rail.
        limits:
          type:
            - object
            - 'null'
          properties:
            min:
              type: number
              example: 1
            max:
              type: number
              example: 50000
            currency:
              type: string
              example: GHS
          required:
            - min
            - max
            - currency
          description: Per-transaction bounds, or null when the rail has none configured.
        estimatedSettlement:
          type: string
          description: >-
            How long the receiver typically waits: `instant`, a minute range, or
            `varies`.
          example: 0-5 minutes
        fields:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
                description: >-
                  The recipient/charge field this describes: `accountNumber` for
                  fiat rails, `address` for crypto.
                example: accountNumber
              label:
                type: string
                example: Phone Number
              type:
                type: string
                enum:
                  - text
                  - phone
                  - select
              placeholder:
                type: string
                example: +233XXXXXXXXX
              description:
                type: string
              group:
                type: string
                description: Fields sharing a group are alternatives — collect one of them.
              options:
                type: array
                items:
                  type: object
                  properties:
                    label:
                      type: string
                    value:
                      type: string
                  required:
                    - label
                    - value
                description: Choices for `select` fields.
            required:
              - key
              - label
              - type
          description: >-
            What to collect from the user to address this method — drive your
            form from this instead of hardcoding per rail.
      required:
        - code
        - name
        - type
        - status
        - limits
        - estimatedSettlement
        - fields
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Your API key: `sk_test_…` (sandbox) or `sk_live_…` (production).'

````