A computer implemented method for providing a host terminal emulation, HTE, application on an electronic device, the electronic device comprising a volatile storage module, a user input module and a network interface module, the method comprising: generating a software card acceptance device, SCAD, instance of the HTE application and a local risk engine instance of the HTE application in the volatile storage module; receiving user credentials from the user input module; determining, by the local risk engine instance of the HTE application, that no security event is raised; based on determining that no security event is raised, transmitting an authentication request message to a remote data centre via the network interface module, the authentication request message including the user credentials; receiving an authentication response message from the remote data centre, the authentication response message including an indication as to whether authentication was successful; and based on the authentication being successful, receiving at least one encryption key from the data centre; storing the at least one encryption key in the volatile storage module; provisioning the SCAD instance of the HTE application with the at least one encryption key to act as a payment terminal; receiving, at the electronic device, cardholder data from a payment instrument; encrypting the cardholder data using the at least one encryption key; transmitting a transaction authorization request message to the remote data centre, the transaction authorization request message including the encrypted cardholder data; receiving a transaction response message from the remote data centre; and based on the received transaction response message, indicate either success or failure of the transaction to a cardholder. generating a software card acceptance device, SCAD, instance of the HTE application and a local risk engine instance of the HTE application in the volatile storage module; receiving user credentials from the user input module; determining, by the local risk engine instance of the HTE application, that no security event is raised; based on determining that no security event is raised, transmitting an authentication request message to a remote data centre via the network interface module, the authentication request message including the user credentials; receiving an authentication response message from the remote data centre, the authentication response message including an indication as to whether authentication was successful; and based on the authentication being successful, receiving at least one encryption key from the data centre; storing the at least one encryption key in the volatile storage module; provisioning the SCAD instance of the HTE application with the at least one encryption key to act as a payment terminal; receiving, at the electronic device, cardholder data from a payment instrument; encrypting the cardholder data using the at least one encryption key; transmitting a transaction authorization request message to the remote data centre, the transaction authorization request message including the encrypted cardholder data; receiving a transaction response message from the remote data centre; and based on the received transaction response message, indicate either success or failure of the transaction to a cardholder.