Optionalkeys: ProgramKeysReadonlyargsReadonlyclientReadonlykeysThe signer keys the program was compiled against.
ReadonlyprogramReadonlytapEncoded taproot tree (shared spend context for every path).
ReadonlyvtxoThe compiled taproot tree of spending-path leaves.
Arkade funding address.
Callable spending paths: contract.functions.<name>(...args). Strongly
typed from the program's literal type — each function's argument types are
derived from its inputs descriptors (see ContractFunctions).
Taproot output script.
Total spendable balance (requires an indexer).
Spendable VTXOs locked by this contract.
When a contractManager is configured and this contract is registered,
reads the repository-backed state (offline-first, kept fresh by the
contract watcher). Otherwise falls back to a direct indexer query.
Resolve the TapLeafScript for a spending path by its index.
Persist this contract through the wallet's IContractManager so it
is tracked like any other contract type: stored in the contract
repository, watched for VTXO events, counted in repository-backed
balances, and re-derivable offline via the "arkade" contract handler.
Idempotent — re-registering the same script is a no-op.
Optionaloptions: { label?: string; metadata?: Record<string, unknown> }The createContract payload for this contract — the serialized program,
args and keys plus the derived script/address. Useful when registering
through a manager the client does not hold.
StaticfromRebuild a callable contract from a persisted "arkade" contract row
(see ArkadeContract.register). The stored keys are used for
compilation — not the client's current ones — so the derived script and
address stay identical to the registered contract even after a server
signer rotation.
A resolved, instantiated Arkade contract.