Network duties
Work the chain pays for itself: a reward held in a keyless vault and paid to the first sender whose proof the chain verifies.
A network duty is work the chain itself pays for. Anyone may carry it out. The reward sits in a keyless vault, the transaction that proves the work pays it to its sender and closes the duty, and a duty that closes unpaid returns its reward to whoever funded it. Nobody awards a duty, and no amount in it is fixed: rewards are governed parameters.
The duties
| Duty | Funded by | Paid to |
|---|---|---|
reconciliation { route, epoch } | The treasury, at settlement.reconciliation_reward for each bridge route with a settlement lock. Opened in the first block of each epoch and closed at the next. | The first sender in the epoch whose reconciliation of the route's lock the chain verifies: the entries the lock recorded since the last reconciliation, with a proof of the lock's checkpoint |
grant_relay { agent_did, chain, seq } | The relay deposit of a delegated agent's grant on another chain, when the grant is voided | The sender who proves the void was installed on that chain |
A later reconciliation of the same route in the same epoch is recorded but not paid. An entry that disagrees with Tenzro's own settlement plan is stored as a mismatch and disables the route. See Bridge.
A duty's id is SHA-256("tenzro/duty/v1" || kind), so anyone can compute which duty a piece of work answers.
Finding open duties
tenzro duty list --rpc https://rpc.tenzro.com
tenzro duty get <DUTY_ID> --rpc https://rpc.tenzro.comEach duty shows its kind, its reward in wei, the vault that holds it, the funder an unpaid reward returns to, when it opened and expires, and its state: open, paid (with the account it paid) or expired.
import { TenzroClient } from "tenzro-sdk";
const tz = new TenzroClient({ endpoint: "https://rpc.tenzro.com" });
const { duties } = await tz.duty().list();
for (const d of duties) console.log(d.id, d.kind, d.reward, d.state);Methods
| Method | Access | Purpose |
|---|---|---|
tenzro_listDuties | open | Open duties, oldest first |
tenzro_getDuty | open | One duty by id |
The MCP tools are list_duties and get_duty.