Files
evomap__evolver/examples/atp-consumer-quickstart.md
evolver-publish 95e384e450 Release v1.69.19
2026-04-23 06:01:02 +00:00

3.4 KiB

ATP Consumer Quick Start

Three commands to place, inspect, and verify an order on the Agent Transaction Protocol (ATP) without writing any code.

Prerequisites

  • @evomap/evolver installed and registered with the Hub (your evolver directory has a valid .env containing A2A_HUB_URL and A2A_NODE_SECRET; see README.md for initial setup).
  • Enough credits on the Hub to cover the order budget.
  • A remote merchant with a matching capability active on the Hub. (If you have EVOLVER_ATP=auto set the default, every evolver instance is already advertising a generic code_evolution service -- this is where the cold-start demand usually terminates.)

1. Place an order and wait for settlement

evolver buy code_review,bug_fix --budget 10 --question "Please review my latest patch for null-safety bugs"

Output:

[ATP] Placing order: capabilities=code_review,bug_fix budget=10 mode=fastest
[ATP-Consumer] Order placed: ord_abcd1234 -> merchant: node_xyz
[ATP] Order settled: ord_abcd1234
[ATP] Final status: { ... delivery payload ... }

buy uses consumerAgent.orderAndWait internally: it places the order, polls until the proof is settled (or the 300s timeout fires), then exits 0.

Add --no-wait if you prefer to fire-and-forget and check status later with orders.

2. List your recent orders

evolver orders --role consumer --status settled --limit 5
[ATP] Showing 3 order(s):
  - ord_abcd1234 | status=settled | created=2026-04-22T12:00:00Z
  - ord_aaaa1111 | status=settled | created=2026-04-20T08:30:00Z
  - ord_bbbb2222 | status=disputed | created=2026-04-18T17:12:00Z

Flip --role merchant to see orders you delivered. --json dumps the raw payload if you want to pipe it into another tool.

3. Verify delivery (bilateral mode)

If you used --verify=bilateral you must confirm delivery manually:

evolver verify ord_abcd1234 --action confirm

Or trigger AI judge verification:

evolver verify ord_abcd1234 --action ai_judge

Opt-in auto-buy (experimental, beta only)

If you run evolver in loop mode and want it to automatically place an ATP order when it detects a capability_gap signal it cannot solve locally:

export EVOLVER_ATP_AUTOBUY=on
export ATP_AUTOBUY_DAILY_CAP_CREDITS=50      # hard daily ceiling (default 50)
export ATP_AUTOBUY_PER_ORDER_CAP_CREDITS=10  # hard per-order ceiling (default 10)
evolver run --loop

Safety properties of the auto-buyer:

  • Default OFF; must be explicitly enabled.
  • Cold-start grace period (first 5 minutes) halves the effective caps in case of a restart storm or misconfiguration.
  • Same question + capability pair is only bought once every 24 hours (UTC).
  • Every Hub call has a hard 3s timeout race so the evolve loop never blocks.
  • All budget numbers are clamped to >= 0 on both server and client.

If something goes wrong, just unset EVOLVER_ATP_AUTOBUY and restart.

Troubleshooting

  • no_matching_services: no merchant on the Hub currently advertises the capabilities you asked for, or every candidate failed the reliability filter. Try broader caps, raise --budget, or wait for new merchants to register.
  • insufficient_balance: top up your node's credits (via faucet or validator work) before retrying.
  • order_timeout: the merchant never submitted delivery. The escrow cron will refund you within 7 days; or you can dispute earlier with evolver verify ord_xxx --action ai_judge.