I'm trying to understand the Open Assets transaction example given here.

enter image description here

Everything makes sense, more or less, until the end of the description:

Output 6 receives the first 3 units of input 5. Input 5 has the asset ID A2 so the asset ID A2 is assigned to output 6.

What happens to the remaining 6 units of Asset A2? The unit count starts at 9 for input 5, and output 6 claims 3 units. That leaves 6 units unaccounted for. Input 5 is spent after this transaction, so it's not clear how it can be reclaimed.

What am I missing?

  • Did you forget to add something? "Also"? – morsecoder Jul 23 '15 at 22:11
  • @StephenM347 No - just a stray word from earlier edit. Fixed it. – Rich Apodaca Jul 23 '15 at 23:51

I had the exact same question when reading over that specification document. I'm not sure if that is a mistake in the example, but the conclusion I reached is that the colored coins are destroyed.

I tested this with the Python Open assets library and the transaction that claimed less than the full possible number of assets was still a valid colored coins transaction.

So, unlike normal coins where the 'leftovers' are given to the miners, unclaimed open assets are destroyed.


Unclaimed Open Assets units are indeed destroyed, which (depending on the use case) could be a problem for you. Other protocols such as CoinSpark (ours), Counterparty and Omni Layer don't have this accidental destruction problem, because the assets always go somewhere by default, if they are not explicitly reference.

In CoinSpark this default place is the last non-OP_RETURN transaction output. In Counterparty and Omni, the default place is the addresses where they were originally kept (they can do this because in their model, assets sit at an address, rather than in a transaction output).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.