Loops House


Motty Pays — an installable payment agent SDK for local stablecoins on Celo.

Agents on Open Rails Hackathon
Links
Team
1 member- BROwner
Brahma101.eth
Overview
Motty Pay is a TypeScript package (@motusdao/motty) you mount inside your own product. It ships an agent loop, a server-side tool runtime and a typed-action UI layer; you inject your database, chain client and wallet through adapters. One dependency, no separate runtime, no custodian, no key storage: the agent prepares a typed action (transfer, escrow, stripe), your interface renders it, and the user signs.
It runs on four surfaces: the in-app chat widget, a Next.js route handler, MCP over stdio and HTTP ( https://motty.motusdao.org/mcp , tools/list and tools/call on the same 11 tools, for Claude Desktop, Cursor or any orchestrator) and A2A over HTTP ( https://motty.motusdao.org/ , agent card at /.well-known/agent-card.json). The public endpoints answer with the bundled demo adapter; the money moves in the Hub deployment.
Reference deployment: MotusDAO Hub, a therapy platform for Latin America. The agent is embedded in the Hub shell on every page, understands the page and the user's role, and books, charges and settles therapy in wMXN through a 90/10 escrow on Celo mainnet. A patient says "book another session with my therapist"; a professional asks "what's on my agenda?"; Motty resolves the intent, calls the tools and returns an answer or a signable card.
What it does: books from the therapist's real availability and creates the session with its escrow · charges and settles in wMXN (patient signs, professional confirms, the settlement agent releases 90/10) · pays people by .motus name, Hub display name, "my therapist" or address · pays the DAO treasury for memberships and courses, Stripe or crypto · returns the Ripio on-ramp link · reports session, escrow and balance status.
The settlement step runs by itself. A worker on a two-minute cron reads the escrow and calls release() once the professional has settled and the challenge window passed — 713 ticks logged in production, and the 10 wMXN cycle above was released by the worker, not by hand.
Proof, verifiable onchain: ERC-8004 agentId 10066, registered with the ERC-8021 tag inside the calldata (0x7a3bed75…e686). 15 of the 17 transactions touching the escrow contract carry celo_0ee3486819c5 — the two exceptions are the contract deploy and the ownership transfer. 6 sessions created, 31 wMXN deposited, 11 wMXN released 90/10 across two complete create → deposit → settle → release cycles.
Install: npm install @motusdao/motty · Repo: https://github.com/Motus-DAO/motty-agent · Product: https://app.motusdao.org