The Account Property Bundler

How your users can submit zero fee transactions

Bundling is the process of packaging multiple child chain transactions into a single ChildChainBlock transaction on the parent chain.

A simple explanation of this process is provided in our wiki

In Ardor version 2.0.13 released today we improved the UI of the bundler page to make it easier to use. We now separate all the known bundlers of the node from the bundlers started by the current account and limit the bundlers listed, to the current chain, and sort them by rate.

However, what if you are a business (think exchange, pegged chain, merchant, crowd sale) and you want to allow zero transaction fees for your child chain users? If you setup a zero fee bundler it will bundle all this child chain transactions not only your users transactions. We had to somehow allow bundlers to filter out transactions they don’t want to bundle.

The initial release of Ardor included a PersonalBundler which when configured bundles only the transactions submitted by the bundler account itself. However exchanges need more flexibility, for example if an exchange has separate accounts for Ardor, Ignis, BitSwift and so on. It makes a lot of sense for the account holding the Ardor to perform the bundling for the withdrawal transaction submitted for the child chains. Since this account is practically guaranteed to always be able to pay the Ardor transaction fees necessary for bundling.

This is where the Account Property Bundler comes into play. As explained in the 2.0.13 changelog:

“Added AccountPropertyBundler add-on, which only bundles transactions sent by accounts having the “bundling” property set on them by the bundler. To enable, set nxt.bundlingFilter=nxt.addons.AccountPropertyBundler. This will apply to all bundlers started on this node.”

You can see below how account ARDOR-V4D7-D3XW-JX9Z-EAC8K set account properties on two other accounts. Once this account will setup the configuration and start a bundler, it will only bundle transactions submitted by one of these accounts.

It goes without saying that this an advanced feature which is only relevant for businesses who need more control over the bundling process. If you just want to bundle transactions for a specific chain, you can simply start a bundler and provide the child per parent exchange rate.

Summary

The unique parent-child chain architecture of Ardor, enables businesses to bundle zero fee transactions so that their users no longer need to pay transaction fees. This unique function, available only in Ardor, finally allows decentralized applications to reach main stream adaption.