I read the doc and was able to send transaction by message(). But I couldn't find how to add output as SigLockedDustAllowanceOutput. It seems the default is SigLockedSingleOutput. The following the code I used to build tx. Please help, thanks.

for to_address in to_address_list:
        'address': to_address,
        'amount': amount
client = iota_client.Client()
message = client.message(

1 Answer 1


When you check the python reference instead of the specification reference (your link), you will see that message also takes dust_allowance_outputs in addition to outputs.

Alternatively (this is the route I was going) you can search the source code of the python bindings where they call the Rust with_cust_allowance_output method and you will see that it iterates over those exact dust_allowance_outputs. Of course this requires that you know how the Rust API is building dust allowance outputs, so probably the first way is the way to go.

Regardless, use dust_allowance_outputs instead of outputs and you should be good to go.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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