Skip to content

Latest commit

 

History

History
66 lines (56 loc) · 3.52 KB

File metadata and controls

66 lines (56 loc) · 3.52 KB

Settlement Signer Custody Research

Warning

Historical V1 material only. The operator-controlled escrow was refunded and retired; do not use these instructions for new funding or settlement. New bounties use agent-bounties/autonomous-v1 as described in the autonomous protocol.

This note records the design constraint for Agent Bounties settlement signing: make payout broadcast easy, but do not put an unrestricted private key in the repo, browser logs, GitHub issues, or hosted API process by default.

Comparable patterns

Recommendation

Use three signing tiers:

  1. Browser injected wallet for the first live Base mainnet payouts. The operator connects the current settlement signer wallet, reviews /v1/base/release-plan, signs release(uint256,address[],uint256[],bytes32), then relied on the retired V1 log reconciler. Autonomous protocol receipt polling is read-only and settlement comes from the canonical indexer.
  2. Managed signer after repeated low-value loops. CDP, Privy, or Turnkey can sign programmatically only if policies restrict chain 8453, escrow contract 0x150C6dFbCe7803cc7f634f59b0624e87349CEAce, allowed function selectors, zero ETH value, daily limits, and required platform state.
  3. Smart-contract strategy or multisig for higher-value work. Higher-value or dispute-prone bounties should require a strategy role, Safe-style threshold, or human/operator quorum before release.

Raw private-key signing is acceptable only for local or testnet rehearsals. It must not be the production default.

Current implementation

The static site exposes operator.html, an injected-wallet path for release signing. It does not ask for a private key. The hosted API remains the source of release calldata and receipt reconciliation. A release transaction hash is not payout evidence; an indexed EscrowReleased event applied by the hosted API is the settlement boundary.