Skip to main content

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:

  1. Check the deed ID exists in the registry:

    GET /v1/registry/item/deed_2samLx0gNPgbb6o3JxKMSWSzz3E
  2. Verify the total amount makes sense for what you're receiving

  3. 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.