transfers api implementation + new serialization