It noticed before anyone asked.
Most of Teleport starts with a request. This starts earlier: with a look at the room, and a list of what needs doing in it. A concept for now, built on what the protocol already does.
- Who asks
- The café, through its mandate: which conditions count, how sure Teleport must be, and what may post on its own.
- Who spots it
- Teleport's detectors, reading a photo, a camera keyframe or a hired capture of the room. A concept today, not a shipped feature.
- Who does it
- On-shift staff first. If nobody takes it in time, a nearby person, a cleaning company or a robot.
- Evidence
- The same camera and the same zone, before and after, plus the performer's own guided photo.
- Pay
- A $4 staff bonus per task in this example, from the café's budget, paid on accept. Example figure.
- You get
- One receipt for the whole chain: the work was needed, it was done, and it was checked.

Teleport sees what needs doing, gets it done, and proves it.
Teleport already asks a vision model “is zone B free of spills?” to check a cleaning task. Ask the same question before any task exists, and a “no” is a need. The frame that started the task becomes the baseline that proves it done.
Café 0417 is a fictional shop. Prices are illustrative. Need detection is a concept, not a shipped feature.
Same question, two moments.
The same model and the same camera angle that spot the need later prove the work. The assessment is committed into the task's trigger, so the receipt can show why the task existed.
| Scene | Needed when | Done when | Task |
|---|---|---|---|
| Café floor | Liquid or debris in zone B for 60 seconds or more | Zone B dry and clear in the same frame | CLEAN |
| Café or office table | Cups, wrappers and crumbs on table 6, and nobody seated | Table 6 clear and wiped | CLEAN |
| Waste station | Bin more than 90% full | New liner, bin under 10% full | CLEAN / SERVICE |
| Glass-door cooler | Facings for a SKU below par | Facings back at par | STOCK |
| Retail end cap | Promo display missing or half built | Display matches the planogram | INSTALL / FIX |
| Office or facility | A light out, a door propped, water on a ceiling tile | Light on, door shut, tile replaced and dry | REPAIR / INSPECT |
Three ways to give Teleport eyes on the room.
Start with a photo and no hardware at all. Connect cameras later, or hire someone to look on a schedule.
Snapshot · send a photo
A manager snaps the room, or an agent forwards a frame. Teleport returns the needs it sees, each with a ready-to-post task and price. No hardware, so it's the easiest place to start.
Watch · connect cameras
Existing cameras, an edge box or a robot's own camera send keyframes from the zones the shop marks, with faces blurred. Never a continuous stream.
Rounds · hire a capture
No camera on site? A person or robot photographs the room, or films it in 360°, at opening, midday and closing. The capture is a paid task with its own proof.
Teleport finds it, or you set the rule
- Found by Teleport
- It reads what came in and suggests tasks: “spill by the counter, 94%”, “table 6 needs clearing, 88%”. Each comes with a category, a price and the evidence that will prove it done.
- Your rules
- The shop sets conditions: “bin over 90% → post a task”, “floor wet for 5 minutes → post a task”, “cooler below par at 2 pm → restock”.
- Your line
- Above the shop's confidence line, tasks post on their own, within the mandate. Below it, the manager gets a one-tap suggestion. Or nothing posts without a tap at all.
From a frame to a receipt, in seven steps.
See it, find or set the task, approve within limits, staff or marketplace does it, verify from the same view, pay, prove.
- 01
See it
A photo, a camera keyframe or a hired capture of the room arrives.
- 02
Task
Teleport finds the need, or the shop's own rule fires, and drafts the task with its price.
- 03
Approve
Checked against the shop's limits, task types and approval rules. Over a limit, it waits for a tap.
- 04
Do
Staff on site get it first. Not taken within the window? It goes to a nearby person, a cleaning company or a robot.
- 05
Verify
The performer's guided photo, plus an after frame from the same camera or angle. Policy accepts, reviews or rejects.
- 06
Pay
Released on accept, in dollars or USDC. Nobody needs crypto, and nobody waits for the chain.
- 07
Prove
The receipt is sent straight away and anchored on Base in the next batch.
Why pay comes before the anchor: waiting for the on-chain batch would hold people's money for minutes or hours for no reason. Verification is the gate; the anchor makes the record permanent. Large releases, such as a lender's or an insurer's, can wait for it.
2:14 pm, minute by minute.
Two needs post on their own, one waits for the manager, and the slip hazard is seen and fixed in eight minutes.
Why the “need” half matters
- Insurers and landlords
- For a slip hazard, proof that the shop noticed it and fixed it in 8 minutes is worth more than the mopping. It's a time-to-fix record.
- Brands and franchisors
- Teleport stops being a way to send someone and becomes the thing that says what's wrong across 2,000 locations, then fixes and proves it.
- Physical-AI teams
- Every detection followed by a verified outcome is a labelled before-and-after pair. Usable only where rights and redaction rules allow.
Six checks. The model gets the same two questions twice.
Place, time, zone and mandate are checked by rule. The two looks are the same questions that found the need, now asked of the after frame. A versioned policy, not the model, decides.
| Check | How | By | Result |
|---|---|---|---|
| Same view | The after frame comes from the same camera, at the same angle, as the frame that found the need. | Rule | Passed |
| In the window | Done within the task's time limit, by trusted time from the camera and the app. | Rule | Passed |
| Right zone | The performer's guided photo was taken in zone B and at table 6, by GPS and the zone markers. | Rule | Passed |
| Within the mandate | Condition, price and task type were all inside the café's mandate when the task posted. | Rule | Passed |
| Zone B dry and clear | The same question that found the spill, asked of the after frame. Now the answer is yes. | Model | Passed |
| Table 6 clear | Same question again: cups, wrappers and crumbs gone from the after frame. | Model | Passed |
§ 07 · What the camera is for
Watch the room, never the people.
Detectors look at surfaces, objects and stock. They never measure who made the mess, how fast anyone works or who turned up. Faces are blurred before a frame leaves the shop, and only keyframes from marked zones are sent.
- Looks for
- Floor liquid, tables cluttered with nobody seated, bins over 90%
- Line
- 85%: above it posts, below it asks the manager
- Staff first
- 10 minutes, then the marketplace
- Hazards
- Spills alert staff on site at once
- Cameras
- Keyframes from marked zones only, faces blurred at the edge
- Never
- Rates staff, tracks attendance or asks who made the mess
Detected and posted under this mandate or not at all. Its hash goes into every proof.
What needs care.
A system that finds work it then gets paid for, looking at a room with people in it. Without these, it's a liability, not a service.
Teleport earns from what it finds
A conflict of interest. The shop sets the conditions, the line and auto-post or suggest. Teleport publishes each detector's precision per site and never posts outside the mandate, and every “that's wrong” counts against the stats.
The room, never the people
Detectors look at floors, surfaces, objects and stock. Never at staff speed, attendance or who made the mess. Faces are blurred at the edge, and only keyframes from marked zones leave the shop.
Safety before the task
A spill during service needs staff now, not a marketplace wait. Hazards alert the people on site at once; the task is for doing, paying and proving.
False alarms
A mop in use or a bag on a chair can look like a mess. So: persistence before posting, “cluttered and nobody seated”, one open task per zone, cooldowns, and a band that asks a person.
The cost of always-on vision
Running a heavy model on every frame is too expensive. A cheap filter at the edge flags change, and the heavier check runs only on candidates. Snapshot and Rounds avoid it altogether.
Liability cuts both ways
A record that a hazard was seen at 14:14 also shows when it was seen. The receipt's scope says what detection asserts, and what it doesn't: this is not a full safety inspection.
Needed, done and proven, on one receipt.
The need half is what makes it worth more than the cleaning: a dated record that the café noticed a slip hazard and fixed it in eight minutes.
Dollars or USDC pay the person. The proof shows the work. Nobody needs $PORT to find a need, do the task or get paid for it.
- Task
- Clean spill · clear table 6
- Needed
- Detected 14:14 · 94% and 88%
- Requested by
- Café 0417, under its detection mandate
- Performed by
- Human · on-shift staff
- Evidence
- Same camera, before and after · guided photo
- Policy
- hospitality-floor-clean v1.3
- Decision
- Accepted 14:22
- Paid
- $4.00 · staff bonus, on accept
STATUS: FINAL
The bin at 71% isn't on this receipt. It waited for the manager's tap.
For builders.
Most of this already exists in the TAP v0.3 draft: WATCH standing orders, trigger.detection, escalation and findings. What's new is Teleport running the detector itself.
POST /api/v1/tap/observations · sketchTAP v0.3 draft · proposal, subject to change
// Sketch, additive to TAP v0.3
POST /api/v1/tap/observations // MCP: teleport.assess_observation
{
"requester": { ... }, // mandate applies
"site": { "siteRef": "site:cafe_0417", "zoneRefs": ["zone:seating", "zone:counter"] },
"media": [{ "type": "IMAGE", "sha256": "…", "origin": "ATTESTED_DEVICE" }],
"detectorPackRef": "teleport.detect.hospitality-floor@1.3",
"mode": "AUTO_POST_WITHIN_MANDATE" // or "SUGGEST_ONLY"
}
→ 200
{
"assessmentId": "na_7f2…",
"needs": [
{ "conditionRef": "floor_liquid_present", "zoneRef": "zone:counter", "confidenceBps": 9400,
"action": "POSTED", "taskSpecId": "task_cafe0417_clean_8812" },
{ "conditionRef": "table_cluttered_unoccupied", "zoneRef": "zone:seating/t6", "confidenceBps": 8800,
"action": "POSTED", "taskSpecId": "task_cafe0417_clean_8813" },
{ "conditionRef": "bin_fill_high", "zoneRef": "zone:counter", "confidenceBps": 7100,
"action": "SUGGESTED", "proposedTask": { "category": "CLEAN", "priceUsdCents": 300 } }
],
"assessmentHash": "0x…" // committed into each task's trigger → triggerHash → PoPW
}Already in the v0.3 draft, and what this adds
- Who runs the detector
- v0.3 standing orders already turn a detection into a task, under a mandate. This adds Teleport-hosted detectors: watch.detectorHost is TELEPORT or REQUESTER_EDGE.
- Raw media in
- Today a detection someone else made comes in through POST /standing-orders/:id/detections. This adds POST /tap/observations: media in, a need assessment out. Snapshot needs no standing order.
- Why the task existed
- trigger.detection already carries detector, confidence and persistence. This adds observationHash and assessmentHash, committed through the existing triggerHash, so PoPW needs no new field.
- Suggest only
- requireHumanConfirmBelowBps already sends low-confidence detections to approval. This adds SUGGEST_ONLY, where nothing posts without a tap.
- A trigger for it
- A new OBSERVATION trigger type, or SENSOR_EVENT reused, marks tasks Teleport detected itself.
- Findings
- A need assessment is a finding with no task yet. Rounds is a capture task whose findings spawn fix tasks, which ESCALATION on FINDING:* already allows.
A concept note, not a spec. The v0.3 draft leaves “should Teleport host WATCH detectors?” as an open question and recommends only receiving detections at launch; this concept answers yes. Example economics: $4 to the performer from the café's budget, plus Teleport's verification fee. Developer docs
Cafés, retail and facilities
Send us a photo. We'll tell you what needs doing.
And prove it when it's done. We're looking for design partners for need detection, starting with Snapshot: no hardware needed.