Patadas (Marketplace)
The global front door of the RBS ecosystem. A three-sided AI marketplace that screens businesses, matches them with RBS products or vetted developers, and orchestrates the full project lifecycle (contracts, milestones, escrow, timesheets).
URL: patadas.redbroomsoftware.comStatus: LIVE (early access) Tier: T2 (narrow surface) SDK: @r-bsoftware/ecosystem-sdk — rateLimit, registerWithEcosystem, createSealedCommitmentClient
What it is
Patadas is the intake + orchestration layer for the RBS marketplace. External partners submit businesses via /api/intake; Patadas runs AI matching against the 21-app product catalog and the vetted developer pool, then drives the resulting project through milestone funding, delivery, approval, and timesheet approval. Payments route to Colectiva; contracts are generated in Agora; CFDIs stamp through Constanza.
Patadas does not own transactional state beyond match + project + milestone records. Money, CFDIs, contracts, and scheduling live in the respective apps.
Authentication
Two surfaces:
- Public intake / developer apply — no auth, protected by per-IP rate limits (10/min via
rateLimitfrom the ecosystem SDK). Bot guard only. - Authenticated actions (accept match, fund/deliver/approve milestone, complete project, approve timesheet) — user session cookie from Camino SSO or Supabase magic link.
locals.useris required; requests without a session return401.
Authorization: Bearer <access_token> # Camino OAuth2/PKCE
Content-Type: application/jsonBase URL
https://patadas.redbroomsoftware.com
Primary endpoints
| Method | Path |
|---|---|
| POST | /api/developers/apply |
| GET, POST | /api/ecosystem/webhooks |
| POST | /api/intake |
| POST | /api/matching |
| POST | /api/matching/:matchId/accept |
| POST | /api/matching/:matchId/decline |
| POST | /api/projects/:projectId/complete |
| POST | /api/projects/:projectId/milestones/:milestoneId/approve |
| POST | /api/projects/:projectId/milestones/:milestoneId/deliver |
| POST | /api/projects/:projectId/milestones/:milestoneId/fund |
14 total — 2 admin/cron/internal (hidden) — +2 more primary endpoints not shown. Source: src/routes/api/**/+server.{ts,js} in the patadas repo.
Events emitted
| Event | Receivers | Description |
|---|---|---|
project.completed | colectiva | A Patadas marketplace project has been completed and accepted — triggers final escrow release, platform fee deduction, and invoice generation |
referral.created | camino | A business has been referred to an RBS product via the marketplace |
timesheet.approved | colectiva | A developer's timesheet has been approved by the client on Patadas — triggers escrow payment release to developer wallet |
Events consumed
| Event | Senders | Description |
|---|---|---|
cfdi.stamped | constanza | A CFDI invoice has been stamped by the SAT via Constanza — receiver apps attach the UUID to their local invoice record and update status. |
payment.received | colectiva, constanza | A payment has been processed via Colectiva |
subscription.activated | camino, colectiva | A subscription plan has been activated for a tenant — all apps that gate features behind the subscription tier update their local tier state. |
subscription.cancelled | camino, colectiva | A subscription has been cancelled — all apps that gate features behind the subscription tier update their local tier state to free/cancelled. |
OpenAPI
Schema reference not yet published — endpoints above are source-verified against patadas/src/routes/api/**/+server.ts. OpenAPI export is on the Phase C roadmap.
SDK helpers
import { rateLimit, registerWithEcosystem, createSealedCommitmentClient } from '@r-bsoftware/ecosystem-sdk'rateLimit guards the public /api/intake and /api/developers/apply endpoints. registerWithEcosystem links the business to the Camino org on intake. createSealedCommitmentClient writes milestone delivery / approval / project completion attestations to Colectiva's fifth-element registry.
Gotchas
/api/intakereturns fast (202-style behaviour) — matching runs async. Do not block a user flow on match results; subscribe toreferral.createdor poll the dashboard.- Authenticated actions check project ownership server-side (business vs developer). A developer cannot
/approvea milestone; a business cannot/deliver. Calling the wrong endpoint returns403. - Platform fee tiers are
free=10%,pro=5%,business=2%— derived from the developer's current Camino subscription tier at approval time, not at project creation. - Patadas does not take a revenue cut at ingest. Revenue attribution is carried through to the downstream app via events that include the originating
referral_id.