Loops HouseLinks
Team
1 member- SWOwner
Swift Bot Labs
Overview
Description
Al Día is a rent agent for small landlords in Argentina. The landlord loads a contract once, from a PDF or by hand. Every month the agent computes the rent from the official index (INDEC's IPC or the BCRA's ICL, each cross-checked), the tenant pays by ordinary bank transfer through a prefilled Ripio link, and the money arrives as wARS in a contract that can only pay the landlord. The agent reconciles the payment, moves the landlord's chosen share into USD₮ at the better of Textile FX and Uniswap under an onchain TWAP floor, and issues a receipt anyone can check against the settlement event.
Demo video: https://youtu.be/DmCQoeQxLME
Who it is for: a person who owns one or two flats and does this by hand. Picture Graciela, an example and not a customer: one flat in Almagro, a contract that moves with INDEC's IPC every four months. Her chore is finding the index, doing the sum, messaging the tenant, watching the bank app, writing the receipt and buying dollars. The tenant sees how much they owe and why, with the source, and never has to learn what a stablecoin is.
What a tenant sees, from one of our test leases: $ 660.978 due on 10 November. It started at $ 550.000, is up 20.18% in total, and last rose 7.81% on the IPC of June to September 2026, source INDEC. The rise was checked against the contract's clause.
What the agent decides on its own: when an adjustment is due and whether the official sources agree (it issues nothing if they don't); whether a payment covers the charge; which venue pays the landlord more; whether a price clears the floor (if not, the landlord gets pesos that month); and when to notify each side. Each increase is also audited against the contract's own clause with a paid model call. A model never touches money: the settlement path is plain code.
Guardrails: one contract per lease. settle() can pay only the landlord and a fee capped at 1%. The contract, not the agent, computes the price floor, the higher of a 30-minute and a 4-hour TWAP. The landlord can withdraw everything or remove the agent at any time.
Try it in five minutes
- No wallet needed: the calculator. https://aldia.swiftbotlab.workers.dev/calculadora
- What a tenant sees: https://aldia.swiftbotlab.workers.dev/pagar/c658d0b11729
- A settled receipt, through Textile: https://aldia.swiftbotlab.workers.dev/recibo/8650326827d3/2026-11
- Who really used it: https://aldia.swiftbotlab.workers.dev/transparencia
- Load a contract, about a minute: https://aldia.swiftbotlab.workers.dev/nuevo
Onchain proof (Celo mainnet)
- Agent wallet, and payer for every buy call: 0xED120aeC2240A25125B3f32Eb8Bff9C5F688121b
- ERC-8004: agent 10014, https://8004scan.io/agents/celo/10014, registered from that wallet as its first transaction: 0x543f492bbc821a75df02aaedebece12850d6dd083718bfa249018cee63d21016
- Attribution tag: celo_2ee02704a56d. agent/celo.py is the only path to the chain and refuses to sign anything untagged.
- AlDiaFactory 0x1e7CBf5d31c85B168048115d0aE762463A475882 and AlDiaLease implementation 0x90C1F1e91C21f2f166317B6e8A9292B9dF707759, exact match on Sourcify.
- Test rent through the current factory: payment 0x786a56c5ad24247919cc1ec80c1f5064513dba80cb1b0192b9992c7c3af543a0, settlement 0x502f68f20c46b3c3ba3d013490dab9b4893a61713940157188d92c3ed704ac04.
- Test rent through Textile, the lease contract as taker: payment 0xa363761b8edde783e07770829a6758f105d63594ede8d42951966148a5bb56c6, settlement 0x59a313d4c5e265d402189ea46cdd41e3ac362033da57fc00df88bfd62bded6e6.
How it fits each track
Stable Agents: LatAm
- Mainnet and real wFIAT: every rent above is wARS on Celo.
- Celo stack: ERC-8004, x402 through buy, Textile FX, Uniswap, a tag on every transaction. Stablecoin gas is built and tested once, off in normal running. MiniPay: the tenant page pays wARS in one tap from an injected wallet, tested with a stub, not yet inside MiniPay itself.
- Someone new to crypto: everything is in Spanish and in pesos, the tenant pays by bank transfer, and the landlord's form explains how to get a wallet.
- Who it serves: the landlord with one or two flats. Real users: none yet, see below.
Build with buy
- Reading a contract and auditing an increase are paid per use from the agent wallet, and both sit in the product's path. Details and proof below.
Open Corridors: Textile FX
- A maker that prices the taker. Details below, repo https://gitlab.com/swift-bot-labs-group/stitch-client-tiers/-/tree/client-tiers (write-up: CLIENT_TIERS.md).
Where users and volume came from
No independent user has paid through Al Día yet. Every lease and payment so far is a builder test funded by our own agent wallet, labelled as a test on the site: 5 test leases and 4 paid rents totalling 8,961 wARS. The Ripio ramp path is built but not completed end to end: it needs an Argentine account and Ripio's KYC, and the ramp page blocks our location. Live counts: https://aldia.swiftbotlab.workers.dev/transparencia
Why this should still matter: indexed rent is a real monthly chore across the region, and no other listed entry runs it end to end. The path to users is landlords with one or two flats, reached through the free calculator, which needs no wallet and is useful by itself.
Gas and relayers
The agent wallet pays gas in CELO for every transaction it sends, including opening a lease and settling. Tenants pay no gas when they use the Ripio path. Stablecoin gas (CIP-64) is implemented and was tested once on mainnet, but it is off in normal running.
Build with buy: services and proof of payment
- Service: Cencori inference through the buy gateway, paid in USD₮ over x402 from the agent wallet.
- Used for: reading a rental contract into a form, and auditing each rent increase against its clause.
- Proof: 0xc385e6e5b61188cbc527f317940a5e0ed13946e4dfcea811b4af8df2f22756f0 (contract read), 0x05ea6681bd88ec4521384dfb56f70fb5518e564f7af7e7f81b11c80b81849a77 (clause audit), 0x17686c51aa495af6e372713368fe422b3b405f552a62a78760ad41a70d049747 (first test read). The full list is on the transparency page.
- Also tried and dropped: a rented browser through buy, three sessions, to compare rents with live listings. The listing sites block it. Txs: 0x59a5b64a1ef6353c008579c3bcf2b18cc43821ff2025a629b0a1ff103df7faf7, 0x265f7af52a4038eff0ed9d1e5448aefee9e5bf32027f18ada11f705a86781527, 0x94dced91c648a6d97db8fb24077993c27c2b26cf66670b999cd754111bf5961a.
- Totals: 8 paid calls, US$ 0.063848, 5 inference and 3 browser. Independent users of these calls: none yet. All paid calls so far came from our own tests of the product.
Textile FX
Maker stitch-42220-ed120aec on the agent wallet. A fork of Stitch that prices the taker: every RFQ names its wallet, so the bot declines wallets with a measured toxic record and quotes everyone else. An hourly job lists a wallet only after 20 fills in 14 days, $500 marked and makers losing more than 1 bp at five minutes; it lists 5 today. The research covers 1,346 wARS fills and $211,220: four wallets are 99.5% of fills and makers lost 2.71 bp to them at five minutes.
The run is small on purpose: up to $6, buy side only. Live numbers at 2026-11-01T20:16Z, from the bot's log and the chain: 60 RFQs declined from 3 listed wallets; 6 of our quotes to other takers were selected and none was executed; 0 fills, so no fill hashes and P&L of $0.
New since the first submission, a shadow book: with few fills of our own, we price the flow we refused. For each declined RFQ we look for a fill by the same taker in the next 60 seconds and mark it against the pool five minutes later. 42 declines were followed by a fill elsewhere: 46 fills, $8,903. On the side we quote, 44 fills and $8,513, the maker that took them was down 1.47 bp at five minutes, with a 90% bootstrap range of -2.83 to -0.09 bp. These fills came after the wallets were listed, so it is a forward check of the rule, and it agrees with it. It is one afternoon of data, the match is by wallet and time rather than request id, and at our $3 clip the avoided loss is a fraction of a cent. Script and every fill hash: client-tiers/declined_shadow.py and declined_shadow.sample.json in the repo.
Reuse disclosure
Two small pieces come from our own earlier prototype, written on 26 October inside the hackathon window: see docs/REUSE.md. Stitch is upstream open source, forked with its licence kept. Everything else was written from 1 November.





