Skip to content
OpenSouk

Discovery routes

Find products, and find out what a merchant already sells

Discover products

GET/v1/discover

Search products by intent, and get a review slate and ref link for each.

Query Parameters

intentRequired
string

Free text. Empty or absent is a 400.

Examplean RPC endpoint with low p95 latency
category
string

Exact match against the merchant-declared category.

price_ceiling
integer

USDC base units. A value that does not parse as an integer is IGNORED, not rejected.

price_sensitivity
number·min 0·max 1

How much price influences product ordering. 0, the default, ignores price; 1 strongly prefers cheaper among products that already match. Never excludes a product. Values outside 0 to 1 are clamped, and an unparseable value is treated as 0.

max_products
integer·default 5

Anything outside 1-20 silently becomes 5.

include_all
string

Only the exact string true enables it. Appends a block of overflow reviews. Debug output.

chain_id
integer

Absent, the server uses its first configured chain — Base Sepolia in the shipped default.

Example84532

Responses

Discover a merchant's endpoints

GET/v1/merchant/{id}/discovery

List a merchant's publicly discoverable x402 endpoints.

Path Parameters

idRequired
integer

The merchant id. Negative is a 400.

Example42

Query Parameters

pay_to
string

Repeatable. Extra payout addresses to search under. More than 10 is a 400. The merchant's own resolved wallet and owner are always searched regardless.

chain_id
integer

Absent, the server uses its first configured chain — Base Sepolia in the shipped default.

Example84532

Responses

Onboarding manifest (JSON)

GET/.well-known/opensouk

Get the onboarding manifest a tool-less agent needs, as JSON.

Responses

Onboarding manifest (prose)

GET/.well-known/opensouk.txt

Get the same onboarding manifest as plain text.

Responses

Next steps