Deed Management Best Practices
This tutorial covers best practices for managing deeds throughout their lifecycle.
Understanding Deed Structure
A deed output has three essential components:
+[[amount]].[[itemID]].[[secret]]
- Amount: The quantity of units in this deed (e.g., number of tickets)
- ItemID: The unique identifier for the deed type
- Secret: The private key that grants control over the deed
Creating Secure Deeds
When minting new deeds, follow these practices:
1. Use Strong Secrets
Choose secrets that are:
- Randomly generated with a secure crypto library
- Not reused across different deeds
2. Include Descriptive Metadata
Add clear, concise metadata to help identify the purpose of the deed:
{
"metadata": "VIP Access Pass - Annual Conference 2024 - Includes lunch and workshop access",
"outputs": ["+50.PLACEHOLDER.8f45a2c1b97d3e6f0582d4a9c7b3e1f2"]
}
Transferring Deeds Securely
When transferring deeds, follow these steps:
1. Split Only What You Need to Transfer
If you have a deed with 100 units but only need to transfer 25, split it first:
{
"inputs": ["+100.deed_2samLx0gNPgbb6o3JxKMSWSzz3E.my_original_secret"],
"outputs": [
"+25.deed_2samLx0gNPgbb6o3JxKMSWSzz3E.transfer_secret",
"+75.deed_2samLx0gNPgbb6o3JxKMSWSzz3E.my_new_secret"
]
}
2. Use Secure Channels for Transfer
When sharing the output with the recipient, use secure, encrypted channels:
- End-to-end encrypted messaging apps
- Encrypted email
- Secure file-sharing services
3. Instruct Recipients to Update Secrets Immediately
Make sure recipients know to update the secret as soon as they receive the deed:
{
"inputs": ["+25.deed_2samLx0gNPgbb6o3JxKMSWSzz3E.transfer_secret"],
"outputs": ["+25.deed_2samLx0gNPgbb6o3JxKMSWSzz3E.recipients_own_secret"]
}
Managing Multiple Deeds
As you accumulate multiple deeds, consider these management techniques:
1. Consolidating Similar Deeds
If you have multiple small deeds of the same type, you can consolidate them:
{
"inputs": [
"+10.deed_2samLx0gNPgbb6o3JxKMSWSzz3E.secret1",
"+15.deed_2samLx0gNPgbb6o3JxKMSWSzz3E.secret2",
"+5.deed_2samLx0gNPgbb6o3JxKMSWSzz3E.secret3"
],
"outputs": ["+30.deed_2samLx0gNPgbb6o3JxKMSWSzz3E.new_consolidated_secret"]
}
Verifying Deed Authenticity
Before accepting a deed, always verify its authenticity:
-
Check the deed ID exists in the registry:
GET /v1/registry/item/deed_2samLx0gNPgbb6o3JxKMSWSzz3E
-
Verify the total amount makes sense for what you're receiving
-
Review the metadata to confirm the deed's purpose
Summary
By following these best practices, you can:
- Create secure deeds with strong secrets
- Transfer deeds safely without risking loss
- Efficiently manage multiple deeds
- Verify the authenticity of received deeds
Remember that the security of your deeds depends on keeping your secrets confidential and ensuring recipients update secrets immediately after transfer.