{"ok":true,"site":{"host":"doom2quake.github.io","url":"https://doom2quake.github.io/ringlight/","type":"live","desc":"Ringlight lets you watch a browser agent trace suspicious money across a live map, then asks you before freezing the linked accounts.","tools":[{"name":"traceFlow","kind":"act","impl":"imperative","description":"Follow one suspicious transfer through the current local dataset. Return the accounts and money movements found within a bounded number of steps.","title":"Trace suspicious flow","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"transferId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$"},"maxHops":{"type":"integer","minimum":1,"maximum":6},"direction":{"type":"string","enum":["outbound","inbound","both"]}},"required":["transferId","maxHops","direction"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ringlight/","pages":["/ringlight/"]},{"name":"expandAccount","kind":"act","impl":"imperative","description":"Reveal the incoming and outgoing neighbors of one account so the visible money map can be investigated one step at a time.","title":"Expand account","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"accountId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$"},"depth":{"type":"integer","minimum":1,"maximum":3}},"required":["accountId","depth"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ringlight/","pages":["/ringlight/"]},{"name":"scoreRisk","kind":"act","impl":"imperative","description":"Calculate reproducible account risk from recent outgoing value, pass-through behavior, transfer speed, number of destinations, and circular money movement.","title":"Score account risk","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"accountIds":{"type":"array","minItems":1,"maxItems":50,"uniqueItems":true,"items":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$"}}},"required":["accountIds"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ringlight/","pages":["/ringlight/"]},{"name":"detectRing","kind":"act","impl":"imperative","description":"Find accounts that pass money around a closed loop, then verify the circular movement before identifying a suspicious linked network.","title":"Find a linked money network","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"seedAccountId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$"},"minAccounts":{"type":"integer","minimum":2,"maximum":50},"timeWindowHours":{"type":"integer","minimum":1,"maximum":72}},"required":["seedAccountId","minAccounts","timeWindowHours"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ringlight/","pages":["/ringlight/"]},{"name":"dollariseExposure","kind":"act","impl":"imperative","description":"Total each relevant transfer exactly once, compare it with the local baseline, and isolate unsettled outgoing money that can still be stopped.","title":"Calculate money at risk","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"ringId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$"},"currency":{"type":"string","enum":["USD"]}},"required":["ringId","currency"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ringlight/","pages":["/ringlight/"]},{"name":"buildCaseTimeline","kind":"act","impl":"imperative","description":"Assemble the flagged origin, layering bursts, circular returns, and cash-out attempts into a timestamped case record.","title":"Build case timeline","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"caseId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$"},"includePendingExits":{"type":"boolean"}},"required":["caseId","includePendingExits"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ringlight/","pages":["/ringlight/"]},{"name":"freezeAccounts","kind":"act","impl":"imperative","description":"Freeze the exact detected account set and stop its pending outgoing transfers in local state. The call pauses for a person to approve the scope before anything changes.","title":"Freeze linked accounts","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"caseId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$"},"accountIds":{"type":"array","minItems":1,"maxItems":50,"uniqueItems":true,"items":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$"}},"reason":{"type":"string","minLength":12,"maxLength":180}},"required":["caseId","accountIds","reason"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ringlight/","pages":["/ringlight/"]},{"name":"fileSARreport","kind":"act","impl":"imperative","description":"Create a local suspicious-activity report (SAR) draft from the linked network, money totals, freeze result, and call receipts. Nothing is submitted externally.","title":"Draft case report","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"caseId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$"},"format":{"type":"string","enum":["markdown","json"]},"includeReceipts":{"type":"boolean"}},"required":["caseId","format","includeReceipts"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ringlight/","pages":["/ringlight/"]},{"name":"notifyBank","kind":"act","impl":"imperative","description":"Record a simulated handoff of the completed case package to a selected bank fraud desk. This creates a local notice only and requires a separate human approval.","title":"Notify fraud desk","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"caseId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$"},"reportId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$"},"destination":{"type":"string","minLength":3,"maxLength":80}},"required":["caseId","reportId","destination"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ringlight/","pages":["/ringlight/"]},{"name":"replayInvestigation","kind":"act","impl":"imperative","description":"Replay the investigation receipts in order for the visible time scrubber without invoking handlers or repeating a freeze or notification.","title":"Replay investigation","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"speed":{"type":"string","enum":["instant","cinematic"]}},"required":["speed"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ringlight/","pages":["/ringlight/"]}],"category":"Finance & Crypto","apiSurface":"spec","toolCount":10}}