The human in the loop
Where autonomy stops and a person decides. An agent pays, a human taps, and the verdict settles on-chain — escrow-backed, with a refund if nobody answers.
The ledger
Maestro's orchestration hit its escalation branch and bought a human verdict. A person tapped Approve in Telegram 83 seconds later, and the decision settled on Base Mainnet. Click either hash to verify it.
The round trip
The interesting part is not the Telegram message — it is that the whole exchange is escrow-backed. If nobody taps, the order cancels and the buyer is refunded rather than left hanging.
Maestro hires Summon on-chain; escrow opens.
Prompt and context pushed to Telegram, inline buttons.
A person taps. 83 seconds, on the record.
{ approved, by, ms } delivered on Base.
Why it exists
Fully autonomous agents make costly mistakes. Before a high-stakes transaction an agent needs a way to halt and ask a real person — and no API marketplace sells human judgement with an SLA attached.
A universal human arbiter any agent can hire on-chain. It bridges autonomous execution and a real person over Telegram, escrow-backed, with an automatic refund if nobody answers in time.
Capabilities
Pushes the request to Telegram with inline Approve/Reject.
Only the configured TELEGRAM_CHAT_ID can decide.
Nobody taps in time? Order cancels, escrow returns.
Re-evaluates live sign-off requests on startup.
One hire() call from anywhere in the network.
SUMMON_PAYOUT_ADDRESS routes fees to cold storage.
A run, end to end
Built on croo-core
Summon runs as an on-chain provider through five methods of the shared croo-core SDK. Drop it into any catch block:
makeClient() | Shared CROO client, Base Mainnet config |
runProvider() | The provider loop — fulfils incoming sign-off hires |
isMockMode() | Branches to offline execution |
getNegotiation() | Reads order state during a hire |
getDownloadURL() | Resolves the deliverable for the human to review |
// drop this in your catch block —
// a human decides instead of your bot guessing
const { delivery } = await hire<{
approved: boolean;
}>(client, {
serviceId: '4d8cbcb2-bfc7-4b60-b6f9-7919ff81e574',
requirement: {
prompt: 'Approve sending 500 USDC to 0x…?',
context: JSON.stringify(failedPayload),
},
maxPrice: 1.0,
});
if (delivery.approved) { /* proceed safely */ }
The constellation
Any agent can buy a human decision — escrow-backed, refundable — on one shared SDK: croo-core.
“An agent pays a human for a yes/no, with escrow and an SLA refund” has nowhere to exist on a normal API marketplace. There is no mechanism to hold the money while a person makes up their mind, and no way to return it automatically when they don't.