NFT Concepts

NFT Concepts

Overview

BlocWise API provides comprehensive NFT (Non-Fungible Token) management capabilities. This guide covers the core concepts of NFT standards, collection management, minting processes, and transfer operations.

Token Standards

{
    "supported_standards": {
        "ERC721": {
            "description": "Standard for non-fungible tokens",
            "features": [
                "Unique tokens",
                "Metadata support",
                "Individual transfers"
            ],
            "use_cases": [
                "Digital art",
                "Collectibles",
                "Gaming assets"
            ]
        },
        "ERC1155": {
            "description": "Multi-token standard",
            "features": [
                "Batch transfers",
                "Mixed fungible/non-fungible",
                "Gas efficient"
            ],
            "use_cases": [
                "Gaming items",
                "Mixed collections",
                "Large-scale NFTs"
            ]
        }
    }
}

Collections

Collection Types

{
    "collection_types": {
        "STANDARD": {
            "description": "Basic NFT collection",
            "features": [
                "Custom metadata",
                "Royalty support",
                "Transfer restrictions"
            ]
        },
        "SERIES": {
            "description": "Sequential NFT releases",
            "features": [
                "Batch minting",
                "Series tracking",
                "Edition numbers"
            ]
        },
        "DYNAMIC": {
            "description": "Updatable NFT metadata",
            "features": [
                "Metadata updates",
                "State changes",
                "Interactive elements"
            ]
        }
    }
}

Quick Implementation Example

POST /v1/nft/collections/create

Request:

{
    "name": "Awesome Art Collection",
    "symbol": "AAC",
    "description": "Limited edition digital art pieces",
    "standard": "ERC721",
    "royalty_percentage": 2.5,
    "metadata": {
        "external_url": "https://myproject.com",
        "image": "https://myproject.com/logo.png"
    }
}

Response:

{
    "status": "success",
    "data": {
        "collection_id": "col_123abc",
        "contract_address": "0x123...abc",
        "name": "Awesome Art Collection",
        "symbol": "AAC",
        "standard": "ERC721",
        "network": "ethereum",
        "created_at": "2024-03-15T10:00:00Z"
    }
}

Minting

Minting Types

{
    "minting_options": {
        "DIRECT": {
            "description": "Immediate minting",
            "features": [
                "Instant availability",
                "Direct ownership",
                "Higher gas costs"
            ]
        },
        "LAZY": {
            "description": "Deferred minting",
            "features": [
                "Gas-efficient",
                "Mint on demand",
                "Reduced upfront costs"
            ]
        },
        "BATCH": {
            "description": "Multiple NFT minting",
            "features": [
                "Cost-efficient",
                "Bulk creation",
                "Series support"
            ]
        }
    }
}

Minting Example

POST /v1/nft/mint

Request:

{
    "collection_id": "col_123abc",
    "recipient": "0x456...def",
    "metadata": {
        "name": "Awesome Art #1",
        "description": "First piece in the collection",
        "image": "ipfs://Qm...",
        "attributes": [
            {
                "trait_type": "Artist",
                "value": "John Doe"
            },
            {
                "trait_type": "Edition",
                "value": "1/100"
            }
        ]
    },
    "minting_type": "DIRECT"
}

Response:

{
    "status": "success",
    "data": {
        "token_id": "1",
        "transaction_hash": "0x789...ghi",
        "owner": "0x456...def",
        "metadata_uri": "ipfs://Qm...",
        "status": "MINTED"
    }
}

Transfers

Transfer Types

{
    "transfer_types": {
        "STANDARD": {
            "description": "Basic NFT transfer",
            "features": [
                "Single token transfer",
                "Direct ownership change"
            ]
        },
        "SAFE": {
            "description": "Protected transfer",
            "features": [
                "Receiver verification",
                "Contract validation",
                "Failure protection"
            ]
        },
        "BATCH": {
            "description": "Multiple NFT transfer",
            "features": [
                "Multiple tokens",
                "Gas optimization",
                "Bulk operations"
            ]
        }
    }
}

Transfer Example

POST /v1/nft/transfer

Request:

{
    "collection_id": "col_123abc",
    "token_id": "1",
    "from": "0x123...abc",
    "to": "0x789...ghi",
    "transfer_type": "SAFE"
}

Response:

{
    "status": "success",
    "data": {
        "transfer_id": "transfer_123abc",
        "transaction_hash": "0xabc...def",
        "status": "PENDING",
        "estimated_completion": "2024-03-15T10:15:00Z"
    }
}

Best Practices

Collection Management

  • Plan collection structure before deployment

  • Consider metadata storage solutions

  • Implement proper access controls

  • Plan for scalability

Minting Strategy

  • Choose appropriate minting type

  • Optimize metadata storage

  • Implement proper validation

  • Consider gas costs

Transfer Security

  • Verify recipient addresses

  • Use safe transfer methods

  • Implement proper authorization

  • Monitor transfer status

Next Steps

  • Advanced NFT Operations

  • Metadata Management

  • NFT Security Guide

  • API Reference

Last updated

Was this helpful?