About Tether
Inspiration
AI agents are becoming increasingly capable of taking real actions: issuing refunds, updating customer records, processing payments, and modifying production systems. While today's models are getting better at reasoning, the infrastructure around them hasn't kept up.
Most AI applications still let agents write directly to external systems. If an agent retries a request, makes a mistake, or violates business policy, the consequences are real. Duplicate refunds, unauthorized actions, and irreversible state changes become engineering problems instead of model problems.
We wanted to explore a different question: what if AI agents had a mission control before they were allowed to act?
That became Tether.
What it does
Tether is a control plane for AI agents that govern real-world actions before they happen.
Instead of allowing agents to write directly to downstream systems, every action becomes a governed proposal. Tether evaluates policy, routes approvals when required, records every decision in an immutable ledger, guarantees exactly-once execution through idempotency, versions application state, and enables rollback through compensation rather than deleting history.
In our demo, an AI support agent attempts to issue a $1,250 refund. A simulated retry bug fires the request three times. Without governance, three refunds are processed. With Tether, the action is intercepted, routed to Finance, deduplicated into a single execution, written to an immutable Aurora DSQL ledger, and later rolled back through a compensating transaction while preserving the complete audit trail.
How we built it
Tether is built with Next.js, React, and TypeScript, deployed on Vercel, with Amazon Aurora DSQL serving as the strongly consistent transactional ledger.
Every proposed action flows through a governed write path:
- Policy evaluation determines whether an action can execute automatically or requires approval.
- Human approval is enforced by role-based authorization.
- Every state transition is written to immutable version history.
- Retry requests share an idempotency key, allowing Aurora DSQL's unique constraints and optimistic retries to guarantee exactly-once execution.
- Rollbacks append restoring versions instead of rewriting history, while external side effects are reversed through compensation actions.
To make these concepts tangible, we built an interactive cockpit that visualizes the complete lifecycle of every AI action—from proposal to approval, execution, rollback, and audit tracing—backed by live database operations instead of scripted animations.
Challenges we ran into
One of our biggest challenges was designing rollback correctly. Simply undoing database changes isn't enough once an external action, like sending a refund, has already occurred. We redesigned the system around immutable version history and compensation actions so internal state can be restored while external systems receive explicit reversal requests.
Another challenge was proving exactly-once execution. Simulating retries is easy; demonstrating that concurrent requests truly collapse into a single proposal and execution required careful use of Aurora DSQL's consistency guarantees, idempotency keys, and transaction handling.
Finally, we wanted the demo itself to communicate complex distributed systems concepts in under three minutes. Balancing technical accuracy with a presentation that judges could immediately understand required several iterations of both the interface and the guided walkthrough.
What we learned
Building Tether reinforced that trustworthy AI is as much an infrastructure problem as it is a modeling problem.
The hard questions aren't only "Can an AI decide?" but "Who approves it?", "Can it execute twice?", "Can we prove what happened?", and "Can we recover safely when something goes wrong?"
We also gained a much deeper appreciation for distributed systems concepts like strong consistency, idempotency, immutable ledgers, optimistic concurrency control, and compensation-based rollback—and how those ideas become essential once AI agents move from generating text to performing real-world actions.
As AI agents become more autonomous, we believe the systems that govern them will become just as important as the models themselves.
Built With
- auroradsql
- react
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.