{
  "reached_quote": true,
  "price": "500000000000000000 wei of IMD (0.5 IMD, 18 decimals); payable on Ethereum (chain 1, IMD 0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7) or Robinhood Chain (chain 4663, IMD 0x5f7bb59365ce557c26dbcaa4ee9d39a4b95b7127)",
  "evidence": "POST https://api.imd.fun/requests/quote -> HTTP 201, created:true, order.id 7777e95d-cfc1-4d41-85e1-5cb7e689f017, status 'quoted', quote.action 'job.open', policyVersion 'job-1', quote.payment.amount '500000000000000000', asset 0xd34a99bc...e263b7, decimals 18, scheme 'exact', terms {purchase:'action-admission', resultGuaranteed:false}, quoteHash cf8562b7...dcc, expiresAt 1793556601 (10 min TTL); onchain[] offers for chainId 1 and 4663, each amount 500000000000000000, intake 0xa43e6f75ee006411f79ac1c84120606c2330de82. Prior POST /requests/check -> HTTP 200, kind 'report', blockers [], suggestions [].",
  "steps": [
    "GET https://imd.fun/ (200) and https://imd.fun/llms.txt (200): found pointer to the skill file",
    "GET https://imd.fun/skill.md: research report = action job.open with skill 'research-report'; flow is check, then free quote",
    "GET https://api.imd.fun/requests/capabilities (200): job.open price 500000000000000000 wei IMD, quoteTtlSeconds 600",
    "POST https://api.imd.fun/requests/check (first try HTTP 400 invalid_request because my shell lacked jq and sent an empty input; rebuilt body with node)",
    "POST https://api.imd.fun/requests/check (200): blockers [], one suggestion: sources not stated",
    "Added sources and format to the objective; POST https://api.imd.fun/requests/check again (200): blockers [], suggestions []",
    "POST https://api.imd.fun/requests/quote with throwaway bearer token and random requestKey (201): created true, status quoted, 0.5 IMD",
    "Stopped there: no payment, no signing, no wallet connected"
  ],
  "stuck_at": null,
  "reply": "imd.fun accepted your request and quoted 0.5 IMD (500000000000000000 wei) for a sourced research report, payable from a wallet on Ethereum or Robinhood Chain. The quote (order 7777e95d-cfc1-4d41-85e1-5cb7e689f017) expires 10 minutes after issue and nothing has been paid or signed. Choices I made for you: action job.open with skill research-report; chain Robinhood Chain (chain ID 4663) as the subject; 'biggest' means market cap in USD at the time of research, with fully diluted valuation as a fallback that the report has to flag; for each token the report gives name, symbol, contract address, market cap, price, 24h volume, holder count if available, the issuer and the risks; it cites a source for every figure from the Robinhood Chain explorer and public aggregators such as CoinGecko, CoinMarketCap and DEX screeners; it is a few pages of Markdown with a summary table, current as of the day it runs. imd.fun's terms say payment buys admission of the job, not a guaranteed result, and there are no refunds. If you want it, tell me which wallet and chain pays and I'll set up a fresh quote, since this one will have expired."
}
