Implement a transations api