An NFT marketplace provides an e-commerce site for transacting with NFTs—unique digital objects whose ownership, provenance, and history are recorded using smart contracts in cryptographically-secured digital ledgers.
As a result they can't be copied, replaced, altered, or otherwise tampered with. They can be issued (minted), transferred to others (as a sell/buy transaction or an auction), and burned (destroyed). Ownership of an NFT provides access to a unique digital file that contains a representation of the asset—often as an image, video, 3D object, data file, or other forms of digital assets.
NFTs can be used to record and transfer ownership of digital artwork, unique photographs or videos, virtual trading cards, images and product registration of physical objects. They can be minted to include content of specific moments from sports games or concert events with unique personalization, but can also represent ownership (often fractional) of real estate, investments following Environment, Social, and Governance (ESG) principles, product content and manufacturing history, certifications and qualifications, and much more.
An NFT Marketplace works similar to an e-commerce site, but it uses a blockchain and content management services as part of its back-end infrastructure.
Oracle customers currently use NFTs minted on the Oracle Blockchain Platform to provide:
- A marketplace for iconic photographs from a global news agency
- An enriched membership experience in an international music star's fan club
- Trading personalized digital objects related to a US football team and the movie about the iconic family the owned the team franchise
This solution shows you an example of how you can use the Oracle Blockchain Platform and Oracle Cloud Infrastructure to build an NFT marketplace.
This architecture shows an example of an NFT marketplace in Oracle Cloud Infrastructure (OCI). Use this architecture to build an NFT marketplace using Oracle Blockchain Platform on Oracle Cloud Infrastructure.
The following are the key components of an NFT marketplace:
- Blockchain platform providing decentralized ledger and enabling smart contracts for issuing and trading NFTs
- Content management platform to enable storage, development and assembly of the digital objects that make up an NFT
- A UX platform to create a marketplace UI and workflow associated with minting NFTs, browsing available NFTs, buy/sell transactions, and payment handling
The following diagram shows the core services and some of the optional services you can incorporate as needed.
Description of the illustration build-nft-marketplace-blockchain.png
The NFT marketplace is a custom-built Visual Builder Cloud Service (VBCS) application with a web and mobile UI. You can tailor it's scope and functionality to your specific organizational needs. You can integrate it with an existing customer portal or other enterprise Customer Experience (CX) applications and systems. You can design the UI to have specific user user flows involving NFTs for a consumer collectibles CX versus an application for B2B data set trading versus an ESG investments portal. This solution playbook provides specific instructions for enabling a Visual Builder low-code development infrastructure using the APIs for:
- Content management using Oracle Content Management and creation plug-ins
- NFT minting, listing, and transfer using Oracle Blockchain Platform REST APIs (using the OCI API Gateway)
- Payment processing using the Oracle Integration PayPal adapter or the Oracle CX Commerce platform
- Optional data visualizations and dashboards using Oracle Analytics cloud
The architecture has the following key components:
An Oracle Cloud Infrastructure region is a localized geographic area that contains one or more data centers, called availability domains. Regions are independent of other regions, and vast distances can separate them (across countries or even continents).
A tenancy is a secure and isolated partition that Oracle sets up within Oracle Cloud when you sign up for Oracle Cloud Infrastructure. You can create, organize, and administer your resources in Oracle Cloud within your tenancy. A tenancy is synonymous with a company or organization. Usually, a company will have a single tenancy and reflect its organizational structure within that tenancy. A single tenancy is usually associated with a single subscription, and a single subscription usually only has one tenancy.
- Oracle Blockchain
Oracle Blockchain Platform is a managed blockchain service, which provides a tamper-proof distributed ledger to record issuance (minting) of NFTs and maintain NFT transaction history, and infrastructure nodes to run smart contracts for NFT transactions. It is a preassembled, permissioned platform based on Hyperledger Fabric that can operate on its own or as part of a network consisting of validating nodes (peers). These nodes update the ledger and respond to queries by running smart contract code—the business logic that runs on the blockchain.
External applications invoke transactions or run queries through client SDKs or REST API calls, which prompt selected peers to run smart contracts, such as the
ERC-721contract generated and deployed in the Develop section. Multiple peers endorse (digitally sign) the results, which are then verified and sent to the ordering service. After consensus is reached on the transaction order, transaction results are grouped into cryptographically secured, tamper-proof data blocks and sent to peer nodes to be validated and appended to the ledger.
With Oracle Blockchain Platform, you complete some simple instance creation steps, and then Oracle takes care of service management, patching, monitoring, and other service lifecycle tasks. Service administrators can use the Oracle Blockchain Platform web console or its REST APIs to configure the blockchain and monitor its operation. See the Explore More section to learn more.
- Oracle Content Management (OCM)
Oracle Content Management offers marketers, developers, and business leaders a robust content management system built on an API-friendly platform. It offers security and efficiency for creating, managing, storing, and delivering digital assets and sites that scale to keep up with your growing business needs and complexities.
OCM provides a platform that includes a repository for content items and their indexable metadata attributes using a hierarchical structure for projects and folders. It also provides plug-ins to manage the collection, assembly, and an optional review and approvals workflow before the NFT is published. OCM provides Sites, which can be used to create a custom NFT creation website.
- API gateway
Oracle API Gateway enables you to publish APIs with private endpoints that are accessible from within your network, and which you can expose to the public internet if required. The endpoints support API validation, request and response transformation, CORS, authentication and authorization, and request limiting.
Oracle Functions is a fully managed, multitenant, highly scalable, on-demand, Functions-as-a-Service (FaaS) platform. It is powered by the Fn Project open source engine. Functions enable you to deploy your code, and either call it directly or trigger it in response to events. Oracle Functions uses Docker containers hosted in Oracle Cloud Infrastructure Registry.
- Oracle Visual Builder Cloud Service (VBCS)
Oracle Visual Builder Cloud Service is a hosted environment for your application development infrastructure. It provides an open-source standards-based integration to develop, collaborate on, and deploy applications within Oracle Cloud. This enables users to rapidly create web and mobile applications with minimal to no coding.
In this solution, VBCS can be used to create the marketplace application which supports user journeys: registering and creating accounts, browsing available NFTs, and buying/selling NFTs. The users can interact with the marketplace using a web browser or mobile application.
This architecture supports the following optional components, which provide a better experience and a more complete solution that easily plugs into the services discussed:
- Oracle Mobile Hub:
Mobile Hub is a cloud-based service that provides a unified hub for developing, deploying, maintaining, monitoring, and analyzing your mobile apps and the resources they rely on. You can provision, monitor, and maintain Mobile Hub instances. In this solution, Mobile Hub registers users and facilitates mobile app access to the marketplace.
- Oracle CX
Oracle Commerce is a scalable, flexible e-commerce platform designed specifically to run on Oracle Cloud. The service provides the infrastructure and tools necessary to build a highly customizable, feature-rich storefront for your business. In this solution, Oracle Commerce handles user registration and payment gateway integration.
- Autonomous database
Oracle Cloud Infrastructure autonomous databases are fully managed, preconfigured database environments that you can use for transaction processing and data warehousing workloads. You do not need to configure or manage any hardware, or install any software. Oracle Cloud Infrastructure handles creating the database, as well as backing up, patching, upgrading, and tuning the database.
- Oracle Analytics
Oracle Analytics Cloud is a scalable and secure public cloud service that provides a full set of capabilities to explore and perform collaborative analytics for you, your workgroup, and your enterprise. With Oracle Analytics Cloud you also get flexible service management capabilities, including fast setup, easy scaling and patching, and automated lifecycle management. In this solution, Oracle Analytics provides data visualizations and dashboards related to the marketplace transactions, trends, financial reporting, and forecasting.
Oracle Cloud Infrastructure FastConnect provides an easy way to create a dedicated, private connection between your data center and Oracle Cloud Infrastructure. FastConnect provides higher-bandwidth options and a more reliable networking experience when compared with internet-based connections.
About Required Services and Roles
This solution requires the following services and roles:
|Service Name: Role||Required to...|
|Oracle Blockchain Platform: Admin||
|Oracle Blockchain Platform: REST_Client||Deploy and test smart contracts (chaincode)|
||Manage and administer content|
|Visual Builder: Service Developer||
See Learn how to get Oracle Cloud services for Oracle Solutions to get the cloud services you need.
Learn about how NFT editors, admins, and Marketplace users interact with the marketplace application hosted on Oracle Cloud.
Create NFT Content
NFT editors create NFT content by collecting the content, applying any desired personalization, and then assembling them into a digital object or dataset using Oracle Content Management. The content goes through a review and approval process. After a content or dataset is approved, they can publish the NFT using an attribute-driven publishing process that integrates by using the Oracle Content Management webhook with Oracle Blockchain
Platform to trigger an NFT minting transaction. The transaction uses
ERC-721 chaincode using an API call, as described and illustrated with samples in the Develop section.
They can publish a single NFT or a batch of NFT objects using external tools, such as Photoshop scripts or Adobe Creative Cloud. These tools can manage multiple layers in the object and programmatically vary content of specific layers to create unique NFTs. Using automation you can submit a batch of 1000 NFT objects to Oracle Content Management and mint them as an NFT drop using the webhook and ERC-721 chaincode on Oracle Blockchain Platform.
You can also build a website for interactions involved in assembling and publishing the NFT. Alternatively, you can use third-party platforms to support content editing and creation of NFT objects, and submit them to Oracle Content Management using REST APIs.
Manage Marketplace Content
Marketplace admins monitor marketplace operations and content, moderate users, and manage configuration settings for the marketplace, specific users, or NFT transactions as well as payments integrations.
Purchase, Sell, Trade NFTs
Marketplace users browse for NFTs, check on and register for upcoming drops, and finally buy the NFTs that become available, either as a direct sale transaction or through an auction. To facilitate this process, Oracle Blockchain
Platform provides APIs to access minted NFTs, custodial wallets where the purchased NFTs are held, and
ERC-721 smart contracts to complete transfers from one wallet to another. Buyers can then access their custodial wallets using APIs to see which NFTs they own, display their provenance metadata and transaction history, and optionally resell them if they have a secondary market capability.
Marketplace users can optionally transfer the purchased NFTs to a third-party marketplace or a non-custodial wallet by burning (destroying) the NFT in the Oracle Blockchain Platform ledger. They can then re-mint it on the target marketplace by leveraging Oracle Blockchain Platform metadata and using transaction history as the metadata for the NFT clone minted on the other platform. Such NFT bridges are not yet standardized between different platforms, so the exact steps involved in re-minting the NFT would depend on the specific third-party platform.
An alternative to a custom-built marketplace UI is leveraging white-label NFT marketplace capabilities available from Oracle partners. These are typically designed for enterprise requirements and can be tailored for your organizational needs. They can also be extended with custom integrations to a variety of existing systems, specific financial and accounting rules, user and content management policies, and much more.
In the next section, you will learn how to use the Blockchain App Builder sample app to build your own NFT marketplace.