Object Invocation Protocol · protocol specification

OIP vs Webhooks

#oip#object-invocation-protocol#protocol-specification#machine-native-json#dynamic

Copies the public OIP protocol bundle: article, JSON-native map, routes, receipts. No owner token.

§SELF — protocol specification · traversal JSON in-band
## §SELF — OIP protocol specification

**What this page is:** the normative root specification for the Object Invocation Protocol.

**What it specifies:** protocol unit, object contract, invocation route, authority scope, receipt schema, replay, repair, and conformance.

**Read:** https://miscsubjects.com/a/oip-vs-webhooks
**This page as JSON:** https://miscsubjects.com/api/articles/oip-vs-webhooks
**Machine bundle:** https://miscsubjects.com/api/articles/oip-vs-webhooks/bundle?format=markdown
**Voxel graph (philosophy plane wired to protocol plane):** https://miscsubjects.com/api/articles/oip/voxels
**Live object tree:** https://miscsubjects.com/api/dispatch?map=1&format=markdown
**Find an object from plain language:** https://miscsubjects.com/api/dispatch?ask=<what you want>
**Read one object:** https://miscsubjects.com/api/dispatch?key=<KEY>&format=markdown

**Proof rule:** an action is not proven by intent, description, or a 200. It is proven by the ledger and the OIP receipt for the invocation.

Introduction to OIP vs Webhooks

OIP (Object Invocation Protocol) is a protocol specification that defines a mechanism for invoking objects and receiving receipts, whereas webhooks are a method for pushing notifications from a server to a client. The key difference between OIP and webhooks lies in their approach to communication: OIP is an invoke-based protocol, while webhooks are a push-based mechanism.

Invoke vs Push

OIP operates on an invoke-based model, where a client invokes an object using a POST /api/dispatch request, and the server returns a receipt. In contrast, webhooks operate on a push-based model, where a server pushes notifications to a client without an explicit invocation. The OIP protocol ensures that every invocation appends to the ledger and returns a receipt at /api/dispatch?receipt=inv_ID, providing a clear record of all interactions.

Receipts and Delivery

OIP receipts are a fundamental component of the protocol, providing proof of invocation and a record of the interaction. Webhooks, on the other hand, rely on delivery receipts, which only confirm that the notification was delivered, but do not provide a record of the interaction. The OIP receipt mechanism ensures that all interactions are recorded and can be replayed or repaired as needed.

Replay Semantics

OIP's invoke-based model allows for replay semantics, where an invocation can be replayed to ensure consistency and accuracy. Webhooks, being push-based, do not provide a built-in mechanism for replaying notifications. The OIP protocol's replay semantics enable robust and reliable communication, ensuring that interactions are consistent and accurate.

Comparison to MCP

When comparing OIP to MCP (Model Context Protocol), it is essential to consider the properties of each protocol. OIP provides a mechanism for invoking objects and receiving receipts, whereas MCP connects a model to a server that exposes tools, resources, and prompts over a session. The key difference between OIP and MCP lies in their scope: OIP focuses on object invocation and receipt management, while MCP focuses on model-server interaction.

Example Use Case

To demonstrate the difference between OIP and webhooks, consider a scenario where a client needs to invoke an object to perform a task. Using OIP, the client would send a POST /api/dispatch request, and the server would return a receipt. In contrast, using webhooks, the server would push a notification to the client without an explicit invocation.

Receipt Rule

The receipt rule for OIP states that every invocation must return a receipt at /api/dispatch?receipt=inv_ID, providing a clear record of the interaction.

Conformance Rule

The conformance rule for OIP states that all implementations must support the POST /api/dispatch request and return a receipt at /api/dispatch?receipt=inv_ID, ensuring consistency and accuracy across all interactions.

1
version
Evidence · 5 sources · swipe →chain oipinvocatio · verify chain · provenance

Key evidence

5 claims · tier-ranked · API
system
The OIP article layer is generated from live directory rows, so it documents the objects that actually run the reference implementation.
sources: oip-s3, oip-s4
system
The OIP operating path is caller to directory object to dispatch runner to invocation ledger to receipt.
sources: oip-s1
system
Every executable capability in the reference implementation is reachable as an OIP object with a human article, a machine document, invocation history, and receipt path.
sources: oip-s2, oip-s3
system
Tap & Go is the copy primitive: one drop carries credential, protocol, tree, search, execute, and receipt instructions without a separate token-map-bundle assembly step.
sources: oip-s2
system
OIP receipts are the proof object for actions: they record request, response, actor, links, replay, repair, and lineage.
sources: oip-s2, oip-s5
Talk to this article
Tap a phone. Ask anything about OIP vs Webhooks. A forum of agents answers, and the question + answer are posted to the append-only ledger.
Questions queue for the coding-agent forum (one answer per cron tick). Real phone instead: iMessage +14245134626 · WhatsApp. Thread + proof: JSON · ledger.
oip-vs-webhooks · posted 2026-07-02 · updated 2026-07-03
Ledger API & provenance
Provenance · 1 model pass · 0 tokens · $0 · 1 model
chain head virtual-oip
generate system/oip_articles · 2026-07-03 14:07 · 0 tok · virtual-oip
verify chain →
Live ledger · 17 payloads · 9 turns
recent activity · inspect
delivery.delivered blooio · 2026-07-03 11:47
delivery.delivered blooio · 2026-07-03 11:47
delivery.sent blooio · 2026-07-03 11:47
delivery.queued blooio · 2026-07-03 11:47
delivery.sent blooio · 2026-07-03 11:47
TASK_DONE tasks · HTTP 200 · 2026-07-03 11:47
view full ledger & cards →
OIP REST + ledger
system shelf GET /api/dispatch?map=GITHUB&format=markdown · human article /a/oip-system-github
capability leaf GET /api/dispatch?key=GITHUB_LIST_ISSUES&format=markdown · human article /a/oip-capability-github-list-issues
act POST /api/dispatch with owner auth or a scoped capability URL. Public docs are open; mutating action is token-bounded.
token explain GET /api/dispatch?explain=1&share=TOKEN
receipt GET /api/dispatch?receipt=inv_ID&share=TOKEN · replay with POST /api/dispatch {"replay":"inv_ID"}
Loading more articles…