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

# Create NFT Collection

> Creates an NFT Collection with provided metadata.
An NFT collection refers to a group of non-fungible tokens (NFTs) that are created and released together, often following a specific theme or concept. NFTs are unique digital assets that are stored on a blockchain, represent ownership or proof of authenticity of a particular item, artwork, or digital content.
The created nft collection's address can be found by `/transactions/status-by-id`
endpoint once the transaction is succeeded.


<Snippet file="header-project-id.mdx" />


## OpenAPI

````yaml post /nfts/collections
openapi: 3.0.1
info:
  title: WalletKit
  version: 0.0.1
servers:
  - url: https://testnet.walletkit.com
    description: testnet
  - url: https://mainnet.walletkit.com
    description: mainnet
security: []
paths:
  /nfts/collections:
    post:
      tags:
        - Nfts
      summary: Create NFT Collection
      description: >
        Creates an NFT Collection with provided metadata.

        An NFT collection refers to a group of non-fungible tokens (NFTs) that
        are created and released together, often following a specific theme or
        concept. NFTs are unique digital assets that are stored on a blockchain,
        represent ownership or proof of authenticity of a particular item,
        artwork, or digital content.

        The created nft collection's address can be found by
        `/transactions/status-by-id`

        endpoint once the transaction is succeeded.
      operationId: nfts_create
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                network:
                  $ref: '#/components/schemas/Network'
                name:
                  type: string
                  description: collection name
                symbol:
                  type: string
                  description: Collection symbol used for identification purposes
                image_url:
                  type: string
                  description: URL to the collection logo image
                base_uri:
                  type: string
                  nullable: true
                  description: >-
                    Base URI for computing tokenURI which resolves to token
                    metadata JSON. If set, the resulting URI for each token will
                    be the concatenation of the baseURI and the tokenId (or
                    tokenURI if tokenURI is set when minting the NFT).
                developer_secret:
                  $ref: '#/components/schemas/DeveloperSecret'
                  nullable: true
                user_pin:
                  $ref: '#/components/schemas/UserPin'
                  nullable: true
              required:
                - network
                - name
                - symbol
                - image_url
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionSubmissionResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - BearerAuth: []
components:
  schemas:
    Network:
      title: Network
      type: string
      enum:
        - Ethereum
        - Polygon
        - Base
        - Avalanche
        - Polkadot
        - Vara
    DeveloperSecret:
      title: DeveloperSecret
      type: string
      nullable: true
      description: >-
        On testnet, the developer_secret is always "testnet-secret". On mainnet,
        the developer_secret is set by the developer during account activation.
    UserPin:
      title: UserPin
      type: string
      nullable: true
      description: >-
        A 6-digit numeric pin that is only known to the user, set during wallet
        creation. This pin is required to sign transactions from this wallet.
    TransactionSubmissionResponse:
      title: TransactionSubmissionResponse
      type: object
      properties:
        transaction_id:
          type: string
        network:
          $ref: '#/components/schemas/Network'
        status:
          type: string
      required:
        - transaction_id
        - network
        - status
    ErrorResponse:
      title: ErrorResponse
      type: object
      properties:
        code:
          type: string
          nullable: true
        error:
          type: string
      required:
        - error
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````