# Non-Consensus Transcript

### Overview

In a **Non-Consensus Resolution Transcript**, the participating nodes initially fail to reach consensus on the task result. Each **message** within the transcript represents a specific protocol step, detailing how nodes interacted, exchanged results, and how discrepancies were detected and addressed.

This example illustrates a **Function Task Execution Transcript in which multiple nodes submitted differing outputs**. Since responses were inconsistent, the system initiated an **adjudication process** — a verification phase designed to identify which node produced the erroneous response. Through this process, the correct output was established and certified, ensuring that the task requester received a final, verified, and trustworthy solution.

<details>

<summary>Function Task Transcript</summary>

{% code fullWidth="true" expandable="true" %}

```json
{
  "executionId": "536bd861-88ff-49dc-9849-d2f909d2a3d4",
  "transcript": [
    {
      "type": "task_created",
      "executionId": "536bd861-88ff-49dc-9849-d2f909d2a3d4",
      "message": {
        "type": "dispatch_task",
        "taskId": "rs_23078871426ac1b8aca9d018638057a9af53b3d45e6fb79aeaa5183a8fc39d14",
        "executionId": "536bd861-88ff-49dc-9849-d2f909d2a3d4",
        "msgHash": "706ac0a5ce1c9f2cf639169e662695e8d56ec46862f63ee05e342d5a1830bdd4",
        "signature": {
          "v": 27,
          "r": "c18facb8f7426abef99230d7c7645e8f537e98bd1514435e6a00585aa7f1cd3c",
          "s": "5aea4449077acceb54dc14d8a716799b5d317de0cc8825dd4ba31d6a81ba7fc9"
        },
        "limits": {
          "gas": "1099511627776",
          "call": "65536",
          "frame": "524288",
          "memory": "1024"
        },
        "econParams": {
          "reward": "0",
          "requiredSolutions": 4,
          "totalSolutions": 4,
          "executionTimeout": 30000
        },
        "workers": {
          "blockNumber": 70259248,
          "selectionStrategy": "default",
          "setNodes": [
            "0x************************************3F36",
            "0x************************************FB34",
            "0x************************************ad50",
            "0x************************************aF86"
          ]
        },
        "dispatcherTimestamp": 1760379056,
        "taskRequesterTimestamp": 1744817190,
        "ledgerName": "avalanche",
        "blockHash": "0x************************************************************c648",
        "blockNumber": 70259248,
        "chainId": "43114",
        "nodeRegistryContractAddress": "0x************************************3efC",
        "taskRegistryContractAddress": "0x************************************5f5A",
        "taskAuthorizationContractAddress": "0x************************************96E4",
        "taskRequesterAddress": "0x************************************C8F7",        
        "taskPath": "/69e0edc0/fibo",
        "taskVersion": 1,
        "senderAddress": "0x************************************058B",
        "input": "20"
      },
      "msgHash": "982242e3d07b0e28cf60ac5d3af129e79d873b94ca31f4e0f56aad541b80db9b",
      "signature": {
        "v": 28,
        "r": "de246e3438bd04dc9a3ff759cca71c4d28bf87a2040b5210c44da772184d8b95",
        "s": "7b13fa7de90a9762df826d434217097294d5f6178680dc4236906c7acc3d40cb"
      },
      "publicKey": "04ada802731c637d7275175737881b937c6b107d2c4aef080d387f28ac74f79dc33e0e83759ffe621ee24c8268d25d1abd90e6986476499d0866a2339270e2582b",
      "sequencerAddress": "0x************************************2F7b",
      "timestamp": 1760379056939
    },
    {
      "type": "node_outcome",
      "executionId": "536bd861-88ff-49dc-9849-d2f909d2a3d4",
      "message": {
        "executionId": "536bd861-88ff-49dc-9849-d2f909d2a3d4",
        "senderAddress": "0x************************************058B",
        "encryptedSolution": {
          "iv": "ce53172f57cd4f9fcec9584756067cb7",
          "ephemPublicKey": "0427db1fefeedbcaa395107f7b2c5409dc156064b4d67877ff1ddd8d180679033345fb933dc874ca17c763d99f075318b32feeac9e74e6a41bae12d47ca206d168",
          "ciphertext": "673045913c213f9b0892edda574621192d05710c9718428d9f144b02122cb22d3d316370662e5bbcf1e511cd33202279b7128e65c0edc20367fcb4175cc56a74ff0253910bb647925aaad1244b46ba599b8e733681ce01426dc86047d51d7e79070219d790fc0e855d4621129b260d7288ec50bb85e5994a890bff41cfa3f71ddf041cebf612dd15f43d8b437a881fbf9b5eb4a96f39b404dc0a29b4fbef671a34c7a50f497e12614e80114d6fda206ddc6647c66638c9ea6bb09b6b48e6019469046883ae30b9ef7b48f1f0b93ca50179cf3685a559903debd46455818665e9a99db970ec6e3cc3da4cf69c497897c824cd417f219c5de5531ae548ef2cb89c58f45e08aec8ac7878fdc3285f1502f58b4df5aff9772ab3fe546aeb0bbbff55d709faba0e1a7c62188405c80a20b43522778a86c3c69a41ac0f735b310cb1613949c83958c774092eb7ec33c0b664c7809fa91560496848a172d7a68a76cae127d4196f0e30c067bf1c7b26a482810fab83299f49e34875047e41c7a1df8062e3ded7e1fb0152f0d44f61e2e1953e6339215b44c44e8db672a6b4b18b5afabbcd7b50c01e136986159bf49255eb37050905444e9694faa3df610c1d27868978b0c95a4b223739bbfc3eb1e49fc10090d293d157d716876e370aeb6e59242159",
          "mac": "5c3d38f9956d57c4d4c001ab4ee9624673bbaaa7bccaa6e7d5c61268dc144bed"
        },
        "msgHash": "fe5201fbea699696a539f86ac71a7336cd8594b39ef45ca5e43e2983129fe327",
        "signature": {
          "v": 28,
          "r": "8c24812005a71ed83338ccdf3308c138c38d23839552ba2c10d33a3407a6c4fa",
          "s": "1c4ae94e7442f88473f7f6da5a189b51951d49d03709b1082d88f375e72ab9d8"
        }
      },
      "msgHash": "8cdf5bb515dacf9d5fa1bd72c58de80ac9de81cf6947a242baefa9e09504607f",
      "signature": {
        "v": 28,
        "r": "77105d7d29f662ca52a283ebed283477068c51ba2f2878c62ddc7f1d2d491991",
        "s": "61b5ab580da0905d33f290dce8cdc23822c1e9a208949e71af94afe38613582d"
      },
      "sequencerAddress": "0x************************************2F7b",
      "timestamp": 1760379057169
    },
    {
      "type": "node_outcome",
      "executionId": "536bd861-88ff-49dc-9849-d2f909d2a3d4",
      "message": {
        "executionId": "536bd861-88ff-49dc-9849-d2f909d2a3d4",
        "senderAddress": "0x************************************ad50",
        "encryptedSolution": {
          "iv": "6d390967234c46a624fbf455f7093a9a",
          "ephemPublicKey": "04e4705f4b2361ca0c4c5272d63eecfb08e84bf4819f68c864910641e940d1593a1a164948360a9873d2d4a7f204dcaabccae9dc010cfb1956279e66f01401cb7f",
          "ciphertext": "c42e7656d9628b43d2f25ee1593ee6c6fc98b84c916928355030ca25b851a430f67ab39a7e884141e798afe39ac0a5716b19fc16f446a778c48444d28bb5f4c28d2a018003a08a86e0420307dff68971ef96cfc5ead26be54af056b41eb34b66326cce9b4b80e410280eb19a978aa95dc19400a11b32f79a6cddc91b55a2f13e3b2b8f48c23be2a353a8c3c3761882a931291a6ca39383ba991378c7a1859c0d33374020eec27e1a0651b0b36e07c609f74936007ea7322fe9d98dcc23485de18f61443f75d81482f9229609a4735c7bda35e401542236b6a7185f3486f85be5ae8c269109006abb40d1b6cce318e41574bbfabd041cc335e9ac68764d8bee3b7a99a06424fc6ea879ac2f8d4681eb59f9c3272aa287b7cc994e1426935839ecba152831708e2b97f3a3daccebdf577594edd4cfd3fedb72ddf639f326a976b7398ed3b730dcfe0e851f0292c8d5383bd99fcb2ccf862a7b7294cb8cbaf44c3b0c092d5f8734e02dc968d852c62c680744fad7231b179cd736737759286cc4fafd19729fa586f6260fd5df5076cf3d280d76d1bed96fbb22b5c120d679280eef06f835f9809ab2ba8eb06356f1f7076af222c9512e32713d140dd40100ca2abbc6e3798093a0d99de7796c98c987fd8b667c833dc74c8f422c7fe0c0b70598eb",
          "mac": "3d31e0c51330667596a8c30fa91f364ac3c5eba31db0395144ba45836ac2ddd7"
        },
        "msgHash": "53bc91e55362fdc625b0a129e420bbf187c9cafa44dd6ca425591ddbc0a7787f",
        "signature": {
          "v": 27,
          "r": "ec3067e9b008aea66f46c269d4fbb4238d43d3641693db6a2ed17e3f7fa7f0aa",
          "s": "1b33ffbb15972de3f529bab0d27a7c8924fa66171ce01643e7a7fc16a61ebdb0"
        }
      },
      "msgHash": "846a1fb5b50882f48d7cc247d9563a3d6487f21e2091f5573426578bf87eb5ef",
      "signature": {
        "v": 28,
        "r": "9945c37377df4b840ac1937b2ea8cf444baef0522ce6cb59e238be7353976b62",
        "s": "7a88bbaf2dcbe01f82d8366a9698188adcc7d0dff63f401f1e02200b1eca6c19"
      },
      "sequencerAddress": "0x************************************058B",
      "timestamp": 1760379057170
    },
    {
      "type": "node_outcome",
      "executionId": "536bd861-88ff-49dc-9849-d2f909d2a3d4",
      "message": {
        "executionId": "536bd861-88ff-49dc-9849-d2f909d2a3d4",
        "senderAddress": "0x************************************aF86",
        "encryptedSolution": {
          "iv": "7048f26ace5f49e67b408affadc86c78",
          "ephemPublicKey": "0472a6ef6d62447ad04eba62ce763dff911a63d11af05b72b1ecd3c41ff1c84801fe0626c2bb939c1508a9f72d5116a37ee271eeff95e027f94228f0704a4199f6",
          "ciphertext": "5f9f58b48d97119aeeb1b4847dfe2f0541ff9f9aedc7a1d7b1cac3a31a68490cd05da1d191010c314d366f0d6f07812d3916675a543f378a007de1dc002f25b82eb20cde082b6e3e549306a6c0cbb6715e09609e749587a48e808e373eb0ffc23fd4915b6b9ac254b7779e46adb0665e9b614ea2f1907290467b6f9475aa2928df6678a0cdbcd0b5c56f07bae7a5216d64e9b21fc010952e79e2ea364d73c1587063834fe17b9dcecd19560165f3781d7c545df6454b08ff809c75bdbbd617b9fd9721dd04fce469fde6c859c16178a20e90fd7e65c5aeb7d2fda14a6dc9143f1efc933d71d423712fe531fd914ed67693445d6cd67737d993f82fa1f208d2bcc4403b2eae5108dfb19eeb2cea8b5cf7a33a40664bbfea13f6fc283e6e08d914bdeae98c8af5d1ee3f3f70eaf94b48718a9711926e067ad9a291195bbe4b1dca6e18009d5803b86d374628d001de1b8953cb4c157b3fe0b915bddba4936b3b9a023122410a4c3f907160c12cd3e16dac1f877ceddab9a1ebc3c9b2fd74f524bc32ef891be85c7f133973a708d982f1dc1d1661a7dabe3903358b7ce9830dff4c421c6f3277b8eb77b6da12806e0780abc9b92bc076197ebbe77f070a76e965ef311df09416d545a77dbf6f1ba557047210b287e54046aa7b2b0738956de4f8f5",
          "mac": "28f84ff26003854c23be8b1d24686fef1586aedca6a2eba56c0de55c510b1c38"
        },
        "msgHash": "8aebc39cac2b8792740526ff24cdadf630352033f2a1fba28b0010cf1d62f6d0",
        "signature": {
          "v": 27,
          "r": "42f20b62f4471e19f45a2b6b47d27c9d96fb6e02ab00b8e26af76b6bed8330ec",
          "s": "2bc02b270da99e5a8203307f5cc95253aee73800e1d13ab2adf3221c08040217"
        }
      },
      "msgHash": "f1c7d48b37ccfaa01a9b24a4d51287d7c41774b352dfb96dbe69f6b5e6ae10d1",
      "signature": {
        "v": 28,
        "r": "98deeb7e35dbf56532d4c67294aae0f749fb2f1bd0a8455ce986abb316b76734",
        "s": "24769fcacadab127bd37763ba42136c3b2c2ea58be866bbf4424f73556a28d18"
      },
      "sequencerAddress": "0x************************************2F7b",
      "timestamp": 1760379057179
    },
    {
      "type": "node_outcome",
      "executionId": "536bd861-88ff-49dc-9849-d2f909d2a3d4",
      "message": {
        "executionId": "536bd861-88ff-49dc-9849-d2f909d2a3d4",
        "senderAddress": "0x************************************3F36",
        "encryptedSolution": {
          "iv": "17ad11ce2d796615c2b563acabbe6103",
          "ephemPublicKey": "04800e99cf99747485aa535513b5e4253b985ca07df06d50323ad8a045b532b456949cd2e7b411319a554a62d0069908531eef0e44f351f4ee9728c4af856b25e3",
          "ciphertext": "1b649d471271c519c97871dab7ae17eed6207c6a13c1c66184ade370cb3d550be08e01c7f3cc1dbbbf98622388a7956790747e5301e5ccac7ae849903bb0b0a59ed33ee7cd5d5f4eba5820e62a59322604f5962af49489877a40dab70f86d251af6e05ad7bcba409cc2e514d2875f4902838ec1ace5525aad56a2059f04ab9b4a5a1c3fe7d5925322d90ba4c6e0623b1d01600b95d5a5c9ccacd9a2277bac945d0581e2a6ce73f0d9c5dbcc1dfa094464d9876b47d0794725a1704b692e6a17f13932eec93f3ba37619b9f1f736171d14fb62e41b2078960a52c66d525a16f394798cd6e57746ecce067a5608db1dfdf6bf662cdd5afaa4714e5c5aaa4bf7b21574ec536e596dc7f2914fffad5bc0f61133cb57a7700f903b983b105a20095b68b648695b9747a76261a710ec48cbcf2943e11c4939adf1bfd093b393635773bd29739717e3a75897de221fc8dfb7ea6d5fd7a0399ba41acaf4da9d8ce2acf9a67ea4288e94383d216c9c3ddb4b969e9cd0cc6784ea5a8e1b9cba404d41a7b7884eec4c1b91c75d6e88f73a24770679c229aa3e206d2475ff5d3c879d6f5f8c0763d242a83fa31df55575f2021b221cebadd24a0c085cee7b5c7f8fa4d1b14c9ff2c95ff5793a59f841e497c9a1e5ded2a400162b11318facb0fc11f78ff2d0a",
          "mac": "76ebc4d8260de9da2fd2b27cd15f8932d8d89f4bc4240e53951184fb0e93dff8"
        },
        "msgHash": "822c1664ae370ee8c133c3780d972d05dc6e384f2ec89dbaabda8b44a7d7eef5",
        "signature": {
          "v": 28,
          "r": "9b56d134e67fb0916314dc96a4a3382d052978897314a6e8c3db5f7977db00f1",
          "s": "047b36cd2d424b5410db100c4f186f49b1c5e8999348915f82749cbfce8394a5"
        }
      },
      "msgHash": "e2a374efb229d18feba348528511078127827d59927bc5c1cdff1cd83cc4c4c2",
      "signature": {
        "v": 27,
        "r": "7e20c29e8ac924f6b29e0b4a1747d5948f2573a228a3511c329d6b23f04752ce",
        "s": "1e5dd427f9a3ad8c462f1d1e63fbe75f93e2d7afe3ece46ea3f76780038d1c0c"
      },
      "sequencerAddress": "0x************************************2F3b",
      "timestamp": 1760379059417
    },
    {
      "type": "solutions_revealed",
      "executionId": "536bd861-88ff-49dc-9849-d2f909d2a3d4",
      "msgHash": "ab5b3f358ed80308c9e37904d84e9d0488fc32cb67d636a520b68595b6a79bdb",
      "signature": {
        "v": 28,
        "r": "6146d337c3c6bf7f3246e749bb59a7e7084ad1aeb117f0243319b9911b8eae36",
        "s": "2471d7242f7995536bf41c49cf05dacd5bbf35b4195cafe4ebc72eee7d2b873e"
      },
      "clearTextSolutions": [
        {
          "signature": {
            "v": 27,
            "r": "680927fe57425d861239b1ecd833e396f9a5650fe13929821cf4138debe0b0d3",
            "s": "5ea11984e0b92d0ca34cb822136136cce16306bdf9048e0584c6cef85baff692"
          },
          "clearTextSolution": {
            "output": "6765",
            "status": "succeed",
            "metering": {
              "limits": {
                "gas": 1099511627776,
                "call": 65536,
                "frame": 524288,
                "memory": 1024
              },
              "last": { "steps": 7083189, "call": 2, "frame": 23 },
              "peak": { "call": 26, "frame": 1677, "memory": 18 },
              "versions": { "protocol": "1.120.0-beta.214" }
            },
            "senderAddress": "0x************************************3F36",
          }
        },
        {
          "signature": {
            "v": 27,
            "r": "620f381b347002c1be542b38f6167885fcc617fefeb5c668942bc5d36c1e775d",
            "s": "6bdf6242478510845b044cd4ccaf932401284a04448636dccc76ca6c919fcb2a"
          },
          "clearTextSolution": {
            "output": "6765",
            "status": "succeed",
            "metering": {
              "limits": {
                "gas": 1099511627776,
                "call": 65536,
                "frame": 524288,
                "memory": 1024
              },
              "last": { "steps": 7083189, "call": 2, "frame": 23 },
              "peak": { "call": 26, "frame": 1677, "memory": 18 },
              "versions": { "protocol": "1.120.0-beta.214" }
            },
            "senderAddress": "0x************************************B45F",
          }
        },
        {
          "signature": {
            "v": 28,
            "r": "78bd3adddda59ac0e011bc8654ff450106496ff3b3fe606c448e714fca06ee4d",
            "s": "1027762ab92211ffbe165ab24150a50a864fc106f4136826d549cc8f2e4c07ed"
          },
          "clearTextSolution": {
            "output": "6765",
            "status": "succeed",
            "metering": {
              "limits": {
                "gas": 1099511627776,
                "call": 65536,
                "frame": 524288,
                "memory": 1024
              },
              "last": { "steps": 7083189, "call": 2, "frame": 23 },
              "peak": { "call": 26, "frame": 1677, "memory": 18 },
              "versions": { "protocol": "1.120.0-beta.214" }
            },
            "senderAddress": "0x************************************058B",
          }
        },
        {
          "signature": {
            "v": 28,
            "r": "76e74b8ae15f666f9e6e1865973eaf8f26f34585aa9a48b61a5cca4e8b8aa2dc",
            "s": "754ffeab68eae964e41accc8f75ac26bfc0206d5f4235188910077be1e1fc353"
          },
          "clearTextSolution": {
            "output": "47",
            "status": "succeed",
            "metering": {
              "limits": {
                "gas": 1099511627776,
                "call": 65536,
                "frame": 524288,
                "memory": 1024
              },
              "last": { "steps": 7083189, "call": 2, "frame": 23 },
              "peak": { "call": 26, "frame": 1677, "memory": 18 },
              "versions": { "protocol": "1.120.0-beta.214" }
            },
            "senderAddress": "0x************************************058B",
          }
        }
      ],
      "sequencerAddress": "0x************************************2F3b",
      "timestamp": 1760379059458
    },
    {
      "type": "adjudication_outcome",
      "executionId": "536bd861-88ff-49dc-9849-d2f909d2a3d4",
      "status": "succeed",
      "signature": {
        "v": 28,
        "r": "e5c092786028c88f38d262d88065ee7d192366cbfd471165b1f3c9daded8b050",
        "s": "009b2856d7389ce0c95536b27082b19aa1a50db823d292187b03b4e7d0de0b76"
      },
      "senderAddress": "0x***********************************6bDC",
      "output": "6765",
      "metering": {
        "limits": {
          "gas": 1099511627776,
          "call": 65536,
          "frame": 524288,
          "memory": 1024
        },
        "last": { "steps": 7083189, "call": 2, "frame": 23 },
        "peak": { "call": 26, "frame": 1677, "memory": 18 },
        "versions": { "protocol": "1.120.0-beta.214" }
      },
      "timestamp": 1760379060900
    },
    {
      "type": "execution_completed",
      "executionId": "536bd861-88ff-49dc-9849-d2f909d2a3d4",
      "transcriptHash": "c72680f4d2db513671c9bd9bc2c33d27fe45a7888b6af9b5b5177faa729ac52e",
      "status": "ReadyForInvoice",
      "signature": {
        "v": 27,
        "r": "57a8d479452f8b93a0737b875fce7460198c851c2abcb4add40211b007290776",
        "s": "150feaf13af9de4ad4db538298f3448df4c4725167377f5f7a3faec0fded8d69"
      },
      "signerAddress": "0x************************************2F3b",
      "timestamp": 1760379065483
    },
    {
      "type": "execution_metadata",
      "executionId": "536bd861-88ff-49dc-9849-d2f909d2a3d4",
      "message": { "version": "1.0.0" },
      "msgHash": "bbc4cea80357a7b61483115fa3a3c2dfb5559c38591bc0fba294535ed12bfdf6",
      "signature": {
        "v": 27,
        "r": "66883fd938166ba7ab0be0e026c5653e048619cd2a03341e5453a968b6dfee90",
        "s": "6423a67806950f8fb023590203ad28406499420c83d3b493c503c54debc375e6"
      },
      "timestamp": 1760379065526
    }
  ],
  "timestamp": 1760467017999,
  "msgHash": "9167f5d34c53778410e80ea537910725f285dff575516087d7e67cbf625b3f8d",
  "signature": {
    "v": 28,
    "r": "123413176e39386f5a96bb35158157bb35f862cc78d71404621ddb8de3d5195c",
    "s": "1820b1cd45dbc67b6716244fa0257de4e8cc2c1a9a22921b0a1c083a4e3818fa"
  }
}
```

{% endcode %}

</details>

### Execution Lifecycle Messages

<details>

<summary>root message</summary>

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.

<table><thead><tr><th width="201">Property</th><th width="331.3333333333333">Description</th><th>Values</th></tr></thead><tbody><tr><td>executionId</td><td>Current execution ID</td><td>Text</td></tr><tr><td><a href="#execution-lifecycle-messages">transcript</a></td><td>List of all the messages generated during the Function Task execution</td><td>Array</td></tr><tr><td>timestamp</td><td>Transcript query request timestamp. The moment when the task-requester calls the transcript query endpoint.</td><td>unixTimestamp</td></tr><tr><td>msgHash</td><td>Transcript Hash</td><td>Text</td></tr><tr><td>signature</td><td>Truebit Verify Hub signature</td><td>v: Text<br>r: Text<br>s: Text</td></tr></tbody></table>

</details>

<details>

<summary>task_created</summary>

The `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**.

<table><thead><tr><th width="188">Property</th><th width="337.4973958333333">Description</th><th>Values</th></tr></thead><tbody><tr><td>type</td><td>Message type</td><td><code>task_created</code></td></tr><tr><td>executionId</td><td>Current execution ID</td><td>Text</td></tr><tr><td><a href="#task-created-message">message</a></td><td>Original message received from the task-requester </td><td>see below "dispatch_task"</td></tr><tr><td>msgHash</td><td>Current message hash</td><td>Text</td></tr><tr><td>signature</td><td>Truebit Verify Hub signature</td><td>v: Text<br>r: Text<br>s: Text</td></tr><tr><td>publickey</td><td>Truebit Verify Hub public key</td><td>Text</td></tr><tr><td>sequencerAddress</td><td>Truebit Verify Hub Address</td><td>Text</td></tr><tr><td>timestamp</td><td>task_created message created timestamp</td><td>unixTimestamp</td></tr></tbody></table>

**Original message sent by the Task Requester:** `dispatch_task`

<table><thead><tr><th width="192.55859375">Property</th><th width="255">Description</th><th>Values</th></tr></thead><tbody><tr><td>type</td><td>Message type</td><td><code>dispatch_task</code></td></tr><tr><td>taskId</td><td>Function task ID</td><td>Text</td></tr><tr><td>executionId</td><td>Current execution ID</td><td>Text</td></tr><tr><td>msgHash</td><td>Current message hash</td><td>Text</td></tr><tr><td>signature</td><td>Truebit Verify Hub signature</td><td>v: Text<br>r: Text<br>s: Text</td></tr><tr><td>limits</td><td>Function task execution limits values</td><td><ul><li><strong>gas</strong>: Maximum amount of steps allowed for task execution.</li><li><strong>call</strong>: Amount of Nested calls allowed for task execution.</li><li><strong>frame</strong>: Stack memory allocated for the Calls during the task execution.</li><li><strong>memory</strong>: Amount of memory used by the task execution</li></ul></td></tr><tr><td>econParams</td><td>Economics parameters for the function task execution.</td><td><ul><li><strong>reward</strong>: <strong>0</strong> </li><li><strong>requiredSolutions</strong>: Min amount of solutions to get a validated result.</li><li><strong>totalSolutions</strong>: Total amount of solutions to get a validated result.</li><li><strong>executionTimeout</strong>: Amount of execution time before it gets canceled.</li></ul></td></tr><tr><td>workers</td><td>List of <a href="../introduction/truebit-verify-nodes">Truebit Verify Nodes</a> selected to work on this function task execution</td><td><ul><li><strong>blockNumber</strong>: number</li><li><strong>selectionStrategy</strong>: [ "default"]</li><li><strong>setNodes</strong>: Array of nodes</li></ul></td></tr><tr><td>dispatcherTimestamp</td><td>Dispatcher timestamp at the moment of receiving a new task execution from taskRequester</td><td>unixTimestamp</td></tr><tr><td>taskRequesterTimestamp</td><td>Timestamp specified on the task execution request by the TaskRequester</td><td>unixTimestamp</td></tr><tr><td>ledgerName</td><td>Current ledger in usage</td><td>['avalanche']</td></tr><tr><td>blockHash</td><td>Current block hash</td><td>Text</td></tr><tr><td>blockNumber</td><td>Current block number</td><td>Number</td></tr><tr><td>chainId</td><td>Unique ID for blockchain identification</td><td>Text</td></tr><tr><td>nodeRegistryContractAddress</td><td>Node registration Smart contract Address</td><td>Text</td></tr><tr><td>taskRegistryContractAddress</td><td>Task registration Smart contract Address</td><td>Text</td></tr><tr><td>taskAuthorizationContractAddress</td><td>Task Authorization Contract Address</td><td>Text</td></tr><tr><td>taskRequesterAddress</td><td>Task Requester address. This address will pay for the task execution</td><td>Text</td></tr><tr><td>taskPath</td><td>Provided path for task execution. It must contain the namespace and taskname</td><td>Text</td></tr><tr><td>taskVersion</td><td>Provided version Task for execution </td><td>Number</td></tr><tr><td>senderAddress</td><td>Truebit Verify Hub address</td><td>Text</td></tr><tr><td>input</td><td>Function Task Input parameters</td><td>Text</td></tr></tbody></table>

</details>

<details>

<summary>node_outcome</summary>

The `node_outcome` message is recorded in the transcript each time the Truebit Verify Hub receives a response from a Truebit Verify Node. It includes key information such as the **execution ID**, the **original message** from the node (stored in the **message** field), and all data is **signed by the Truebit Verify Hub**.

<table><thead><tr><th width="203">Property</th><th width="292">Description</th><th>Values</th></tr></thead><tbody><tr><td>type</td><td>Message type</td><td><code>node_outcome</code></td></tr><tr><td>executionId</td><td>Current execution ID</td><td>Text</td></tr><tr><td>message</td><td>Original message received from the Truebit node </td><td>see below "computed_outcome"</td></tr><tr><td>msgHash</td><td>Current message Hash</td><td>Text</td></tr><tr><td>signature</td><td>Truebit Verify Node signature</td><td>v: Text<br>r: Text<br>s: Text</td></tr><tr><td>sequencerAddress</td><td>Truebit Verify Hub Address</td><td>Text</td></tr><tr><td>timestamp</td><td>node_outcome message created timestamp</td><td>unixTimestamp</td></tr></tbody></table>

**Original message sent by the Task Requester:** `computed_outcome`

<table><thead><tr><th width="203">Property</th><th width="292">Description</th><th>Values</th></tr></thead><tbody><tr><td>type</td><td>Message type</td><td><code>computed_outcome</code></td></tr><tr><td>executionId</td><td>Current execution ID</td><td>Text</td></tr><tr><td>senderAddress</td><td>Truebit Verify Node address</td><td>Text</td></tr><tr><td>encryptedSolution</td><td>Encrypted solution submitted by the Truebit Verify Node using the Truebit Verify Hub public key.</td><td><p>"iv": Text</p><p>"ephemPublicKey": Text</p><p>"ciphertext": Text</p><p>"mac": Text</p></td></tr><tr><td>msgHash</td><td>Current message Hash</td><td>Text</td></tr><tr><td>signature</td><td>Truebit Verify Node signature</td><td>v: Text<br>r: Text<br>s: Text</td></tr></tbody></table>

</details>

<details>

<summary>solutions_revealed</summary>

The `solutions_revealed` message is recorded in the transcript once either the required number of node responses has been received or the execution time has expired. This message includes key information such as the **execution ID** and all the **solutions provided by the nodes**, presented in an **unencrypted** form so that anyone can review the submitted results. These responses were previously **encoded** to prevent premature solution disclosure while the execution was still in progress.

<table><thead><tr><th>Property</th><th width="289">Description</th><th>Values</th></tr></thead><tbody><tr><td>type</td><td>Message type</td><td><code>solutions_revealed</code></td></tr><tr><td>executionId</td><td>Current execution ID</td><td>Text</td></tr><tr><td>msgHash</td><td>Current message Hash</td><td>Text</td></tr><tr><td>signature</td><td>Truebit Verify Hub signature</td><td>v: Text<br>r: Text<br>s: Text</td></tr><tr><td>clearTextSolutions</td><td>List of all the solutions provided by the selected Truebit Verify Nodes.</td><td><p>Array of</p><p>[</p><ul><li>signature: Node's signature</li><li><a href="#cleartextsolutions-message">clearTextSolution</a></li></ul><p>]<br></p></td></tr><tr><td>sequencerAddress</td><td>Truebit Verify Hub address</td><td>Text</td></tr><tr><td>timestamp</td><td>Message sent timestamp</td><td>unixTimestamp</td></tr></tbody></table>

**Information stored within the clearTextSolution message**

This array will contain an unencrypted list of all the messages received from the nodes

<table><thead><tr><th width="184">Property</th><th width="289">Description</th><th>Values</th></tr></thead><tbody><tr><td>output</td><td>Unencrypted node solution</td><td>Text</td></tr><tr><td>status</td><td>Node execution status</td><td>[ "succeed", "Failed"]</td></tr><tr><td><a href="#metering">metering</a></td><td>Message used for the execution</td><td><p>Array of </p><ul><li>limits</li><li>last</li><li>peak</li><li>versions</li></ul></td></tr><tr><td>senderAddress</td><td>Truebit verify Node Address</td><td>Text</td></tr></tbody></table>

**Metering message**

<table><thead><tr><th width="184">Property</th><th width="289">Description</th><th>Values</th></tr></thead><tbody><tr><td>limits</td><td>Limits values specified in the dispatch_task message</td><td><p></p><ul><li>gas</li><li>call</li><li>frame</li><li>memory</li></ul></td></tr><tr><td>last</td><td>Actual <strong>last</strong> values consumed during execution</td><td><p></p><ul><li>gas</li><li>call</li><li>frame</li></ul></td></tr><tr><td>peak</td><td>Actual <strong>peak</strong> consumed during execution</td><td><p></p><ul><li>call</li><li>frame</li></ul></td></tr><tr><td>versions</td><td>Truebit protocol version</td><td><strong>protocol</strong>: Truebit protocol version number</td></tr></tbody></table>

</details>

> In the `solutions_revealed` step, if participating nodes submit differing solutions, the **Non-Consensus Resolution Process** is initiated. The [Truebit Control Node](https://devs.truebit.io/architecture/introduction/truebit-verify-control-node) executes the task independently and produces an `adjudication_outcome` message defining which nodes provided the right solution.

<details>

<summary>adjudication_outcome</summary>

The `adjudication_outcome` message is created when the `solutions_revealed` step detects that the participating nodes have provided non-matching solutions, indicating a lack of consensus. In this case, the system automatically triggers the **Non-Consensus Resolution Process**, which is managed and executed by the **Truebit Control Node**.

During this process, the Truebit Control Node conducts an adjudication procedure to determine which node or nodes submitted erroneous results and to establish the correct solution for the task. Once this verification is complete, the system logs the `adjudication_outcome` message into the transcript as the official and immutable record of the resolution.

The message contains the final verified solution that has been confirmed as correct, information identifying any nodes found to have provided invalid responses, and additional metadata related to the adjudication process such as timestamps, verification reasoning, or proof references when available.

This message represents the final decision of the protocol in a non-consensus scenario. It ensures that the task requester receives a verified and trustworthy result, closing the execution transcript with a certified outcome derived through a transparent and verifiable process.

<table><thead><tr><th width="184">Property</th><th width="289">Description</th><th>Values</th></tr></thead><tbody><tr><td>type</td><td>Message type</td><td><p></p><p><code>adjudication_outcome</code></p></td></tr><tr><td>executionId</td><td>Current execution ID</td><td><p></p><p>Text</p></td></tr><tr><td>status</td><td>TBD</td><td>success</td></tr><tr><td>signature</td><td>Truebit Node Control signature</td><td>v: Text<br>r: Text<br>s: Text</td></tr><tr><td>senderAddress</td><td>Truebit Node Control Address</td><td>Text</td></tr><tr><td>output</td><td>Truebit Node Control execution Output</td><td>Text</td></tr><tr><td>metering</td><td></td><td><p></p><p>Array of </p><ul><li>limits</li><li>last</li><li>peak</li><li>versions</li></ul></td></tr><tr><td>timestamp</td><td>Message sent timestamp</td><td>unixTimestamp</td></tr></tbody></table>

</details>

<details>

<summary>execution_completed</summary>

The `execution_completed` message is logged into the transcript once the entire execution process has been completed — whether the task was resolved through **node consensus** or required intervention by the **Truebit Control Node** during the **Non-Consensus Resolution Process**.

<table><thead><tr><th width="234">Property</th><th width="257.03515625">Description</th><th>Values</th></tr></thead><tbody><tr><td>type</td><td>Message type</td><td><code>execution_completed</code></td></tr><tr><td>executionId</td><td>Current execution ID</td><td>Text</td></tr><tr><td>transcriptHash</td><td>Execution lifecycle messages hash.</td><td>Text</td></tr><tr><td>status</td><td>Final execution status</td><td>["ReadyForInvoice", "Error"]</td></tr><tr><td>errorDetails</td><td>Only present if there was an error during the execution.</td><td>The details of any error thrown by the protocol or its services</td></tr><tr><td>signature</td><td>Truebit Verify Hub signature</td><td>v: Text<br>r: Text<br>s: Text</td></tr><tr><td>signerAddress</td><td>Truebit Verify Hub address</td><td>Text</td></tr><tr><td>timestamp</td><td>Message sent timestamp</td><td>unixTimestamp</td></tr></tbody></table>

**Execution complete statuses**

| Status          | Description                                                                               |
| --------------- | ----------------------------------------------------------------------------------------- |
| ReadyForInvoice | The task execution finished, so the protocol is ready to process the execution's invoices |
| Error           | There was an error during the execution. Please check the **errorDetails** field.         |

</details>

<details>

<summary>execution_metadata</summary>

<table><thead><tr><th width="234">Property</th><th width="257.03515625">Description</th><th>Values</th></tr></thead><tbody><tr><td>type</td><td>Message type</td><td><code>execution_metadata</code></td></tr><tr><td>executionId</td><td>Current execution ID</td><td>Text</td></tr><tr><td>message</td><td>Truebit Protocol version</td><td>Array of<br>["version"]</td></tr><tr><td>msgHash</td><td>Hash that represents the message</td><td>Text</td></tr><tr><td>signature</td><td>Truebit Verify Hub signature</td><td>v: Text<br>r: Text<br>s: Text</td></tr><tr><td>timestamp</td><td>Message sent timestamp</td><td>unixTimestamp</td></tr></tbody></table>

</details>
