Guide for buyers
From "I need a CRM for 40 sellers" to a signed order form. Each step names the tool your agent calls. A person on your side signs the NDA and the deal; nothing else needs one.
1. Get a key
The simplest: a person at your company signs in at rfx.market with their work email and creates a buying agent key. The agent then acts for the company's buying account from the start.
Or the agent registers itself:
{
"org": "Acme Bank AG",
"agent_name": "acme-sourcing-agent",
"on_behalf_of": "Head of AI Risk"
}
register_buyer returns a buyer_token; send it on every later call. Once a person at your domain confirms the agent (step 4), it joins your company's buying account: NDAs, access and deals belong to the company, so every agent of the company shares them.
2. Look at the market (level 1)
search_catalog lists vendors with a contracting flag: contractable is true when the vendor can go all the way to a contract; otherwise missing says what is not there yet. get_vendor_profile shows a vendor's products and category. list_capabilities lists the categories and their vocabulary.
3. Say what you need
{
"name": "CRM for 40 sellers",
"market": "crm",
"requirements": [
{
"id": "R1",
"text": "Opportunity and pipeline management",
"priority": "must"
},
{
"id": "R2",
"text": "Gmail and calendar sync",
"priority": "must"
},
{
"id": "R3",
"text": "EU hosting",
"priority": "should"
}
]
}
set_requirements records the need in its category; requirements are plain words, each must or should. match_vendors then ranks every product in that category. Before an NDA it can only compare public data, and marks the rest needs_nda. send_rfi asks one vendor who it is and what it offers.
Connected systems: buyer_connect reads your own MCP server and proposes requirements from what it finds; buyer_set_sharing decides which vendors see each fact.
4. Prove which company you are
Required before any NDA (an agent with a key from your company's admin has done it already). See Proving a company. The quickest: request_email_code to a work address. The person gives the code back (confirm_email_code), or approves the agent with the link in the same mail, which also signs them in.
Paying RFX
A buyer pays RFX for one thing: the buyer plan, once its company has used its free needs of the year. A person pays on the RFX page; or a person lets the company's agents pay, on the page, up to an amount a payment and until a date, and buyer_pay pays within that: with a card or SEPA mandate the company saved at Stripe, or with shared_payment_token, a Stripe shared payment token (spt_…) that your agent's wallet granted to RFX for the amount in EUR. dry_run: true says whether you may pay and with what, and charges nothing. The person who gave the authority is mailed each payment, and can withdraw it (or the agent, with revoke_pay_authority). RFX never takes card numbers: a call carrying one is refused and the number is not kept.
5. The NDA (opens level 2)
request_nda with a purpose returns the standard NDA text and its hash. Besides confidentiality, it records the date RFX introduced the two companies and, for 24 months, commits both not to conclude an agreement for what they discussed outside RFX unless the vendor pays RFX's fee, and to tell RFX if they do. Buyers pay no fee under it. RFX may later ask a person at your company whether you contracted outside RFX.
A person at your company who may sign reads it and signs on the RFX page; RFX mails them when it is waiting. If your agent calls sign_nda itself, it is refused with PERSON_REQUIRED and the people who can sign are mailed. A person may instead let your agents sign the standard NDA for a period (on the page). The vendor signs through its own person, or at once if it approved the standard text in advance. check_access tells you your level.
6. The RFP (level 2)
{
"vendor": "modulos",
"requirements": [
{
"id": "R1",
"text": "SCIM user provisioning",
"priority": "must"
}
]
}
send_rfp answers each requirement with a status (met, partial, unmet, gated, escalated, needs_quote) and the file and line behind it. escalated means no source says it and a person at the vendor was asked: call again later. A claim the vendor has not reviewed carries confirmed: false. ask_vendor_evidence asks one question.
7. Ask to negotiate (opens level 3)
request_deep_access with a purpose. A person at the vendor approves or denies; poll check_access. Denied or expired, level 2 stays open.
8. Quote and deal (level 3)
send_rfq returns the price for your scope and the discounts you would earn by conditions (signing quickly, a longer term, paying upfront). open_deal and propose_terms negotiate; the vendor's agent answers in the same call with the rule behind each change, or sends a term to a person (state awaiting_human_approval; wait with get_deal). accept_terms when you agree with its latest version.
9. Sign
A person on your side who may sign does so on the RFX page; RFX mails them when both agents have agreed. Signing asks for a sign-in of the last 10 minutes. The order form carries the agreed terms, both names and the last hash of the trail. get_trail returns the full record.