The API Transcript specifically captures the interactions between the Truebit node and external data sources. It documents the requests made and responses received, providing a cryptographic audit trail for all off-chain data exchanges during an API Task.
Example
API Transcript Example
Execution Lifecycle Messages
root message
This root message is the first entry recorded in the execution transcript. It contains key information such as the execution ID, the timestamp of when the task requester initiated the execution, and the hash representing all the messages contained within the transcript.
List of all the messages generated during the API Task execution
Array of data
timestamp
Transcript query request timestamp. The moment when the task-requester calls the transcript query endpoint.
Number
msgHash
Transcript Hash
Text
signature
Truebit Verify Hub signature
v: Text
r: Text
s: Text
api_task_created
The api_task_created message is added to the transcript when the Truebit platform receives a new execution request from the task requester. It contains key information such as the execution ID, the original message sent by the requester (stored in the message field), and all data is signed by the Truebit Verify Hub.
Original message sent by the Task Requester: dispatch_api_task
Property
Description
Values
type
Message type
dispatch_api_task
taskId
API Task ID
Text
executionId
Current execution ID
Text
msgHash
Current message Hash
Text
signature
Truebit Verify Hub signature
v: Text
r: Text
s: Text
executionTimeout
Execution time out
number
ledgerName
Current ledger in usage
['avalanche']
blockHash
Current block hash
Text
blockNumber
Current block number
Number
chainId
Unique ID for blockchain identification
Number
taskRegistryContractAddress
Task registration Smart contract Address
Text
taskAuthorizationContractAddress
Task Authorization Contract Address
Text
taskRequesterAddress
Task Requester Address. This address will pay for the task execution
Text
taskPath
Provided path for task execution. It must contain the namespace and taskname
Text
taskVersion
Provided version Task for execution
Number
senderAddress
Truebit Verify Hub address
Text
input
API Task Input parameters
path: Endpoint Path
method: {POST, GET}
body: Body endpoint values
api_outcome
The api_outcome message is recorded in the transcript once Truebit Verify Hub receives a response from the TEE. It includes key information such as the execution ID, the original message from the TEE (stored in the message field), and all data is signed by the Truebit Verify Hub.
Should contain task-specific data (e.g., hash of input parameters, task ID).
platform.PCR0
Enclave image hash — proves which code was loaded.
platform.PCR3
Hash of the enclave image file (EIF). This proves exactly what code ran in the enclave.
platform.PCR4
Hash of the kernel and bootstrap configuration. Ensures the enclave environment itself wasn't tampered with.
timestamp
Proves when the attestation was generated
execution_completed
The execution_completed message is logged into the transcript once the entire execution process has been completed or a timeout has occurred (whichever happens first).
Property
Description
Values
type
Message type
execution_completed
executionId
Current execution ID
Text
transcriptHash
Execution lifecycle messages hash.
Text
status
Final execution status
["ReadyForInvoice", "Error"]
errorDetails
Only present if there was an error during the execution.
The details of any error thrown by the protocol or its services
signature
Truebit Verify Hub signature
v: Text
r: Text
s: Text
signerAddress
Truebit Verify Hub address
Text
timestamp
Message sent timestamp
unixTimestamp
Execution Complete Statuses
Status
Description
ReadyForInvoice
The API was executed, so the protocol is ready to process the execution's invoices
Error
There was an error during the API execution. Please check the errorDetails field.