The 31Third batch trade smart contracts enable the execution of multiple transactions together as one bundle and collect a configurable fee in basis points of the receiving currency of the trade. The current implementation supports the following:


For easily integrating with other liquidity sources, such as Aave, Curve, Balancer, and more in the future, the contracts utilize the adapter pattern and register the concrete implementations in a registry. The architecture can be seen in the following diagram:
Contract architecture