
Research
/Security News
737 Chrome VPN Extensions Linked to Brand Impersonation and Browser Traffic Redirection
The campaign amassed more than 75,000 installs by targeting Russian-speaking users seeking access to blocked services.
@ar-agents/agentic-commerce-bridge
Advanced tools
Open-source merchant facilitator for the Agentic Commerce Protocol (ACP) bridging ChatGPT, Claude, Gemini, and other agentic-commerce clients to MercadoLibre and MercadoPago. ACP-compliant checkout sessions, signed webhooks, /.well-known/acp.json discover
The first open-source merchant facilitator for the Agentic Commerce Protocol (ACP) in LATAM. Bridges ChatGPT Instant Checkout, Claude, Gemini, and other agentic-commerce clients to MercadoPago + MercadoLibre, with AR-fiscal compliance (auto-issued AFIP/ARCA Factura A/B/C/E) baked in.
pnpm add @ar-agents/agentic-commerce-bridge zod
ACP, maintained by OpenAI + Stripe,
defines how AI agents talk to merchants on behalf of users:
discover products, build a cart, finalize a checkout, settle payment, and
confirm fulfillment — all over a small REST surface (5 endpoints +
/.well-known/acp.json discovery) with HMAC-signed webhooks.
Today, when ChatGPT or Claude wants to buy something from a LATAM seller, there is no on-ramp: MercadoLibre and MercadoPago don't ship ACP endpoints; the official MELI/MP MCP servers expose only documentation search. This package fills that gap. It's a drop-in facilitator that:
2026-04-17 endpoints + discoveryMerchant-Signature)Idempotency-Key, replay detection, conflict)supported_versions)InMemoryStateAdapter for dev, VercelKVStateAdapter
for production, BYO for anything else| Standard | Status (2026-05) | LATAM coverage |
|---|---|---|
| ACP (OpenAI + Stripe) | Production at ChatGPT Instant Checkout | None |
| UCP (Google + Shopify + Amazon + Microsoft + Stripe) | NRF 2026 launch | None |
| AP2 (Google → FIDO Alliance) | v0.2 + FIDO donation Apr 2026 | None |
| Visa Trusted Agent Protocol | Pilots in AR/BR/CL/MX/UY | MercadoPago absent |
| Mastercard Agent Pay LATAM | Live transactions Mar 2026 | MercadoPago absent |
| x402 (Coinbase + Stripe + Cloudflare) | 169M txns | None |
When ChatGPT Shopping expands into LATAM (Q3-Q4 2026 per OpenAI partner trajectory), MELI sellers without an ACP bridge will be invisible to agent-driven commerce. Stripe is positioning to ship LATAM ACP in 12-18 months; this package gives you a head start, on open-source terms.
import {
createFacilitator,
InMemoryStateAdapter,
createMercadoPagoPaymentProvider,
mercadoPagoPaymentHandler,
createMeliCatalogProvider,
createFacturacionHook,
} from "@ar-agents/agentic-commerce-bridge";
// You bring your own MELI + MP + AFIP clients (or use ar-agents siblings):
import { mlClient } from "./meli-client";
import { mpClient } from "./mp-client";
import { wsfeClient, arcaPadron } from "./afip-client";
const mp = createMercadoPagoPaymentProvider({
createPreference: (p) => mpClient.preferences.create({ body: p }),
lookupPayment: (id) => mpClient.payments.get({ id }),
});
const facilitator = createFacilitator({
state: new InMemoryStateAdapter(),
catalog: createMeliCatalogProvider({
getItem: (id) => mlClient.items.get(id),
}),
paymentProviders: { [mp.handlerId]: mp },
paymentHandlers: [mercadoPagoPaymentHandler({})],
webhookSecret: process.env.ACP_WEBHOOK_SECRET,
hooks: createFacturacionHook({
seller: {
cuit: "20123456786",
punto_venta: 1,
regime: "monotributo",
legal_name: "Naza Clemente",
},
wsfe: wsfeClient,
arcaPadronLookup: arcaPadron.lookup,
}),
});
// Next.js App Router catch-all route:
// app/api/acp/[...slug]/route.ts
export async function POST(req: Request, ctx: { params: { slug: string[] } }) {
const acpResponse = await facilitator.dispatch({
method: "POST",
path: "/" + ctx.params.slug.join("/"),
headers: Object.fromEntries(req.headers.entries()),
rawBody: await req.text(),
});
return new Response(JSON.stringify(acpResponse.body), {
status: acpResponse.status,
headers: acpResponse.headers,
});
}
That's it. Your store is now ACP-discoverable from any agent that follows the spec. ChatGPT, Claude, Gemini, Walmart Sparky, Microsoft Copilot, and any Vercel AI SDK agent can transact against you.
| Module | Purpose |
|---|---|
schemas/* | Zod schemas for every ACP 2026-04-17 shape — CheckoutSession, LineItem, Buyer, Address, FulfillmentOption (4 variants), PaymentData, Order, Cart, Capabilities, Discount, Webhook, Error |
webhook | signWebhook / verifyWebhook — HMAC-SHA256, Merchant-Signature: t=<unix>,v1=<64hex>, 300s tolerance per spec |
idempotency | Idempotency-Key validation + body-hash + state interface |
state | InMemoryStateAdapter (dev) + StateAdapter interface |
vercel-kv (subpath) | VercelKVStateAdapter — Redis-shape adapter (Vercel KV / Upstash / ioredis duck-typed) |
version | API version negotiation (API-Version header) |
handlers/* | The 5 ACP endpoint handlers + discovery + dispatcher + facilitator factory |
integrations/mp | createMercadoPagoPaymentProvider + sessionToPreferencePayload + payment-handler declaration |
integrations/mp-webhook | parseMpPaymentIdFromWebhook, mpStatusToAcpOrderStatus, buildAcpEventFromMpWebhook — translate MP notifications → ACP webhooks |
integrations/meli | createMeliCatalogProvider + buildMeliFeed (UCP-compatible) + meliItemToFeedProduct |
integrations/facturacion | createFacturacionHook — auto-emit Factura A/B/C/E via AFIP WSFE on order confirmation |
totals | buildLineItemTotals, buildOrderTotals, helpers for fulfillment + tax + discount rollups |
ids | generateSessionId, generateOrderId, generateCartId (UUID-backed) |
| Method | Path | Status |
|---|---|---|
POST | /checkout_sessions | ✅ |
POST | /checkout_sessions/{id} | ✅ (update) |
GET | /checkout_sessions/{id} | ✅ |
POST | /checkout_sessions/{id}/complete | ✅ |
POST | /checkout_sessions/{id}/cancel | ✅ |
GET | /.well-known/acp.json | ✅ (discovery, RFC 8615) |
Per-spec features:
Idempotency-Key mandatory on POSTs, replay detection (Idempotent-Replayed: "true"),
in-flight (409 + Retry-After), and body-hash conflict (422 idempotency_conflict).API-Version header negotiation; rejects unsupported with
supported_versions echo.VercelKVStateAdapter).createFacturacionHook is the unique-to-LATAM piece. When an ACP order
completes:
The buyer's IVA condition is resolved either explicitly (host-supplied
resolveBuyer) or automatically via ARCA padrón lookup
(@ar-agents/identity's ws_sr_constancia_inscripcion).
The factura type is selected from a normative matrix:
| Seller regime | Buyer condition | Factura |
|---|---|---|
monotributo | any | C |
responsable_inscripto | responsable_inscripto / monotributista | A |
responsable_inscripto | consumidor_final / other | B |
| any | extranjero (cross-border) | E |
WSFE solicitarCAE is invoked with the correct totals + IVA
breakdown (21% default for RI, 0% for monotributo Factura C).
The CAE, vencimiento, número, and IVA breakdown are embedded in
Order.metadata:
{
"factura_type": "C",
"factura_cae": "70123456789012",
"factura_cae_vencimiento": "20260520",
"factura_numero": 42,
"factura_punto_venta": 1,
"factura_cuit_emisor": "20123456786",
"factura_importe_total": 1210,
"factura_importe_iva": 0,
"factura_importe_neto": 1210
}
If WSFE rejects or padron lookup fails, the order still persists
(payment was already authorized) — the error is captured in
metadata.factura_error so the seller can re-emit out-of-band.
No competitor in the LATAM ACP/UCP/AP2 space ships this. Stripe Tax doesn't cover Argentine fiscal nuance and won't.
| This package | Stripe ACP | Shopify Storefront ACP | MELI/MP MCP (official) | |
|---|---|---|---|---|
ACP 2026-04-17 schemas | ✅ | ✅ | partial | n/a (docs-only) |
| Hosted-agent on Edge Runtime | ✅ | ✅ | ✅ | n/a |
| Webhook HMAC + replay protection | ✅ | ✅ | ✅ | n/a |
| MercadoPago bridge | ✅ | ❌ | ❌ | partial |
| MercadoLibre catalog | ✅ | ❌ | ❌ | partial |
| AR-fiscal Factura A/B/C/E | ✅ | ❌ | ❌ | ❌ |
| Argentine padrón lookup | ✅ (via @ar-agents/identity) | ❌ | ❌ | ❌ |
| MIT, open source | ✅ | ✅ (since Apr 2026) | partial | ✅ (docs only) |
Works in:
VercelKVStateAdapter for stateWebCrypto-only (no node:crypto imports). The bundle is < 30KB gzip.
~~-separated), constraint evaluation (payment.amount_range,
checkout.allowed_merchants, payment.budget), receipts (Checkout +
Payment) signed per FIDO Alliance Agentic Auth WG profile.pnpm test # 160 tests across schemas, webhook, idempotency, state,
# version, handlers, MP, MELI, facturacion, vercel-kv
pnpm test:coverage # full coverage report
pnpm typecheck # strict TS, no `any`, exactOptionalPropertyTypes
2026-04-17 is the targeted version; older versions are
recognized in version negotiation but new sessions emit 2026-04-17)wsfev1 SOAP spec, factura A/B/C/EMIT. Built by Naza Clemente / Hello Astro for the LATAM agent ecosystem.
@ar-agents/mercadopago — Mercado Pago Agent Toolkit (89 tools)@ar-agents/identity — CUIT/CUIL + ARCA padrón@ar-agents/facturacion — AFIP WSFE factura electrónica@ar-agents/banking — CBU/CVU + BCRA Central de Deudores@ar-agents/whatsapp — WhatsApp Business Cloud@ar-agents/shipping — Andreani / OCA / Correo Argentino@ar-agents/mcp — MCP server bundling all the aboveFAQs
Open-source merchant facilitator for the Agentic Commerce Protocol (ACP) bridging ChatGPT, Claude, Gemini, and other agentic-commerce clients to MercadoLibre and MercadoPago. ACP-compliant checkout sessions, signed webhooks, /.well-known/acp.json discover
The npm package @ar-agents/agentic-commerce-bridge receives a total of 23 weekly downloads. As such, @ar-agents/agentic-commerce-bridge popularity was classified as not popular.
We found that @ar-agents/agentic-commerce-bridge demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
The campaign amassed more than 75,000 installs by targeting Russian-speaking users seeking access to blocked services.

Company News
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.