Mint & Transfer Objects
Mint objects from templates and transfer them between wallets using the Event Bus.
What You'll Build
In this tutorial you'll mint a tokenized object from the template you created, inspect it, and then transfer it to another wallet via the Event Bus action system.
Step 1, Mint an Object
Objects are instances of templates. Minting creates a new object owned by your wallet with the default properties defined in the template.
curl -X POST https://api-testnet.dual.network/objects \\-H "Authorization: Bearer $DUAL_TOKEN" \\-H "Content-Type: application/json" \\-d '{"template_id": "your-template-id","num": 1,"properties": {"holder_name": "Alice Smith","points": 100}}'
The response returns an array of newly minted objects, each with a unique id and the properties you specified.
Step 2, Inspect the Object
Retrieve the full object details including its current state, ownership, and properties:
curl https://api-testnet.dual.network/objects/{objectId} \\-H "Authorization: Bearer $DUAL_TOKEN"
Key fields in the response:
Step 3, Transfer via the Event Bus
The Event Bus processes actions on objects. A transfer action changes the object's owner from your wallet to another.
curl -X POST https://api-testnet.dual.network/ebus/actions \\-H "Authorization: Bearer $DUAL_TOKEN" \\-H "Content-Type: application/json" \\-d '{"action_name": "Transfer","object_id": "your-object-id","new_owner": "recipient-wallet-address"}'
The Event Bus validates the action against the template's rules, updates the object's owner, and emits an event that can trigger webhooks.
Step 4, Verify the Transfer
Fetch the object again to confirm the owner field has changed:
curl https://api-testnet.dual.network/objects/{objectId} \\-H "Authorization: Bearer $DUAL_TOKEN"
Understanding the Action Pipeline
When an action is submitted to the Event Bus, it goes through several stages:
- Validation, The action is checked against template rules and permissions
- Execution, The state change is applied off-chain
- Sequencing, The Sequencer orders and batches the action
- Anchoring, The batch fingerprint is written on-chain
What's Next?
Now that you can mint and transfer, try Building a Web Face to give your objects a custom interactive display.