{"manifest_version":"5.0.0","generated_at":"2026-10-24T19:21:01.331Z","service":{"name":"RoboTrunk","summary":"RoboTrunk helps shopping agents buy from independent stores. It searches the stores' public catalogues and prepares a checkout at the store that sells the product. The person pays that store on the store's own checkout page.","base_url":"https://robotrunk.com","search_indexing":"enabled"},"store_checkout":{"enabled":true,"summary":"RoboTrunk prepares the checkout at the listed store through the store's Universal Commerce Protocol endpoint and returns a short-lived link. Once the person has approved the total, the agent has set it as the budget ceiling and the link reports that ceiling as checked against the store's total, the person or their agent opens it and continues to the store's own checkout page, where the person pays. The store is the seller, takes the payment and ships the order. RoboTrunk takes no payment and never sees card details.","protocol":"ucp","ucp_version":"2026-08-25","seller":"store","payment_taken_by":"store","robotrunk_takes_payment":false,"robotrunk_sees_card_details":false,"human_pays_on_store_checkout":true,"budget_ceiling":{"optional":true,"compared_with":"store_total","refusal_code":"BUDGET_EXCEEDED","rule":"Optional. When an agent sets a budget ceiling, RoboTrunk refuses to hand over a checkout whose total at the store, including shipping and tax, is above it, and tells the agent to ask the person before going further. A store whose totals cannot be read is not checked against the ceiling, and the response says so."}},"demo_checkout":{"applies_to":"demo_checkout_only","summary":"These three values describe the demo checkout of RoboTrunk's one example product only: no real charge, no order with a retailer and nothing shipped. They say nothing about checkout at a listed store, which store_checkout describes: the store is the seller, takes the real payment and ships the order.","real_charge":false,"source_retailer_order":false,"fulfilment":false},"endpoint":{"path":"/trust-manifest.json","advertised":true,"indexable":false},"checkout":{"mode":"sandbox","summary":"The v1 checkout contract covers one sandbox example product listed by RoboTrunk itself. It takes no real payment, places no order with a retailer and ships nothing. It does not describe checkout at a listed store.","api_version":"v1","discovery_url":"/api/v1","product_url":"/api/v1/products/holiday-bucket-beige-canvas-l-xl-beige","confirmation_url_template":"/confirm/{mandate_id}","currency":"AUD","human_confirmation_required":true,"sequence":["create_cart","add_item","apply_address","quote_shipping","issue_mandate","confirm_once","read_order"],"states":["cart_open","address_applied","shipping_quoted","awaiting_confirmation","sandbox_payment_confirmed"],"safe_errors":["INVALID_REQUEST","RUN_AUTH_REQUIRED","CSRF_REJECTED","NOT_FOUND","PRODUCT_NOT_FOUND","INVALID_STATE","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_SCOPE_CONFLICT","PRODUCT_UNAVAILABLE","QUOTE_STALE","REQUEST_TOO_LARGE","RATE_LIMITED","PRODUCT_STALE","PAYMENT_UNAVAILABLE","SERVICE_UNAVAILABLE"]},"recall_watch":{"enabled":true,"summary":"After a purchase, the person, or an agent acting with their authority, may ask RoboTrunk to watch the products bought for recalls. The watch keeps RoboTrunk's internal reference to the checkout and the purchase state, who consented and to which consent version, when the watch started, ends and stopped and how it stopped, a SHA-256 hash of the watch token, each product with a snapshot of its listing and the recall notices already reported, the channels chosen, each alert, and a delivery record for each alert on a chosen callback or email channel. A callback address or email address is accepted only while that channel is switched on; once kept it stays until the watch stops, and switching the channel off later stops delivery without erasing it. Stopping the watch removes the callback address and email address at once. An email address that is never confirmed is erased by the delivery job's first run after 7 days. A keyed fingerprint of an email address is kept with the channel, stays after the address is erased, and joins a stop list when the watch stops. A watch ends at the re-check job's first run after 24 months. The watch record, its products and its alerts are kept after it ends, as the record that it ran and stopped. No name, postal address, payment details or raw token is stored. The watch never changes a purchase.","stored":["checkout_reference","purchase_state","consent_given_by","consent_version","watch_start_end_and_stop_times","stop_method","watch_token_hash","products_and_listing_snapshots","reported_recall_notices","chosen_channels","callback_url","email_address","email_fingerprint","email_confirmation_state_and_times","alerts","alert_delivery_records"],"never_stored":["name","postal_address","payment_details","raw_tokens"],"watch_term_months":24,"stop_removes_contact_details":true,"callbacks_enabled":false,"email_enabled":false,"changes_purchase":false},"statistics":{"published":[],"policy":"No statistic is published in this manifest until it is individually approved and independently verifiable."}}