Merchants API
Merchants are businesses or services that receive payments from AI agents through Subcent. Each merchant has a wallet address, a business category, and an optional product catalog.
Register Merchant#
/v1/merchants/registerRegister a new merchant to receive agent payments.
Request Body#
| Field | Type | Required | Description |
|---|---|---|---|
| wallet_address | string | Yes | The merchant's wallet address for receiving payments |
| chain | string | Yes | Blockchain the merchant operates on: "solana" or "base" |
| business_name | string | Yes | Display name of the business |
| category | string | Yes | Business category (e.g., "groceries", "electronics", "api_services") |
| catalog_url | string | No | URL to the merchant's product catalog API |
| webhook_url | string | No | URL to receive payment notifications |
Standard Categories#
Merchants should use one of the standard categories for policy compatibility:
groceries, household, electronics, clothing, health, beauty, books, entertainment, api_services, data_services, computing, storage, transportation, food_delivery, subscription
Example Request#
{
"wallet_address": "8xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",
"chain": "solana",
"business_name": "FreshMart Groceries",
"category": "groceries",
"catalog_url": "https://api.freshmart.com/catalog",
"webhook_url": "https://api.freshmart.com/subcent/webhooks"
}
Response#
{
"merchant_id": "mrc_660e8400-e29b-41d4-a716-446655440000",
"wallet_address": "8xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",
"business_name": "FreshMart Groceries",
"category": "groceries",
"status": "pending_verification",
"created_at": "2025-01-15T10:30:00.000Z"
}
Newly registered merchants start in pending_verification status. Verification is completed after confirming wallet ownership. Agents can still target pending_verification merchants for payment requests.
Errors#
| Error Code | Description |
|---|---|
| internal_error | Unexpected server error |
Get Merchant Catalog#
/v1/merchants/:id/catalogRetrieve merchant catalog information.
This endpoint returns merchant details along with their product catalog. If the merchant has synced a catalog, items will be included in the response.
Path Parameters#
| Parameter | Type | Description |
|---|---|---|
| id | string | The merchant ID |
Response#
{
"merchant_id": "mrc_660e8400-e29b-41d4-a716-446655440000",
"items": [
{
"itemId": "item_001",
"name": "Organic Bananas",
"description": "Fresh organic bananas, 1 bunch",
"price": "3.99",
"currency": "USDC",
"category": "groceries",
"inStock": true,
"stockQuantity": 150,
"deliveryDays": 1,
"deliveryFee": "0.00",
"rating": 4.8,
"reviewCount": 234
}
],
"total_items": 1,
"last_updated": "2025-01-15T10:30:00.000Z"
}
Errors#
| Error Code | Description |
|---|---|
| merchant_not_found | No merchant exists with the given ID |
Merchant Statuses#
| Status | Description |
|---|---|
| pending_verification | Merchant is registered but wallet ownership not yet verified |
| verified | Merchant is fully verified and operational |
| suspended | Merchant account is suspended; payments will be rejected |