The normalized layer model
InventoryOS sits between origin commerce platforms and the droplinked-side surfaces that consume normalized catalog + order data. The same normalized representation feeds every droplinked-side reader. Adding a new platform adapter means writing one webhook receiver — every downstream surface inherits the new source automatically.What InventoryOS stores per merchant
For each connected merchant, InventoryOS persists a thin, distribution-oriented slice of catalog + order state:- Normalized product catalog — titles, descriptions, variants, images, vendor, tags, SKU
- Stock levels — reflective; the origin platform stays the source of truth, droplinked never authoritatively claims a unit you didn’t tell us about
- Recent order events — for Schema C repayment-history attribution + affiliate tracking + agent-source revenue attribution
- Connection metadata — origin platform domain, webhook secret hash, last-sync timestamp, signing-validation mode
- Trust-fabric pointers — Schema A attestation UID, current lender associations (Schema B), current methodology hash, repayment-history rollup
What InventoryOS does NOT store
By design, InventoryOS stays out of surfaces that are already owned by the origin platform or by another droplinked subsystem:- Customer PII — names, addresses, account history all stay on the origin platform
- Payment credentials — card data, PSP secrets, and tokenization stay with the PSP backbone
- Origin-platform admin data — reports, analytics, app installs, theme content
- Custom-app data — apps installed on Shopify (or any other origin) keep their data on the origin
The connector pattern
Every platform adapter follows the same shape:- Webhook receivers for product
create/update/delete, inventory-level updates, and order events - Bulk sync for backfill — pages through the origin platform’s catalog API (when OAuth is available) to mirror products that pre-date the webhook subscription
- HMAC (or platform-equivalent) validation on every inbound webhook — Shopify and WooCommerce use SHA256 HMAC, BigCommerce uses signed JWT, Magento uses RSA signing
- Idempotent upserts keyed on the origin-platform product ID — replays and retries don’t double-write
- Conflict resolution — origin platform wins on price / title / description / stock; InventoryOS annotates the mirror with attestation pointers and agent-shoppable metadata
- Connect Shopify — live today; the most fully-built reference
- Connect WooCommerce, BigCommerce, Magento, or custom — same pattern, per-platform webhook setup
- Connect your store (generic shape) — platform-agnostic surface
Order events + attribution
Order webhooks do more than reconcile stock — they’re how droplinked attributes agent-sourced revenue and how Schema C repayment-history accrues. When an order webhook lands at InventoryOS, the event records the order ID, the items + variants, and a buyer-source tag that controls attribution:- From MCP / agent — revenue attributes back to the discovering agent + any upstream affiliate, settled via x402 on the 70/20/10 split
- From storefront direct — standard order; no agent attribution, no affiliate cut
- From ACP feed buyer surface — ACP attribution path, settles via Stripe ACP
mcp-agent on start_checkout invocations, the ACP buyer surface stamps acp, and any other path defaults to direct. The order webhook from the origin platform carries this tag forward in metadata (Shopify note_attributes, WooCommerce meta_data, BigCommerce custom fields, etc.) so InventoryOS doesn’t need to guess the source after the fact.
A normalized order event in InventoryOS looks roughly like this:
Reading from InventoryOS
Downstream droplinked-side surfaces never query the origin platform directly — they read from the InventoryOS mirror. This keeps the read path uniform regardless of origin and shields the origin’s rate budget from agent traffic.- Per-merchant MCP tools —
search_products,get_product,list_shop_products,start_checkoutall read from the merchant’s InventoryOS slice scoped to theirshopSlug - ACP feed builder — the nightly + on-update build of
apiv3.droplinked.com/feed/acp.jsonpages through every connected merchant’s InventoryOS catalog and emits a normalized ACP item per variant - Lender-routing recommendation —
GET /v2/lender-routing/recommendreads the merchant’s InventoryOS activity (revenue volume, channel mix, repayment streak) to weight lender ordering - Underwriting signals —
GET /v2/underwriting-signals/:merchantIdcomposes Schema B + Schema C reads from the trust-fabric pointers stored on the InventoryOS record - Affiliate attribution — order events carry the
buyer-sourcetag forward, and the affiliate-network worker reads order events from InventoryOS to settle x402 payouts
Trust-fabric tie-in
InventoryOS is the activity feed that the trust fabric reads against to decide what’s claimable:- Schema A — brand attestation. Operator-curated KYB. A brand attestation becomes claimable once InventoryOS has roughly 30 days of consistent catalog activity from the same merchant (so the brand-slug binding has a meaningful track record).
- Schema B — credit-risk attestation. Methodology-hashed at mint time. When a lender underwrites a merchant, the methodology hash from the published MethodologyRegistry entry is pinned into the on-chain attestation alongside the credit-tier.
- Schema C — repayment-history attestation. Accrues append-only from order events flowing into InventoryOS. Every settled order against an active credit line adds to the merchant’s rolling repayment record.
- Tier projection.
GET /v2/upgrade-preview?merchantId=...reads InventoryOS-tracked activity (revenue volume, repayment streak, attestation age) to project what the next financing tier requires.
Cross-channel reconciliation
The headline payoff of treating InventoryOS as a bridge rather than another silo: a single merchant can connect multiple origin platforms and get one unified droplinked-side posture.- A merchant selling on Shopify + WooCommerce + a custom Next.js site can connect all three to InventoryOS
- Single repayment-history accrues across all channels — Schema C rolls up settlement events from every connected origin
- Single lender-routing decision based on combined activity — the lender sees the merchant’s full revenue picture, not just one channel
- Single agentic distribution surface — one per-merchant MCP, one ACP feed entry, one brand-slug
- Brand attestation issued once — Schema A binds the brand-slug to the merchant wallet and applies to every connected channel
Operational characteristics
A few properties of the InventoryOS layer that matter when you’re wiring it up:- Idempotent ingestion. Every webhook is keyed on
(originPlatform, originId, eventType, occurredAt). Replays from the origin platform — Shopify’s webhook retry policy, WooCommerce’s re-fire, BigCommerce’s at-least-once delivery — collapse to a single mirror state without double-counting. - Eventual consistency, bounded. Per-merchant order-event lag from origin-platform write to InventoryOS visibility is typically sub-second; the cap is the origin platform’s webhook delivery SLA. The reconciler cron sweeps every 6h to catch any missed events via the origin’s catalog API.
- Backfill is explicit. Webhooks only carry events from the moment they’re subscribed forward. Initial-catalog backfill runs against the origin platform’s catalog API (paged products connection on Shopify, REST
/productson WooCommerce, V3 catalog on BigCommerce, REST/V1/productson Magento) — kicked from the connect endpoint, async for large catalogs. - Per-merchant rate-limits. InventoryOS shields the origin platform from the agent traffic on the droplinked side — agent reads hit the InventoryOS mirror, not the origin’s API. Your origin-platform rate budget stays yours.
- Audit-trail retention. Order events and attestation pointers are append-only — even on connector revocation, the historical record is retained for verifier-side audit. See the privacy callout below for the revocation-vs-deletion split.
Privacy + control
Customer PII stays on the origin platforms. InventoryOS sees only catalog + order metadata — the SKUs, totals, settlement IDs, and buyer-source tags needed for attribution and Schema C attestation. No customer profiles, no shipping addresses, no payment data.Merchants can revoke any connector at any time. Revocation pauses the corresponding mirror (no new events ingested) but does not delete historical data — Schema C is an append-only audit trail, and droplinked retains the historical record for compliance and verifier-side audit, in line with the rest of the trust fabric.
What’s coming
A realistic roadmap — what’s live today is the Shopify connector + the InventoryOS internal layer; these are the next adapters and surfaces, in roughly the order we’ll ship them:- WooCommerce connector — Q3 2026, WordPress plugin for one-click install on top of the webhook-config dance
- BigCommerce connector — official BigCommerce App Marketplace listing
- Magento 2.x connector — Magento extension with RSA-signature verification parity
- Custom-storefront SDK —
@droplinked/connector-sdkcovering REST + GraphQL helpers for arbitrary platforms (Next.js, React, Express, Rails, Django) - Two-way sync opt-in — per-field push of droplinked-side annotations (attestation badges, agent-revenue tags, lender-tier callouts) back into origin-platform admin notes
FAQ
Is InventoryOS a re-platforming layer?
Is InventoryOS a re-platforming layer?
No. InventoryOS is strictly additive — a one-way mirror that reads from your origin platform via webhooks. Your storefront, checkout, customer accounts, and admin all stay on the origin platform. You can revoke any connector at any time and the origin keeps working unchanged.
What happens if I connect multiple origin platforms for the same brand?
What happens if I connect multiple origin platforms for the same brand?
They roll up into one droplinked-side merchant. One brand-slug, one Schema A attestation, one per-merchant MCP, one ACP feed entry, one lender-routing posture. Order events across all origins accrue to the same Schema C repayment-history record. See Cross-channel reconciliation above.
Does droplinked ever push back into the origin platform?
Does droplinked ever push back into the origin platform?
Not today — every connector is one-way (origin → InventoryOS). Two-way sync is on the roadmap (opt-in, per-field) so droplinked-side annotations like attestation badges, agent-revenue tags, and lender-tier callouts can flow back into origin-platform admin notes. Your origin catalog and pricing stay yours.
What's the difference between the per-merchant MCP and the ACP feed?
What's the difference between the per-merchant MCP and the ACP feed?
Both are agentic-distribution surfaces, both read from InventoryOS, but they serve different agent shapes. The per-merchant MCP is interactive — agents call tools (
search_products, get_product, start_checkout) scoped to one shop. The ACP feed is index-shaped — a single JSON document with every connected merchant’s items, ingested in bulk by agentic shopping surfaces (ChatGPT shopping, Claude commerce surfaces) for discovery. A merchant inherits both automatically on connect.How is customer PII handled across connectors?
How is customer PII handled across connectors?
InventoryOS never receives customer PII. Order events carry only the fields needed for attribution and Schema C attestation — settlement ID, totals, item lines, buyer-source tag. Customer names, addresses, and payment data stay on the origin platform.
Related
- Connect your Shopify store — the live, fully-built reference adapter
- Connect WooCommerce, BigCommerce, Magento, or custom — same pattern, per-platform webhook setup
- Connect your store — platform-agnostic connect surface
- Storefront MCP Discovery — advertise your per-merchant MCP URL from your storefront
<head> - Trust fabric — Schema A/B/C/D attestation architecture
- For merchants — how droplinked composes with your existing commerce stack
- Lender Routing Recommendation — pick the right lender by jurisdiction
- Trust Fabric Statistics — public rollup of verified-brand counts and credit-attestation volumes