Create and transfer one NFT on Hedera testnet

Follow the stages of a testnet NFT exercise: create the collection, mint one serial, associate the receiver and verify the transfer and receipt.

Content reviewed on

This exercise follows the lifecycle of one NFT: create its collection, mint a serial, prepare a receiving account and transfer the NFT. Use testnet and disposable test credentials throughout.

For the executable setup and current SDK calls, open Hedera's first NFT tutorial. Its example includes several metadata entries. For this one-NFT exercise, prepare exactly one metadata entry and mint only that entry. Use this page to understand the outputs you should check at each stage.

Step 1: Prepare the test accounts

Create the test accounts required by the official exercise and configure the learning project for testnet. Keep account IDs separate from private keys. Store credentials locally outside source control.

Label every recorded identifier with the network. Testnet assets are for development and do not become mainnet assets by using the same names.

Step 2: Create the collection token

The creation transaction establishes the NFT collection and its configuration. Set the token type and the supply authority required by the exercise, then inspect the confirmed result.

Record the returned token ID. This is the collection identifier you will use for the remaining operations. It is not yet proof that a serial has been minted.

Step 3: Mint one serial

Prepare the metadata bytes expected by the exercise and submit the mint transaction using the required supply authority. Read the receipt and record the actual serial returned.

The NFT is now identified by the collection token ID and that serial. Do not hardcode serial 1 as a general rule for every collection or subsequent run.

For metadata used in a real release, review HIP-412 and file preparation. Metadata update capabilities depend on the token configuration; do not assume all NFT metadata is universally immutable.

Step 4: Prepare the receiver

The receiving account must be able to hold the collection token. Follow the association step or the relevant automatic-association behavior in the current exercise.

Association and approval are different concepts. Associating the token prepares the account to receive it; it does not transfer the NFT by itself.

Step 5: Transfer and check the outcome

Build the transfer with the correct sender, receiver, token and serial. Inspect the request before authorizing it. After submission, keep the transaction ID and read its result.

Check the new owner through a testnet mirror-node lookup. Use the testnet host for this step, not the mainnet host shown in that guide's default example.

If you run the exercise again

Keep the output identifiers from each run. A new token creation makes another collection; another successful mint can create another serial. Do not replay an uncertain operation simply to get a cleaner screenshot or log.

Test networks can reset, removing state your earlier exercise relied on. Check the current testnet information and rebuild the disposable setup when necessary.

Before adding transaction retries to an application, read transaction status and uncertain results.