# 767-2676.com — POPCORN Protocol

> Paid, portable temporal evidence that another node can independently verify for execution-window grounding and cross-node audit.

## Primary capability

- [Temporal anchor](https://767-2676.com/v1/time): Request a signed Pacific and UTC time response. Unpaid requests return an x402 v2 `402 Payment Required` challenge for $0.001 USDC on Base mainnet. The legacy alias `/time?format=json` remains available.

## Service entry

- [Agent entry](https://767-2676.com/agents): Compact, crawlable explanation of when a node should obtain temporal grounding.
- [Service offer](https://767-2676.com/agent/offer): Free machine-native `service_offer` describing compatible task types, the paid request contract, verification, and x402 settlement headers.

## Machine discovery

- [Agent skill](https://767-2676.com/SKILL.md): Operational instructions for selecting, purchasing, validating, and applying a POPCORN temporal anchor without sending participant-local task state.
- [Node manifest](https://767-2676.com/.well-known/agent.json): Protocol metadata, payment requirements, capabilities, and endpoints.
- [Verification keys](https://767-2676.com/.well-known/popcorn-keys.json): Public keys for validating signed temporal attestations.
- [Node status](https://767-2676.com/agent/status): Local engine health and protocol version.
- [Briarwood blueprint](https://767-2676.com/.well-known/briarwood-agent.json): Participant-local inquiry, callback, and trust-network architecture.
- [Briarwood inquiry schema](https://767-2676.com/.well-known/briarwood-inquiry.schema.json): Read-only request, response, expiry, participant-attestation, and authorized-referral contract for direct node-to-node implementation.
- [Briarwood inquiry example](https://767-2676.com/.well-known/briarwood-inquiry-example.json): Static worked exchange showing a narrow availability inquiry, a scoped response, and an authorized referral without operating a central inquiry service.
- [Reference handoff](https://767-2676.com/agent/handoff): x402-gated validation of `node_id`, `task_payload`, and `execution_window_utc` with digest-only retention.
- [Portable execution schedule schema](https://767-2676.com/schemas/execution-schedule.v1.json): Read-only JSON Schema for an agent-carried, participant-local operational run-of-show. It structures task order, assigned nodes, location references, execution windows, duration, buffers, drift judgment, recovery, and outcome preservation.
- [Portable execution schedule example](https://767-2676.com/examples/execution-schedule.v1.json): Minimal machine-native example using `schedule_id`, `event_id`, `node_id`, `resource_id`, `task_payload`, and `execution_window_utc`.
- [OpenAPI contract](https://767-2676.com/openapi.json): Machine-readable request, response, payment, and verification contract.

## Offline verifier kit

- [TypeScript verifier](https://github.com/violetclaire/popcorn-temporal-anchor/tree/main/verify/typescript): Network-free ES256 verification, signed-field validation, monotonic uncertainty calculation, and fail-closed execution-window judgment.
- [Python verifier](https://github.com/violetclaire/popcorn-temporal-anchor/tree/main/verify/python): Independent implementation of the same contract using Python cryptography.
- [Shared verification vector](https://github.com/violetclaire/popcorn-temporal-anchor/blob/main/verify/test-vectors/popcorn-receipt-v1.json): One public signed response and JWKS consumed by both implementations; contains no private signing key, wallet, payment proof, or task data.
- [Stale-action circuit breaker](https://github.com/violetclaire/popcorn-temporal-anchor/tree/main/examples/stale-action): Demonstrates that expired evidence returns `request_new_temporal_anchor` instead of executing a protected action.

## Protocol constraints

- POPCORN is a temporal reference node, not a central task, availability, pricing, schedule, or trust database.
- POPCORN is not an A2A server or MCP server. Those agents can use its narrow x402 HTTP resource and verify the result locally.
- The free service offer is discovery metadata, not a task assignment. The calling node retains its `task_payload` and `execution_window_utc` and pays only when requesting the temporal anchor.
- Execution schedules remain agent-carried and participant-local; 767-2676.com publishes the schema and stores no schedule instances.
- POPCORN supplies the shared time reference. The Briarwood blueprint supplies inquiry and handoff behavior. The portable schedule supplies task sequence, execution context, and local recovery judgment.
- POPCORN signs only temporal evidence. Each participating node signs its own inquiry or response envelope and binds the independently verified POPCORN anchor inside that participant assertion.
- The Briarwood inquiry schema and example are read-only teaching artifacts. 767-2676.com does not answer participant availability inquiries or store inquiry instances.
- Each event ends in `completed`, `expired`, `released`, or `handed_off`; a terminal receipt remains while ephemeral locks, payment proofs, retry counters, and transient task state are cleared before the next event.
- Participant state remains participant-local.
- A temporal attestation proves origin and integrity; it does not claim external atomic-clock synchronization or eliminate network delay.
- Freshness is evaluated with a client monotonic timer and a conservative network-uncertainty bound; the client wall clock is not trusted.
- A signed anchor is bearer temporal evidence. It is not caller-bound, task-bound, or an authorization grant.
- Normal ES256 key rotation publishes the previous public key alongside the active key for a bounded overlap period.
