pull out blockchain API as a separate module