  BatPay is a proxy scaling solution for the transfer of ERC20 tokens. It is
suitable for micropayments in one-to-many and few-to-many scenarios, including
digital markets and the distribution of rewards and dividends. In BatPay, many
similar operations are bundled together into a single transaction in order to
optimize gas consumption on the Ethereum blockchain. In addition, some costly
verifications are replaced by a challenge game, pushing most of the computing
cost off-chain. This results in a gas reduction of the transfer costs of three
orders of magnitude, achieving around 1700 transactions per second on the
Ethereum blockchain. Furthermore, it includes many relevant features, like
meta-transactions for end-user operation without ether, and key-locked payments
for atomic exchange of digital goods.
