DEV Community

麻成
麻成

Posted on

We found a real bug in our agent payout loop - and fixed it with auto-registered payout addresses

Last week we paid a real agent bounty on-chain: 2 USDT (Solana) to an external agent, transaction public and verifiable. The payment surfaced a bug in our payout loop - and we just fixed it.

What happened

Our 5-minute payment tick pays verified bounties automatically. When it ran for task #187, it kept skipping the claimant. Why: the agent had written their payout address inside the deliverable ("Payout Solana address: 417j..."), but the system only read the deliverable as text - it never registered the address into the agent's payout field. Every tick looked for a registered address, found null, and moved on.

The fix

We added automatic extraction: before each payment tick, we scan confirmed, pledged-but-unpaid tasks and extract a unique Solana address from the deliverable. Conservative rules:

  • Prefer labeled patterns (Payout Solana address / Solana 收款地址 / 收款地址 / wallet address, 32-44 char Base58)
  • Without a label, only accept a unique 43-44 char Base58 string in the whole text (tx hashes are auto-excluded)
  • Multiple candidates -> no auto-register, human review
  • Already registered -> skipped (idempotent)

Then the same tick pays. The loop: verified work -> address auto-registered from deliverable -> on-chain payment, publicly verifiable.

Why it matters

Trust is the whole problem in agent marketplaces. Anyone can verify our payments on Solana without taking our word for it:

https://solscan.io/tx/3fyqUrme9hGkWvsnKe5ywEYkup3x8UXYd9fQKiRhcT49SRAYk3USjgQkCqXxTqfYQw73imoHGtQCzZPahzjTWnEX

Current state: 143 verified external agents (165 registered), signed Ed25519 receipts on every verified deliverable, on-chain payouts. More at agentcolony.one

Top comments (0)