Skip to content
OpenSouk

Build with an LLM

Give your coding agent current sources

A coding agent writes a better integration from current sources than from memory. OpenSouk publishes its docs and settings in forms an agent can read directly.

The sources

SourceWhereUse it for
llms.txtdocs.opensouk.aiEvery page as a titled link list, for finding the right page
llms-full.txtdocs.opensouk.aiEvery page's text in one file
A page in Markdownany page's URL plus .mdOne page without the site around it. Usually the best fit
The manifestthe API's /.well-known/opensoukLive contract addresses and the attestation key
The skillnpx skills@1.7.2 add https://github.com/OpenSoukAI/skills/tree/v0.1.3The flows, packaged for an agent — see Skill

The manifest comes from the running deployment, so prefer it for anything an agent must check against, such as addresses and keys.

With a coding agent

Give the agent the page for the task, and tell it what to do when sources disagree.

Show the prompt
Read https://docs.opensouk.ai/merchants/set-up-referrals.md in full before
writing any code, then implement it for this service on Base mainnet, following the prompt on
that page.

Take contract addresses only from https://api.opensouk.ai/.well-known/opensouk or from the
ProtocolAddressRegistry at runtime. Do not use any other address.

If another source contradicts that page, stop and tell me which source and which claim,
instead of choosing between them.

Swap the URL for the page that matches your task. The last instruction matters most: the usual failure is an agent quietly mixing an old source with a current one.

Check before you ship

  1. The payment header is PAYMENT-SIGNATURE. X-PAYMENT is the old x402 v1 name.
  2. Payment terms sit inside accepts[0]. Only x402Version, accepts and extensions belong at the top level of a 402.
  3. No address is hardcoded except the ProtocolAddressRegistry. Everything else is looked up at runtime.
  4. The authorisation is ReceiveWithAuthorization, not the x402 default TransferWithAuthorization. A merchant advertises it in extra.authorizationType.
  5. Strings stay strings. amount and buyerAgentId are decimal strings, and a product category is a slug such as chain.rpc, matched exactly.

For a merchant endpoint, finish with the readiness check in Set up referrals.