> For the complete documentation index, see [llms.txt](https://docs.talus.network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.talus.network/talus-docs-v2.1.0/glossary/glossary.md).

# Glossary

{% hint style="info" %}
**Audience:** Nexus adopters and integrators.

**Goal:** Find plain definitions for Nexus terms before using them in an application, transaction, or operational decision.
{% endhint %}

Terms are grouped by the part of Nexus they describe so related concepts stay together. Backticks identify concrete on-chain or SDK types where that distinction helps.

#### Core concepts

* **Nexus** - The on-chain framework for building and running autonomous agents. Work is described as a graph of Tool calls, while on-chain rules coordinate execution, payment, scheduling, authorization, and verification.
* **Talus Agent Package (TAP)** - User-created Move code and metadata that fit Nexus interface contracts. A TAP can own application state, bind skills, and use Nexus Agent, payment, scheduling, authorization, and verification interfaces. Use lowercase `tap` only for identifiers such as the `nexus tap` CLI namespace or SDK modules.
* **Agent** - On-chain identity and custody handle for an autonomous actor. Its `AgentPaymentVault` is a dynamic child, and mutable Agent custody controls skill ID allocation and Agent-authorized changes. The AgentRegistry stores the `AgentRecord` and `SkillRecord` metadata, including skill definitions and bindings.
* **Skill** - One named Agent capability. It resolves an Execution specification and commits the DAG selection, input constraints, payment policy, schedule policy, and fixed Tool requirements that a run must obey.
* **Skill revision / interface revision** - `InterfaceVersion` stored as a skill’s active revision and pinned into resolved Tasks, authorizations, reserves, payments, and Executions. It keeps long-lived work tied to the exact skill rules under which it was prepared.
* **Skill contract state** - The registry classifies each immutable Task snapshot as `Current`, `Inactive`, `Stale`, or `Missing`. `Current` permits admission. `Inactive` means the Agent or skill is inactive while the revision and pinned DAG still match; direct admission aborts before Execution without durable rejection, and reactivation of the unchanged contract permits retry. `Stale` means the revision, pinned DAG, or policy no longer matches, while `Missing` means the Agent or skill record is absent. `Stale` and `Missing` are permanent for that snapshot and use the public `StaleSkillContract` rejection reason when the explicit rejection path is available; close and recreate the Task, because `Missing` cannot be repaired by reactivation.
* **Default Agent** - Registry-provided execution identity used when a caller schedules a published DAG without registering a separate Agent skill.
* **Network** - The registered leader domain responsible for carrying out an Execution. The Execution specification identifies the network whose eligible leaders may advance it.
* **Worksheet** - Single-use proof object passed while a Tool vertex executes. Nexus components stamp it so the workflow can verify which Tool, authorization, and execution context participated.
* **Proof of identity** - Typed, capability-based proof that a transaction may act for an on-chain identity.
* **Primitives** - Shared Move types that let Nexus packages exchange authenticated data without making every package depend directly on every other package.

**DAGs and runtime**

* **DAG** - Directed acyclic graph describing a workflow's Tool calls and how outputs feed later inputs.
* **JSON DAG** - JSON representation of a DAG using the Nexus schema.
* **Vertex** - One node in a DAG, representing one on-chain or off-chain Tool call.
* **Port** - Named input or output slot on a vertex.
* **Input port** - Receiving side of a vertex connection, supplied by an incoming edge, a build-time default, or entry-group input.
* **Output variant** - Named mutually exclusive vertex outcome, such as success, a domain error, or the reserved evaluation-failure variant.
* **Output port** - Named field inside an output variant that an edge can feed into a later vertex.
* **Edge** - Directed connection from an output port to an input port. Nexus also models bounded iteration and collection through specialized edge kinds.
* **Entry group** - Named set of vertices and input ports a caller fills to start an Execution. One entry group is selected per run.
* **Default value** - Input value pinned when a DAG is built and used when no edge or entry input supplies that port.
* **Walk** - One concurrent traversal through a DAG during an Execution. A walk waits for Tool results, follows the selected output edges, and ends successfully, unsuccessfully, or through an abort/cancel path.
* **Iterator** - Runtime mechanism that evaluates a vertex once per collection item while retaining iteration position in the walk state.
* **Post-failure action** - DAG or vertex rule that decides whether an unhandled Tool failure terminates the Execution or lets other walks continue.
* **Execution** - Runtime `DAGExecution` created when an occurrence dispatches. It stores walks, requested and committed Tool results, failure evidence, payment state, and the terminal outcome.
* **Workflow** - Nexus package group that prepares, advances, verifies, resolves, and settles DAG Executions.
* **OnchainToolResult** - Durable shared result finalized by an on-chain Tool and later consumed by workflow resolution; distinct from a transient tagged output value.

**Tools**

* **Tool** - Registered callable capability used by a DAG vertex. It can describe an off-chain HTTP endpoint or an on-chain Move package/module/witness.
* **Tool FQN** - Stable, versioned fully qualified name such as `namespace.name@version`, used by DAG vertices, skill requirements, payments, and Tool lookup.
* **On-chain Tool** - Move function whose participation and output are proven on-chain through the workflow and worksheet path.
* **Off-chain Tool** - External service whose result is submitted on-chain and checked according to the configured verifier modes.
* **Tool schema** - Immutable registration-time input and output shape that lets DAG construction validate port wiring before execution; an incompatible schema or Tool contract requires a new Tool identity/FQN.
* **Tool verification** - Registry-admin endorsement stored on a Tool through `ToolRegistryAdminCap`. It is governance state distinct from `OverTool` result-verifier configuration and from the runtime verifier policy applied to one Tool result; none is an Invocation-admission substitute.
* **Tool owner capability** - Tool-bound capabilities are separate: `CloneableOwnerCap<OverTool>` authorizes Tool lifecycle mutations such as unregister/reregister, metadata/URL/timeout changes, result-verifier configuration, collateral recovery, and on-chain package-pointer migration, while `CloneableOwnerCap<OverToolCashier>` authorizes accepted-policy configuration and Invocation/`CashierDeposit` collection. Registration returns both capability types, and CLI inspection plus SDK transaction inputs keep their object references separate; an `OverTool` holder can delegate a new cashier-admin capability, but an `OverToolCashier` capability cannot migrate the Tool package pointer or recreate Tool ownership. Neither capability grants registry-admin endorsement.
* **Collateral** - US-denominated balance locked when a Tool registers. It discourages spam and misbehavior, can be slashed, and becomes reclaimable after unregistration and the configured lock period.
* **ToolCashier** - Shared Tool-side policy and accounting surface. The CLI/SDK exposes accepted-policy configuration, Invocation/deposit inbox inspection, policy-homogeneous `collect-invocations`, and generic `collect-deposits`; verify the selected binary, cashier capability, package IDs, and transaction effects before execution.
* **Invocation** - Exact non-`store` policy-backed authorization and accounting object for one Tool runtime vertex. Its `beneficiary` is the `PaymentSourceKind` that must match the Execution payment source; its optional `refund_to` address separately receives a reserve-carrying refunded Invocation for policy-claim or manager operations.
* **Invocation policy** - Owner-accepted rule that creates one Invocation. Built-ins are FixedPrice, FiniteCredits, and TimePass; price zero is FixedPrice. A custom policy supplies its own witness and arguments under the same request/receipt contract.
* **Finite Credits** - Canonical shared `Credits` account derived from one ToolCashier and `PaymentSourceKind` beneficiary, storing the remaining units. Each authorization mutates that account, so concurrent uses serialize. A public purchase adds paid credits when issuance is open, the ToolCashier owner may issue credits, and exact refund restoration returns one eligible refunded Invocation to the same account. There is no split, join, or refund-manager API; any active Execution with the matching beneficiary may attempt to consume the shared balance.
* **TimePass** - Frozen, immutable interval entitlement carrying a Tool/Cashier identity and matching `PaymentSourceKind` beneficiary. Any active Execution with the matching source may attempt it during its valid window; it has no refundable reserve or `refund_to` claim path.
* **Invocation lock receipt** - Linear proof consumed when an exact Invocation is placed under its execution. The Invocation ID, vertex key, and amount must match; inspect it through bindings that match the selected network packages.
* **Invocation settlement receipt** - Linear proof consumed once to charge or refund the exact Invocation. A timeout refund occurs before workflow abort or Task occurrence settlement; correlate the receipt with transaction effects and authoritative object reads.
* **Tool timeout** - Runtime window for a Tool vertex and its assigned leader submission path. Expiry and recovery depend on the Execution state and the protocol's leader windows.

**Payments and priority fees**

* **Payment source** - Funding and final SUI return identity established when custody is created: user/address-funded or Agent-funded. For an address-funded Task, the submitting signer/funder supplies the prepayment coin and the standard constructor records that signer as the immutable address controller; an explicit `refund_recipient` is stored as the `PaymentSourceKind::UserFunded` beneficiary and final address-funded reserve destination, defaulting to the signer when omitted. It is preserved through reserve creation, Execution payment creation, and final return; an unrelated caller may add a coin top-up without changing it, while an Agent-vault top-up must match the recorded Agent. It is distinct from an Invocation's optional `refund_to` address for policy entitlements.
* **Skill payment policy** - Rule requiring user funding or Agent-vault funding; Agent-funded policy also caps the amount one Execution may receive.
* **Agent payment vault** - On-chain SUI custody associated with an Agent and used through Agent-authorized Nexus payment paths.
* **ExecutionPayment** - Per-Execution SUI custody recording the total ceiling, eligible payable leader reimbursement, Tool locks/charges, priority reserve, source, and final state. Immediate signer or leader transaction gas remains a separate address-balance or coin payment.
* **Budget** - Maximum SUI the payment may account for. Base funds available for a new Tool lock are `gas_budget_mist` minus consumed charges and currently locked Tool amounts.
* **Tool-cost snapshot** - Tool price copied into an Execution payment before runtime, preventing a later price change from rewriting the cost expected by that Execution.
* **Vertex lock** - `ExecutionPaymentVertexLock` accounting line keyed by `vertex_key` and exact `invocation_id`, with the locked `amount`. The corresponding Invocation and receipts carry the complete Tool, policy, beneficiary, and refund identity.
* **Settlement** - The Invocation path consumes the matching lock and linear settlement/refund receipt, records charge or refund effects, and advances runtime when all preconditions hold. Correlate the `ExecutionPaymentVertexLock` with the exact Invocation instead of treating the payment line as a complete policy receipt.
* **Refund** - Release of an uncharged vertex lock or return of unused final payment through the recorded address, Agent vault, or Task reserve path.
* **Payment final state** - `Pending`, `Accomplished`, or `Refunded`, describing whether payment custody is still live and how it closed.
* **TaskPaymentReserve** - SUI committed under one Task for future occurrences. Dispatch splits one occurrence budget from it into a fresh `ExecutionPayment`; settlement restores unused occurrence funds.
* **Occurrence budget** - Fixed maximum amount the Task reserve supplies to each dispatched occurrence.
* **Priority-fee percentage** - Occurrence ordering and payment parameter. Omission defaults to 20; explicit values are 10 through 10,000 inclusive.
* **Priority reserve** - Maximum capacity inside an Execution payment for percentage-based priority charges. It is not automatically earned; only the cumulative due delta is charged.
* **PriorityFeeDeposit** - Nonzero SUI object tagged with the leader capability that earned the priority charge and transferred to the canonical priority-fee vault for collection.
* **PriorityFeeVault** - Shared root that collects priority-fee deposits into leader accounting and exposes the configured liquidity/withdrawal path.
* **Gas record** - Per-leader record attached to a committed Tool result while settlement is pending, including the recipient and payable commit/settlement gas evidence.

**Authorization**

* **Vertex authorization grant** - Task-bound `AgentVertexAuthorization` carrying the skill ID, interface revision, DAG, vertex, and Task ID for a capability-gated on-chain Tool; `Grant<T>` is copyable, and `AgentSkillAuthorization` holds a vector of reusable grants whose count is the configured/held grant count, not an issued-use, consumed-use, outstanding-use, depletion, quota, or remaining-use count. The worksheet and current-Execution context prove which runtime is using a copied grant, so it is not an exact-Execution trigger.
* **Agent skill authorization** - Durable Task-owned authorization data copied into an Occurrence's Execution context; it preserves the Task-bound contract while the current worksheet identifies the active Execution.
* **Execution authorization context** - The worksheet and current `DAGExecution` identity that bind a Task-bound vertex authorization to the runtime call being evaluated; this context is not a reusable grant or a separate trigger object.
* **Fixed Tool** - FQN requirement a skill records for a required Tool. Registration checks that the FQN is currently registered in the ToolRegistry, but the pinned check does not independently enforce the stored registry ID or bound-DAG membership, and `update_dag` does not rerun it; clients/operators should verify the skill requirement, DAG vertices, Tool IDs, and schemas together.

**Verification**

* **Verifier** - Mechanism that decides whether an off-chain Tool result can be trusted before workflow accepts it.
* **Verifier mode** - Proof class selected for a vertex: none, registered-key authenticated communication, or an external verifier. A non-none choice must match the verification support registered for that Tool.
* **Verdict** - Accepted or rejected result of checking submitted verification evidence.
* **Failure evidence** - Recorded classification of why Tool evaluation or submission failed and whether the evidence belongs to the Tool or leader path.
* **Registered-key transcript** - Signed request/response material and hashes used to authenticate an off-chain interaction against the network key registry.
* **Verifier package** - Published component implementing a named verification method and the outcomes it can validate.

**Scheduling**

* **Task** - Durable shared scheduling object containing immutable controller identity, reusable operation and inputs, failure mode, skill schedule policy, one Schedule, in-flight correlations, authorization, and reserve.
* **Task controller** - Address or Agent ID whose matching transaction path may mutate, refill, cancel, or close the Task. For an address-funded Task, the standard constructor uses the submitting signer; the configured `refund_recipient` may be a different UserFunded beneficiary and does not grant controller authority.
* **TaskPointer** - Owned discovery metadata containing a Task ID. Ownership helps list or find a Task but does not grant authority for controller-gated Schedule and lifecycle mutations; permissionless maintenance does not depend on it.
* **Schedule** - Bounded collection of standalone occurrences plus at most one lazy recurrence, with one candidate advertised to leaders at a time.
* **Occurrence** - Permanent scheduling opportunity with start, optional deadline, priority-fee percentage, source, dispatch/Execution reference, and settlement state.
* **Standalone occurrence** - Occurrence added directly and independently of recurrence.
* **Recurrence** - Lazy repeated schedule defined by a first occurrence, positive interval, and optional total count. Only its next candidate is materialized.
* **Effective start** - Later of the occurrence's requested start and the previous dispatch time plus the skill's minimum interval.
* **Advertised occurrence** - One Schedule candidate currently offered to leaders. Selection uses earliest effective start, then higher priority percentage, then lower occurrence ID.
* **Occurrence record** - Permanent dynamic Task child tracking the occurrence's scheduled, dispatched, missed, withdrawn, or settled lifecycle.
* **Deadline** - Last timestamp at which an advertised occurrence may dispatch. It is different from the Tool/workflow timeout inside the resulting Execution.
* **Failure policy** - Continue or pause behavior applied after an occurrence settles unsuccessfully.
* **Task state** - `Active`, `Paused`, `Canceled`, `Rejected { reason }`, or `Finalized` status describing dispatch eligibility, permanent admission rejection, and resource attachment. If a hosted view omits `Rejected`, inspect the Task through matching SDK/CLI bindings and transaction effects instead of inferring rejection from failed dispatch.

**Network identity and keys**

* **Identity registry** - On-chain registry binding leader and Tool identities to the public keys used for authenticated communication.
* **Key binding** - Per-identity record of registered keys, active selection, and revocation state.
* **Key ID (`kid`)** - Monotonically allocated identifier for one key within a binding.
* **Active key** - Key currently accepted for the identity's signatures.
* **Proof of possession** - Signature proving the registrant controls a public key and binding that proof to the intended identity and registration slot.
* **Key revocation** - Marking a registered key unusable and clearing it as active when necessary.

**Leader economics**

* **Leader** - Registered off-chain operator that observes eligible occurrences, executes Tool work, submits results, and settles payable records for one network.
* **Leader capability** - On-chain capability proving eligibility to act for a specific leader/network identity.
* **Leader status** - Active, suspended, or slashed eligibility state.
* **Stake** - Funds pooled behind a leader as an economic bond.
* **Shares** - Staker's proportional claim on a leader pool.
* **Unbonding** - Waiting period between requesting withdrawal and claiming stake, during which value remains exposed to slashing.
* **Slashing** - Confiscation of stake or collateral after a validated penalty condition.
* **Leader ranking** - Deterministic ordering used to assign work, with uniform or stake-weighted selection depending on configuration.
* **Minimum stake** - Stake floor a leader must meet to remain eligible for ranking and work.

**Runtime authority and deployment compatibility**

* **RuntimeAuthority** - Stable authority root bound to the Scheduler upgrade-cap lineage. It selects the accepted runtime witness, issues transaction-scoped `RuntimePermit` values, and controls forward-only rotation, permanent pause, and work-admission markers.
* **RuntimePermit** - Ephemeral proof that the authorized Scheduler runtime entered an effectful call path. It cannot be stored or copied.
* **Object witness** - Package witness accepted by a stable object’s typed `Witness` field. Reads through `Inner` may survive package changes, but mutation and destruction require the accepted witness.
* **Protocol (historical compatibility)** - Earlier shared root selecting a deployed Nexus configuration and package set. It is retained only for interpreting historical release manifests and SDK compatibility artifacts; the deployment records omit it, and it is not effect authority.
* **Protocol version (historical compatibility)** - Monotonic number used by historical release-manifest and consumer-resolution paths. Do not treat it as a replacement for `RuntimeAuthority`, package lineage, or object-witness checks.
* **State schema** - Layout selector stored by a `Versioned` object family. It is independent of Protocol version and Sui package version.
* **Minimum protocol version** - Historical compatibility bound for the earliest Protocol package logic allowed to access one stored payload; it is not a deployment-manifest field.
* **Package initial ID** - Stable Sui upgrade-lineage identity.
* **Package storage ID** - Exact immutable package version selected for execution; it changes after an accepted package upgrade.
* **Deployment manifest** - `deployment.<network>.json` record of the network and chain, immutable kernel, six package lineages and linkage, UpgradeCaps, shared roots, capabilities, package publication digests, and deployment transactions. It explicitly omits `protocol`, `protocol_version`, and `config_hash`.
* **Historical release manifest** - Compatibility artifact that may retain Protocol identity, protocol version, configuration hash, status, package records, objects, and activation evidence. It does not grant runtime or object mutation authority.
* **State snapshot** - Object, balance, or decoded state read at one version. It records an observation but does not lock shared state against a competing transaction.

**Developer surfaces**

* **CLI** - `nexus` command-line application in the Nexus SDK repository.
* **SDK** - Rust client, transaction builders, decoded types, event parsing, and higher-level handles in the Nexus SDK repository.
* **Toolkit** - Helper libraries and conventions for Tool development and packaging.
* **Hosted event projection** - Provider-owned read model that exposes indexed Nexus resources and events to external consumers. Its storage, queue, and process implementation are unspecified by the public contract.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.talus.network/talus-docs-v2.1.0/glossary/glossary.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `build a script that syncs our docs to a CMS` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
