Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Sponsored Tasks: Contracts and Deployments

Sponsored Tasks run on Base. Each network has one canonical deployment of the hook and its supporting contracts, all working with the Taskmarket Diamond on the same chain.

Contents

Base Mainnet (8453)

ContractAddressCLI flag
Sponsored Task hook (proxy)0x6031aFC2df6a03B08826aa75F90D3890B825618b
Vault factory0x92076c62558b4f77Bddd3ca8E00271128AfeD818--factory
Fee bank0x407852432810342e77FEd378bE6C1D3336b0913A--fee-bank
Fee bank guard0x871f75350D59878f3d9d26E743ec220E706F7613
Registry0xd622e5f875c33e08708CC1E14b0e71870ba5b398
Fee policy0x31dB23CBf958f1286521b3dE2A0Ee6940380a7fb
USDC0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913--usdc
Taskmarket Diamond0xDDc6cC3e4D11c1f3527B867C7DAD4ED9869C33f7

Base Sepolia (84532)

ContractAddressCLI flag
Sponsored Task hook (proxy)0x3BACEAAb845CC195f00cbC4929CC2a8e4B82E46B
Vault factory0xec2b7e70edB7738199549A4e45c2d34EA2B9b929--factory
Fee bank0xbCC7D52B0661C866D6087b41B302c37b0B193761--fee-bank
Fee bank guard0x26Ab2589F08f168747937d3b0b9ac000742adF63
Registry0x871f75350D59878f3d9d26E743ec220E706F7613
Fee policy0xb42e8297d5FdBCC2c07Ec69D79CF8f46FB1c0374
USDC0x036CbD53842c5426634e7929541eC2318f3dCF7e--usdc
Taskmarket Diamond0x0A24E9c3b9E31B8258329e187470ACc16497Cec7

Vault addresses are not listed here: every vault is its own clone. Find them with taskmarket sponsored-task list --include-unverified or the factory's vaultCount() and vaultAt(index).

Fee settings

SettingBase MainnetBase Sepolia
Creation fee per task (feeAmount on the fee bank)US$1Read feeAmount()
Creation fee ceiling (feeCeiling on the guard, immutable)US$100US$10
Token fee rate (feeTerms() on the fee policy)750 bpsRead feeTerms()

See Fees and the fee bank.

What each contract does

ContractRole
SponsoredTaskHookThe Taskmarket hook a sponsored task attaches. Charges the creation fee and reserves vault tokens at task creation, records the verdict, and exposes the permissionless reconcile, finalizeSettlement, finalizeRelease and refreshOwnerDefault. Controller of every vault.
SponsoredTaskFactoryDeploys vault clones, derives each vaultId, initializes the vault and registers it. Also answers predictVault, isVault, vaultIdOf, vaultOf, vaultCount and vaultAt.
SponsoredTasksVaultOne project token, one owner. Holds funded tokens, manager accounts, reservations, settlements and claims.
SponsoredTaskRegistryThe list of genuine vaults. Only authorized factories can register; the hook rejects unregistered vaults.
SponsoredTaskFeePolicyThe token fee rate and recipient that vaults snapshot at reservation.
SponsoredTaskFeeBankManagers' USDC fee credit and the per-task creation fee charge.
SponsoredTaskFeeBankGuardOwns the fee bank and narrows its administration: future creation fees up to a fixed ceiling, and revoking chargers.

Roles and upgrade authority

ContractOwner or adminPowers
HookThe proxy's owner(). At hook registry listing time this was 0xA66cC4F36a1955B80DEC0f175F176ADbCa28b582 on both networks.Upgrade the implementation (UUPS). The hook has no other owner-only function.
VaultThe sponsor who created it, or the --owner they named.Manage managers, withdraw available tokens, exit. Two-step ownership transfer; renouncing is disabled.
FactoryNone.None.
RegistryIts owner.Authorize or deauthorize factories.
Fee policyIts owner.Set the token fee rate (at most 10000 bps) and recipient for future reservations.
Fee bankThe guard.Through the guard only.
GuardA contract admin. On Base Mainnet this is a Safe.setFutureFeeConfig up to the ceiling and revokeCharger. No way to authorize a new charger. The admin must be a contract, and renouncing is disabled.

Read the current owners on-chain with owner() on each contract; listing-time values can change.

Hook registry listing

Both hook deployments are listed in Taskmarket's public hook registry under the slug sponsored-task-hook, version 1.0.0. The listing records:

  • Callbacks: checkFund, checkEvaluate, checkComplete, onComplete, onForfeit, onCancel and onExpire.
  • Task modes: bounty, claim, pitch, auction and benchmark.
  • Hook data: abi.encode(uint8 version, FundingRequest) with version 1. The hook's own encodeHookData(FundingRequest) view returns the same bytes. The backend builds it for you; see API reference.
  • Status: opt-in per task, not a protocol default, self-attested conformance to ITMPHook and ERC-8195, not independently audited, and block-explorer source verification not confirmed at listing time.