---
title: Merchant integration
description: Register services, verify domains, publish offers, and configure merchant backend admission.
---

[Open the dashboard merchant portal](/app?tab=merchants) to register services, verify domains, publish offers, and issue scoped API credentials. Merchants set their own service terms; free offers use a zero price. An offer identifies the service operation, category, billing unit, description, and price. Publish a price in US dollars; the gateway stores the corresponding integer microcredit amount. Agent permissions are configured separately by the owner.

[Check application access from your backend](/fr/docs/merchant-integration) using a merchant credential scoped to `access:check`. Independently verify the AgentID session for your application, then submit that verified issuer and subject with your configured offer ID to `POST /v1/access/merchant-check`. No second agentsub agent token or upstream provider key import is required. A free offer can cover the whole application without financial writes; a paid offer’s `paymentRequired` result is not entitlement or proof of payment.

Verify spending authority before delivering a paid service. Capture and fulfillment retries must remain idempotent. Provider status determines whether a payment method is available. [Gateway contract](/fr/reference) · [Payment methods](/fr/docs/payments).

## Inference and subscription services

An inference provider or subscription service can register as a merchant using its actual domain and category. Publish only operations your service already fulfills, with a specific billing unit and price. A category label does not connect an AI provider, meter tokens, or start a recurring subscription. Provider integration and entitlement delivery remain the merchant’s responsibility; agentsub does not currently schedule recurring charges.

## Service settings and credentials

Edit the service name and comma-separated categories in the portal. `PATCH /v1/merchants/{merchantId}` accepts `name` and/or `categories`; the registered domain is immutable. Categories used by active offers cannot be removed. Register a separate service for another domain.

Merchant key metadata returns `id` and `keyId` as aliases for the same credential identifier. The plaintext key is shown only once; store it securely. The `access:check` scope permits backend admission checks against your own offers, not management of another merchant or import of a provider credential. Revocation prevents subsequent checks. API and MCP metadata publish the same admission endpoint and scope for discovery.
