APE client - pure JS