handshake API