An apparatus, comprising: a device including at least one memory adapted to store run-time data for the device, and at least one processor that is adapted to execute processor-executable code that, in response to execution, enables the device to perform actions, including: identifying a first enclave (371, 470) for use by a first counterparty (316, 416) to a smart contract, wherein an enclave is an isolated, private execution environment in which code is run and results of secure execution are attested to have been run unaltered and in private by being signed using one or more secrets specific to the enclave, and wherein a smart contract is computer code that runs through one or more cryptlets, a cryptlet being code having to be run in an enclave at least during certain portions of time; identifying a second enclave (372, 470) for use by a second counterparty (317, 417) to the smart contract; causing secrets associated with the first counterparty to be securely provided to the first enclave; causing secrets associated with the second counterparty to be securely provided to the second enclave; causing a cryptlet of the smart contract to be provided to the first enclave and to be run in the first enclave using the secrets associated with the first counterparty; causing the cryptlet to be provided to the second enclave and to be run in the second enclave using the secrets associated with the second counterparty; receiving a payload from the first enclave as output of the run of the cryptlet in the first enclave; receiving a payload from the second enclave as output of the run of the cryptlet in the second enclave; and causing validation to be performed for a plurality of payloads, wherein the plurality of payloads includes the payload from the first enclave and the payload from the second enclave. identifying a first enclave (371, 470) for use by a first counterparty (316, 416) to a smart contract, wherein an enclave is an isolated, private execution environment in which code is run and results of secure execution are attested to have been run unaltered and in private by being signed using one or more secrets specific to the enclave, and wherein a smart contract is computer code that runs through one or more cryptlets, a cryptlet being code having to be run in an enclave at least during certain portions of time; identifying a second enclave (372, 470) for use by a second counterparty (317, 417) to the smart contract; causing secrets associated with the first counterparty to be securely provided to the first enclave; causing secrets associated with the second counterparty to be securely provided to the second enclave; causing a cryptlet of the smart contract to be provided to the first enclave and to be run in the first enclave using the secrets associated with the first counterparty; causing the cryptlet to be provided to the second enclave and to be run in the second enclave using the secrets associated with the second counterparty; receiving a payload from the first enclave as output of the run of the cryptlet in the first enclave; receiving a payload from the second enclave as output of the run of the cryptlet in the second enclave; and causing validation to be performed for a plurality of payloads, wherein the plurality of payloads includes the payload from the first enclave and the payload from the second enclave.