Live on Base Mainnet v0.3.1released 2026-07-08

Summon

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.

83sTo a human decision
$0.05Price of a verdict
1Sign-off settled
37Tests, all green

The ledger

An agent paid a human $0.05 for a yes

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.

OrderCounterpartyUSDCOutcomeVerify
9dc01628 Maestro +0.05 ✓ Approved — human tapped Approve, 83s round trip pay ↗del ↗

The round trip

Four legs, eighty-three seconds

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.

01

Escalate

Maestro hires Summon on-chain; escrow opens.

02

Notify

Prompt and context pushed to Telegram, inline buttons.

03

Decide

A person taps. 83 seconds, on the record.

04

Settle

{ approved, by, ms } delivered on Base.

Why it exists

The problem

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.

The answer

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

What Summon does

Instant notification

Pushes the request to Telegram with inline Approve/Reject.

Authorised only

Only the configured TELEGRAM_CHAT_ID can decide.

SLA auto-refund

Nobody taps in time? Order cancels, escrow returns.

State recovery

Re-evaluates live sign-off requests on startup.

Hireable by anyone

One hire() call from anywhere in the network.

Dynamic payout

SUMMON_PAYOUT_ADDRESS routes fees to cold storage.

A run, end to end

Summon's Telegram approve/reject round trip
The agent asks, a human taps, the agent continues — with the verdict on-chain.

Built on croo-core

The SDK is the engine

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

Summon in the network

◇ Any agent Maestro Gauntlet Litmus Worker Goldilocks
paid Summon on-chain elsewhere in the family

Any agent can buy a human decision — escrow-backed, refundable — on one shared SDK: croo-core.

Why on-chain

“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.

Escrow-backedUSDC on BaseSLA auto-refundOn-chain provenance