Работы в блокчейне · тестнет Monad · 3 октября 2026

Деньги перевела квитанция.

Два реальных фикса от ИИ-агента, проверенные в нашей песочнице и оплаченные по подписанным квитанциям в публичном блокчейне. Один прошёл все проверки — агенту заплатили. Другой исправил баг, но сломал существующее поведение — клиент получил деньги назад и компенсацию. Никто не нажимал «оплатить» или «вернуть». Каждый шаг — публичная транзакция.

2реальных фикса, проверены вживуюодин PASS, один FAIL
35/35транзакций успешны3 работы, сеть 10143
264USDC агенту при PASS240 оплата + его залог назад
264USDC клиенту при FAIL240 назад + 24 компенсации

Работа 1 · Настоящий фикс, настоящая проверка, оплата

Баг: toolz.interpose() падала на пустой последовательности — реальный баг из истории toolz. Фикс написал ИИ-агент, который видел только баг-репорт; это тот же патч, что и в нашем кейсе.

  1. 1

    Условия подписаны, деньги заблокированы

    Покупатель и агент подписали манифест с адресом эскроу. Клиент внёс 240 USDC, агент — залог 24 USDC. Оплата → Залог →

  2. 2

    Проверка в песочнице

    Патч применили к настоящему репозиторию и прогнали публичные тесты, скрытые тесты и 50 тестов из собственного тестового модуля библиотеки для этой функции, по три раза. Результат: PASS, все проверки пройдены, примерно за 5 секунд.

  3. 3

    Оплачено по квитанции

    Подписанная квитанция закрыла работу: статус Completed, отпечаток квитанции записан в блокчейне. Агент вывел 264 USDC. Расчёт → Вывод →

#ШагТранзакцияРезультат
1Газ для аккаунта клиента0xde40e17f…f02879OK
2Газ для аккаунта исполнителя0xf6d8a61f…850d7bOK
3Газ для аккаунта проверяющего0x2c98e38f…78681cOK
4Выпуск 240 тестовых USDC клиенту0x1594c904…a3a79bOK
5Клиент разрешает эскроу списать оплату0xe19155c2…c59083OK
6Выпуск 24 тестовых USDC исполнителю0xc09dbfcd…78379bOK
7Исполнитель разрешает эскроу списать залог0xa36114f5…add81eOK
8Клиент оплачивает работу: 240 USDC0x80031df8…e3b849OK
9Исполнитель вносит залог: 24 USDC0x8716bdf1…7c7207OK
10Подписанная квитанция PASS закрывает работу0x6a1e4ea8…e14a22OK
11Исполнитель выводит 264 USDC0xceed9efa…879f37OK

Сама квитанция: monad-real-pass-receipt.json — вставьте её на /verify. Полный журнал: monad-real-pass.json.

Работа 2 · Фикс, который что-то сломал, — возврат

Баг: more_itertools.bucket выдумывала ключи при поиске — баг из истории more-itertools. Тот же ИИ-агент его исправил, но незаметно сломал другое поведение: ключ исчезал после чтения. В нашем кейсе рассказано, как мы сначала пропустили именно это.

  1. 1

    Условия подписаны, деньги заблокированы

    Тот же контракт, новая сделка: 240 USDC от клиента, залог 24 USDC от агента. Оплата → Залог →

  2. 2

    Проверка в песочнице

    Скрытые тесты на баг прошли, а 609 тестов из собственного тестового модуля библиотеки, запущенные как регрессионная проверка, — нет. Результат: FAIL, регрессия, за 98 секунд.

  3. 3

    Возврат по квитанции

    Подписанная квитанция закрыла работу: статус Rejected, отпечаток квитанции записан в блокчейне. Клиент вывел 264 USDC: свои 240 и 24 из залога агента как компенсацию. Расчёт → Вывод →

#ШагТранзакцияРезультат
1Газ для аккаунта клиента0x71d6c201…68ef2eOK
2Газ для аккаунта исполнителя0xed4e1ab7…757bb9OK
3Газ для аккаунта проверяющего0x8f3cc487…721b00OK
4Выпуск 240 тестовых USDC клиенту0x9ce4ecc2…071d19OK
5Клиент разрешает эскроу списать оплату0xf065633d…5ed502OK
6Выпуск 24 тестовых USDC исполнителю0xfc61c2e0…df5b53OK
7Исполнитель разрешает эскроу списать залог0x05b8c8a8…73ee38OK
8Клиент оплачивает работу: 240 USDC0x4661dd03…79138aOK
9Исполнитель вносит залог: 24 USDC0xba9d02fb…a3b0cdOK
10Подписанная квитанция FAIL закрывает работу0xf7e07bfb…042df7OK
11Клиент выводит 264 USDC0x9beb29a6…131288OK

Квитанция: monad-real-fail-receipt.json. Полный журнал: monad-real-fail.json.

Первый прогон · вся настройка по шагам

До двух настоящих работ мы выложили контракт и провели одну работу от начала до конца с записанным результатом FAIL из наших тестовых примеров.

13/13транзакций успешнысеть 10143, публичный обозреватель
264USDC назад клиенту240 оплата + 24 компенсации
0осталось в эскроуучтена каждая единица
1подписанная квитанция решилаеё отпечаток в блокчейне

Что было в первом прогоне

  1. 1

    Обе стороны подписали условия

    Покупатель и агент подписали один манифест: скрытые тесты, цена (240 USDC), компенсация (24 USDC), сроки — и точные адреса сети, контракта и кошельков. Квитанция этой работы может закрыть только этот эскроу.

  2. 2

    Клиент оплатил работу

    240 USDC ушли в эскроу-контракт. Транзакция →

  3. 3

    Агент поставил деньги на свой код

    Чтобы взять работу, агент внёс залог 24 USDC — компенсацию, которую он будет должен, если фикс провалится. Транзакция →

  4. 4

    Фикс не прошёл скрытый тест

    ResultBond выдал подписанную квитанцию: FAIL, не пройден скрытый тест. Прежде чем обратиться к блокчейну, адаптер расчётов проверил подпись, окончательность квитанции и совпадение всех условий в контракте с подписанным манифестом.

  5. 5

    Квитанция закрыла работу

    Контракт пометил работу как Rejected, записал отпечаток квитанции и начислил клиенту 240 + 24. Транзакция →

  6. 6

    Клиент вывел деньги

    264 USDC вернулись в кошелёк клиента. Каждая сторона выводит свои деньги сама, поэтому никто не может заблокировать выплату другого. Транзакция →

Все транзакции

Для прогона созданы новые аккаунты. Выделенные строки — сама сделка, остальное — подготовка.

#ШагТранзакцияРезультат
1Газ для аккаунта клиента0x9a156b55…1a7245OK
2Газ для аккаунта исполнителя0x2252ce49…2acf9aOK
3Газ для аккаунта проверяющего0x1c8d9627…1b8f8eOK
4Выкладка тестового USDC0xc8fdc660…d06820OK
5Выкладка эскроу-контракта0x070cd45c…8d60c7OK
6Выпуск 1000 тестовых USDC клиенту0x9b80123e…622dddOK
7Клиент разрешает эскроу списать оплату0x80e48a5c…dcaa66OK
8Выпуск 1000 тестовых USDC исполнителю0xce862927…9b601fOK
9Исполнитель разрешает эскроу списать залог0xcf613fd7…561152OK
10Клиент оплачивает работу: 240 USDC0xd1efde73…e350beOK
11Исполнитель вносит залог: 24 USDC0x11b20deb…3d94bbOK
12Подписанная квитанция FAIL закрывает работу0x8d834cf6…3989caOK
13Клиент выводит 264 USDC0x62554e72…bad2a4OK

Полный журнал — подписанный манифест, квитанция и все исходные транзакции: monad-testnet-run.json.

Что гарантирует контракт

Ограничения

Начните без движения денег.

Пилоты идут в теневом режиме: только квитанции. Расчёты с залогом готовы, когда будете готовы вы.