KrypCore Web3
PlatformSupportSDK
  • 👋Welcome to Krypcore Web3
  • Introduction
    • Overview
    • Product Architecture
    • Supported Networks
  • Product Overview
    • Key Concepts
    • Unified SDK / APIs
      • Benefits of a Unified Model
      • KrypCore Web3 SDK
      • KrypCore Web3 APIs
    • Infrastructure
      • Blockchain Endpoints
        • Adding network to Metamask
      • Storage Endpoints
      • DID Service Endpoints
    • Core Services
      • Wallets
        • Choosing the right wallet for your Dapp
        • Custodial Wallet
        • Self Managed Wallet
        • MPC Wallet
        • Developer Wallet
        • Smart Contract Wallet
      • Smart Contracts
        • Deploy from Templates
          • Templates Explained
            • ERC 20
            • ERC 721
            • ERC 1155
            • ERC20DAO Token
            • TokenERC20
        • Deploy your own contract
        • Deploy Contract
        • Load Contract
      • NFT
        • Creating a collection
        • Minting NFTs
      • FT
        • Creating an ERC-20 token
      • DIDs
      • Storage
    • Add on Services
      • Datalake
      • Gasless
        • Integration Steps
        • Considerations and Best Practices
  • API Reference
    • KCW3 APIs Explained
    • Infrastructure APIs
      • Ethereum JSON RPC APIs
        • eth_accounts
        • eth_blockNumber
        • eth_call
        • eth_chainId
        • eth_estimateGas
        • eth_feeHistory
        • eth_gasPrice
        • eth_getBalance
        • eth_getBlockByHash
        • eth_getBlockByNumber
        • eth_getBlockReceipts
        • eth_getBlockTransactionCountByHash
        • eth_getBlockTransactionCountByNumber
        • eth_getCode
        • eth_getFilterChanges
        • eth_getFilterLogs
        • eth_getLogs
        • eth_getProof
        • eth_getStorageAt
        • eth_getTransactionByBlockHashAndIndex
        • eth_getTransactionByBlockNumberAndIndex
        • eth_getTransactionByHash
        • eth_getTransactionCount
        • eth_getTransactionReceipt
        • eth_getUncleCountByBlockHash
        • eth_getUncleCountByBlockNumber
        • eth_hashrate
        • eth_maxPriorityFeePerGas
        • eth_mining
        • eth_newBlockFilter
        • eth_newFilter
        • eth_newPendingTransactionFilter
        • eth_signTransaction
        • eth_syncing
        • eth_uninstallFilter
        • eth_unsubscribe
        • eth_sendRawTransaction
        • net_listening
        • net_peerCount
        • net_version
        • txpool_content
        • txpool_inspect
        • txpool_status
        • web3_clientVersion
        • web3_sha3
      • IPFS HTTP Client APIs
        • How to
        • HTTP API methods
          • add
          • block_get
          • block_stat
          • cat
          • dag_get
          • dag_import
          • dag_put
          • dag_resolve
          • get
          • pin_add
          • pin_ls
          • pin_rm
          • pin_update
          • version
          • block_put
    • Core Service APIs
      • Wallet Manager APIs
        • Self Managed Wallet
          • Setup SM Wallet
          • Create Wallet
          • Get Wallet balance
          • Sign Message
          • Verifies Signature off chain
          • Deploy Contract
          • Submit Transaction
          • Estimating Gas Price
          • Call Contract Method
          • Sign and Submit Gasless Transaction
        • Developer Wallet
          • Generate Keys
          • Deploy Contract
          • Call Contract
          • Get Balance
          • Sign And Submit Gasless Txn
          • Create And Execute Txn
          • Sign EIP712 Txn
          • Verify Signature OffChain
          • Sign Message
          • Sign TxHash
          • Estimate Gas
        • Smart Contract Wallet APIs
          • Create Wallet
          • Get All SC Wallet Details
          • GenerateUserOp
          • SubmitUserOp
      • DID Manager APIs
        • Create issuer Profile
        • Create Subject Profile
        • Create Verifiable Credentials
        • Create Verifiable Presentation
        • List Issuer Profile
        • List Subject Profile
        • List Verifiable Credential
        • List Verifiable Credential Templates
        • Verify Verifiable Credential
        • Revoke Verifiable Credential
        • Delete Issuer Profile
        • Resolve DID
      • NFT Studio APIs
        • Create NFT Collection
        • Get all NFT Collections details created by a user
        • Get a NFT collection details created by a user
        • Mint NFT
        • Get all Minted NFT details in a smart contract
      • FT Manager APIs
        • Create ERC20Token
        • Get all Fungible Token details created by user
        • Get a Fungible Token details created by user
        • Mint ERC20 Token
        • Approve ERC20Token
        • Transfer ERC20 Token
        • Burn ERC20Token
        • Get Total Supply
        • Get Balance of an user address
      • Storage Manager APIs
        • Upload file to IPFS Storage
        • Get File Details
        • Download Files from IPFS
        • Update Pin status
      • Gasless API
        • Get Transaction Payload
        • Send Transaction
        • Create Gas Request
        • Add Whitelisted Contract Linked to DApp
        • List All Whitelisted Contracts
        • List All Protocol Configs
        • List All Funded Transactions
        • Update Configured Gas Limit
        • Deactivate Whitelisted Contract
        • Get Protocol Config using userId and ChainId
        • Sign And Submit Gasless Txn Using (Dev wallet)
        • Sign And Submit Gasless Txn Using (kms wallet)
    • Add On APIs
      • Gasless Transactions APIs
      • Datalake APIs
  • SDK Reference
    • Getting Started
    • SDK Architecture
    • Wrapper Packages
    • Power Methods
      • Wallet Suite
      • Utils Suite
    • Core Service Methods
      • Custodial Wallet Kit
      • DID Kit
      • NFT Kit
      • FT Kit
      • Storage Kit
  • faq
    • Platform FAQs
    • API FAQs
    • SDK FAQs
  • Releases
    • Latest Updates
    • Release Notes v1.0.0 Beta
    • Release Notes v1.0.0
Powered by GitBook
On this page
  • API Specification
  • Mint NFT

Was this helpful?

  1. API Reference
  2. Core Service APIs
  3. NFT Studio APIs

Mint NFT

NFT can be Minted using this method. The weightage for this API is 5.

API Specification

Mint NFT

POST https://api.krypcore.com/api/v0/easy-nft/createNFT

Create NFT under the given instance.

Headers

Name
Type
Description

Authorization*

String

User Auth Key obtained from Dash

DappId*

String

DappId

Request Body

Name
Type
Description

name*

String

Name of the NFT

file*

file

File to be used as NFT

description*

String

Description of the NFT

erc*

String

Either ERC721 or ERC1155

quantity*

Number

No of NFT to be minted

recepientAddress*

String

Owner of the NFT

attributes

String

attibutes of the NFT

walletType*

String

Wallet type can be either Custodial or non-custodial

contractAddress*

String

Smart contract address in which NFT is minted

chainId*

String

Chain Id of the Blockchain Protocol

custodialWalletAccessToken*

String

Wallet Access token of custodial wallet

{
    "Data": {
        "NFTMetadata": {
            "description": "this is krypc logo",
            "image": "https://ipfs-gateway.node.krypcore.io/api/v0/ipfs/ipfs/QmbVnEgY9K1Qypb6Rqf81U8SfmoUfYNgTdsJm3JtvSTYKZ?apiKey=ac2d904a-cad4-425b-a2d7-3a4a8d2b64c6&token=34bc1382-33aa-4306-a331-db5029e8dcee",
            "name": "krypc123"
        },
        "referenceId": "d1b96b38-d0d1-4cf3-898e-62e2babfdd5c",
        "tokenURI": "https://ipfs-gateway.node.krypcore.io/api/v0/ipfs/ipfs/QmPherocXDSKLms1tz1Un6qcyyJ56TyKRkhDKjHjEHiAsP?apiKey=ac2d904a-cad4-425b-a2d7-3a4a8d2b64c6&token=34bc1382-33aa-4306-a331-db5029e8dcee",
        "txnHash": ""
    },
    "Message": "NFT got minted successfully",
    "Status": "SUCCESS"
}
{
    "Data": null,
    "Message": "Invalid ERC Standard Passed - ERC7211",
    "Status": "Failure"
}
{
    "message": "Missing API key found in request"
}
{ Status: 'FAILURE', Code: 400, Message: 'insufficient balance' }
{
    "Data": null,
    "Message": "Custodial wallet service api token is missing",
    "Status": "FAILURE"
}

Take a look at how you might call this method using our official libraries, or via curl:

curl --location 'https://api.krypcore.com/api/v0/easy-nft/createNFT' \
--header 'Authorization: xxxxxxxxxxxxxxxxxx' \
--header 'DappId: xxxxxxxxxxxxxxxxxx' \
--form 'file=@./Downloads/1622711604-nfts21examples.png' \
--form 'name="krypc55"' \
--form 'description="this is krypc logo"' \
--form 'recepientAddress="0x313bA6399d60ff7c2ee8bCxxxxxxxxxxxxxxxxxx"' \
--form 'attributes=""' \
--form 'quantity=""' \
--form 'erc="ERC721"' \
--form 'contractAddress="0x5D7276C99CE49e90B3eDxxxxxxxxxxxxxxxxxx"' \
--form 'chainId="80001"' \
--form 'walletType="non-custodial"' \
--form 'custodialWalletAccessToken="33e3183c-8356-xxxxxxxxxxxxxxxxxx"'
var axios = require('axios');
var FormData = require('form-data');
var fs = require('fs');
var data = new FormData();
data.append('file', fs.createReadStream('/home/rajdeep/Downloads/download.png'));
data.append('name', 'krypc123');
data.append('description', 'this is krypc logo');
data.append('recepientAddress', '0x588BeE528b93357B4d731CE817C47F4BFbc81B22');
data.append('attributes', '');
data.append('quantity', '1');
data.append('erc', 'ERC721');
data.append('contractAddress', '0x06Da2002a7E29fDd0cef326BC0febd36f48962aA');
data.append('chainId', '80001');
data.append('walletType', 'non-custodial');
data.append('custodialWalletAccessToken', 'xxxxxx-xxxx-xxxx-xxxx-xxxxxxxx');
 

var config = {
  method: 'post',
  url: 'https://api.krypcore.com/api/v0/easy-nft/createNFT',
  headers: { 
    'Authorization': 'xxxxxxxxxxxxxxxxxx', 
    'DappId': 'xxxxxxxxxxxxxxxxxx', 
    ...data.getHeaders()
  },
  data : data
};

 

axios(config)
.then(function (response) {
  console.log(JSON.stringify(response.data));
})
.catch(function (error) {
  console.log(error);
});
import requests

 

url = "https://api.krypcore.com/api/v0/easy-nft/createNFT"

 

payload={'name': 'krypc123',
'description': 'this is krypc logo',
'recepientAddress': '0x588BeE528b93357B4d731CE817C47F4BFbc81B22',
'attributes': '',
'quantity': '1',
'erc': 'ERC721',
'contractAddress': '0x06Da2002a7E29fDd0cef326BC0febd36f48962aA',
'chainId': '80001',
'walletType': 'non-custodial'
'custodialWalletAccessToken', 'xxxxxx-xxxx-xxxx-xxxx-xxxxxxxx'
}
files=[
  ('file',('download.png',open('/home/rajdeep/Downloads/download.png','rb'),'image/png'))
]
headers = {
  'Authorization': 'xxxxxxxxxxxxxxxxxxxx',
  'DappId': 'xxxxxxxxxxxxxxxxxxxx'
}

 

response = requests.request("POST", url, headers=headers, data=payload, files=files)

 

print(response.text)
package main

 

import (
  "fmt"
  "bytes"
  "mime/multipart"
  "os"
  "path/filepath"
  "io"
  "net/http"
  "io/ioutil"
)

 

func main() {

 

  url := "https://api.krypcore.com/api/v0/easy-nft/createNFT"
  method := "POST"

 

  payload := &bytes.Buffer{}
  writer := multipart.NewWriter(payload)
  file, errFile1 := os.Open("/home/rajdeep/Downloads/download.png")
  defer file.Close()
  part1,
         errFile1 := writer.CreateFormFile("file",filepath.Base("/home/rajdeep/Downloads/download.png"))
  _, errFile1 = io.Copy(part1, file)
  if errFile1 != nil {
    fmt.Println(errFile1)
    return
  }
  _ = writer.WriteField("name", "krypc123")
  _ = writer.WriteField("description", "this is krypc logo")
  _ = writer.WriteField("recepientAddress", "0x588BeE528b93357B4d731CE817C47F4BFbc81B22")
  _ = writer.WriteField("attributes", "")
  _ = writer.WriteField("quantity", "1")
  _ = writer.WriteField("erc", "ERC721")
  _ = writer.WriteField("contractAddress", "0x06Da2002a7E29fDd0cef326BC0febd36f48962aA")
  _ = writer.WriteField("chainId", "80001")
  _ = writer.WriteField("walletType", "non-custodial")
  _ = writer.WriteField("custodialWalletAccessToken", "xxxxxx-xxxx-xxxx-xxxx-xxxxxx")
  err := writer.Close()
  if err != nil {
    fmt.Println(err)
    return
  }

 

 

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, payload)

 

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Authorization", "xxxxxxxxxxxxxxxxx")
  req.Header.Add("DappId", "xxxxxxxxxxxxxxxxx")

 

  req.Header.Set("Content-Type", writer.FormDataContentType())
  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

 

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}

PreviousGet a NFT collection details created by a userNextGet all Minted NFT details in a smart contract

Last updated 11 months ago

Was this helpful?