A computer-implemented method comprising: generating, by an exchange server hosting a digital asset exchange service, an encrypted multi-signature payment account, wherein the payment account is encrypted according to a first key generated by a client computer, a second key generated by the exchange server, and a third key generated by an oracle server, and wherein the payment account is accessible when decrypted by at least two keys of the first key, the second key, and the third key; monitoring, by the exchange server, a first public blockchain asset record, a transfer of a first digital asset from the client computer to the encrypted multi-signature payment account; monitoring, by the exchange server, a second public blockchain asset record, a transfer of a second digital asset from a second client computer, to an account associated with the client computer; and upon verifying, by the exchange server, via the second public blockchain asset record, a transfer of the second digital asset to an account associated with the client computer: signing, by the exchange server, the first blockchain of the first digital asset, wherein the oracle server signs the first blockchain using the third key, the method being characterised in that the step of generating the second key includes receiving, by the exchange server, from the client computer a first seed value, and generating, by the exchange server, the second key based upon the first seed value received from the client computer, and the step of generating the third key includes generating, by the exchange server, a second seed based upon a portion of the second key generated by the exchange server, and transmitting, by the exchange server, the second seed and the first seed to the oracle server, wherein the oracle server generates the third key based upon the first seed and the second seed. generating, by an exchange server hosting a digital asset exchange service, an encrypted multi-signature payment account, wherein the payment account is encrypted according to a first key generated by a client computer, a second key generated by the exchange server, and a third key generated by an oracle server, and wherein the payment account is accessible when decrypted by at least two keys of the first key, the second key, and the third key; monitoring, by the exchange server, a first public blockchain asset record, a transfer of a first digital asset from the client computer to the encrypted multi-signature payment account; monitoring, by the exchange server, a second public blockchain asset record, a transfer of a second digital asset from a second client computer, to an account associated with the client computer; and upon verifying, by the exchange server, via the second public blockchain asset record, a transfer of the second digital asset to an account associated with the client computer: signing, by the exchange server, the first blockchain of the first digital asset, wherein the oracle server signs the first blockchain using the third key, the method being characterised in that the step of generating the second key includes receiving, by the exchange server, from the client computer a first seed value, and generating, by the exchange server, the second key based upon the first seed value received from the client computer, and the step of generating the third key includes generating, by the exchange server, a second seed based upon a portion of the second key generated by the exchange server, and transmitting, by the exchange server, the second seed and the first seed to the oracle server, wherein the oracle server generates the third key based upon the first seed and the second seed.