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

# Create card



## OpenAPI

````yaml POST /cards/create
openapi: 3.1.0
info:
  title: Nadcab Labs Card Issuing API
  version: 1.0.0
  description: >-
    Issue and manage crypto-funded virtual and physical cards, cardholders,
    wallet deposits and remittances.
servers:
  - url: https://cc.nadcab.com/api/v1
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Card BINs
    description: List card BINs you can issue on.
  - name: Account
    description: Wallet balance, deposits and withdrawals.
  - name: API settings
    description: Webhook URL, IP allowlist and card data encryption key.
  - name: Cards
    description: Create, fund, freeze and close cards.
  - name: Cardholders
    description: Create and manage cardholders for B2C card programs.
  - name: Remittance
    description: Send fiat bank transfers funded from your wallet.
paths:
  /cards/create:
    post:
      tags:
        - Cards
      summary: Create card
      operationId: createCard
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                bin:
                  type: string
                  description: >-
                    Card BIN or BIN ID. The id or bin field returned by List
                    available BINs
                amount:
                  type: string
                  description: Initial top-up amount (up to 2 decimal places)
                clientTransactionId:
                  type: string
                  description: Your transaction reference
                holder:
                  allOf:
                    - $ref: '#/components/schemas/CardholderInfo'
                  description: Cardholder details
                physical:
                  type: string
                  description: 'Issue a physical card. 1: physical card, 0: virtual card'
                accountId:
                  type: integer
                  description: Sub-account ID
                cardholderId:
                  type: string
                  description: Cardholder ID. Required in B2C mode
                ipAddress:
                  type: string
                  description: 'Required for B2C BINs: the cardholder''s real IP address'
              required:
                - bin
                - amount
                - ipAddress
            example:
              bin: '111111'
              amount: '8.9'
              clientTransactionId: 156sa1d56as1d65a156d6668
              physical: '0'
              cardholderId: 1f08eb56-c758-6670-99db-0242ac110002
              accountId: 71
              ipAddress: 203.0.113.10
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                  msg:
                    type: string
                  data:
                    type: string
                    description: >-
                      Transaction ID. Returned as trade_id in the webhook so you
                      can match it to your records
                required:
                  - code
                  - msg
                  - data
              example:
                code: 200
                msg: success
                data: 37e56e0c-b281-4950-82d6-07aaf6232dd3
components:
  schemas:
    CardholderInfo:
      type: object
      properties:
        firstName:
          type: string
          description: Cardholder first name. Generated at random if left empty
        lastName:
          type: string
          description: Cardholder last name. Generated at random if left empty
        phoneCode:
          type: string
          description: Phone country code. Required for 3DS-enabled BINs
        phone:
          type: string
          description: Phone number. Required for 3DS-enabled BINs
        email:
          type: string
          description: Email. Required for 3DS-enabled BINs
        cardAddress:
          type: object
          properties:
            country:
              type: string
              description: >-
                Country code, ISO 3166-1 alpha-2. Generated at random if left
                empty
            state:
              type: string
              description: >-
                State, county, province or region. Generated at random if left
                empty
            city:
              type: string
              description: City. Generated at random if left empty
            addressLine1:
              type: string
              description: Address line 1. Generated at random if left empty
            addressLine2:
              type: string
              description: Address line 2
            postalCode:
              type: string
              description: Postal code. Generated at random if left empty
          required:
            - country
            - state
            - city
            - addressLine1
            - postalCode
          description: Billing address
      required:
        - cardAddress
        - firstName
        - lastName
        - phoneCode
        - phone
        - email
      description: Cardholder details
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Your API key from Console → Settings → Key & Access, sent as
        `Authorization: Bearer ncl_...`.

````