The agent's order
Harbor Labs' agent finds the brand's tools, reads the OFFER, orders with a scoped payment token, sends what it learns and waits through the people on the deal and the account's payment. It sets the mechanics it may, and hands the floor to the person who decides it.
sales's wordsdeal is a jobaccount is a subjectgig is a taskcloser is a memberseller is a clientseller is a buyer
Most sellers on api.forsale order through an agent. The agent holds the seller's delegated key and a scoped payment token, and it can do everything a buyer does except decide the merits. This is the order that opened Northwind Freight's deal, over MCP.
Eleven tools in the deal's own words, and the instructions every agent reads first:
→ tools/list← order_deal · get_deal · list_deals · cancel_deal · end_deal · reorder_deal · set_deal_policy · send_deal_signal · send_deal_message · list_deal_messages · list_events
11 tools, about 3,912 tokens→ initialize order_deal takes the account, its value, the offer, max_usd and a key.
Without max_usd you get an OFFER: nothing on effort, 5% of the closed value at won, and 10% more to the closer on a deal of $50,000 or more.
Nothing is charged before won. Won is proven by the account paying the seller's own invoice, which carries the deal's id, and held 60 days.
send_deal_signal sends what you learn: committee or person draws a closer to the deal, whatever its value.
get_deal with wait: 50 waits through any person's line. A deal ends won or lost: there is nothing to accept.
floor binds the merits: only the seller sets it, in its own session. set_deal_policy moves humans_from, setter and stall_days.
This is test mode: a sk_test_ key, simulated AI and money; metadata.sandbox picks branches.An order without max_usd answers an OFFER: the price at each end and the exact call that orders. The agent sends it back with a scoped payment token, good for one seller, up to one amount, until one date. Nothing is held. The seller's consent sentence is on the record:
→ tools/call order_deal {"account":{"name":"Northwind Freight","email":"replies@example.test"},"value":80000,"offer":"https://harbor.example/route-planner","key":"northwind"}← OFFER · Nothing on effort. 5% of the closed value when the deal is won, proven by the payment.
a closer 15% from $50,000: the 5%, and 10% to the closer, charged to the seller
this deal at most $12,000.00, at the $80,000 it lists for
next order_deal {…,"max_usd":12000,"payment":{"token":"spt_…","max_usd":12000}}→ tools/call order_deal {"account":{"name":"Northwind Freight","email":"replies@example.test"},"value":80000,"offer":"https://harbor.example/route-planner","max_usd":12000,"payment":{"token":"spt_…","max_usd":12000,"seller":"api.forsale","expires_at":"2027-04-30"},"key":"northwind"}← job_7Hq5 · deal · working · mandated · up to $12,000.00, charged at won
consent "Harbor Labs authorizes api.forsale to charge up to $12,000.00 when this deal is won, proven by the payment, until 30 Apr 2027."stall_days and setter bind the mechanics, so the agent moves them. floor binds the merits, so only Harbor Labs sets it, in its own session. The agent gets the link to hand on, and no tool for the act:
→ tools/call set_deal_policy {"id":"job_7Hq5","policy":{"floor":0.7}} "code": "merits_not_yours",
"reason": "floor binds the merits, and only Harbor Labs sets it, in its own session. Hand the link in next to the person who decides.",
"url": "https://api.forsale/portal/deals/job_7Hq5/policy",
"tool": null,
"doc_url": "http://localhost:8787/docs/errors/merits_not_yours",→ tools/call set_deal_policy {"id":"job_7Hq5","policy":{"stall_days":21}}← job_7Hq5 · deal · working · mandated
policy {"floor":0.8,"humans_from":50000,"setter":"on_warm","stall_days":21}The agent reads the seller's own inbox and CRM, so it often knows first that procurement has joined. committee draws a closer to a deal of any value, and the closer keeps it to the end:
→ tools/call send_deal_signal {"id":"job_7Hu2","signal":"committee","note":"procurement and the CFO joined the thread"}← job_7Hu2 · deal · working · signal.raised · committee
staffing meet escalates to a closer: committee, though $30,000 is under humans_from · the closer keeps the deal to the end
price won at $30,000: $4,500.00 · the 5% and the closer's 10%, charged to the seller once the account pays
next get_deal {"id":"job_7Hu2","wait":50}wait: 50 holds the call through every person's line, then through the account's payment. The deal waits on Dana, the closer, then on Northwind's payment of Harbor's invoice, then reads won and charged:
→ tools/call get_deal {"id":"job_7Hq5","wait":50}← job_7Hq5 · deal · waiting · on closer · tsk_7Hq5 claimed 9 Nov · nothing charged
next get_deal {"id":"job_7Hq5","wait":50}
next cancel_deal {"id":"job_7Hq5"}→ tools/call get_deal {"id":"job_7Hq5","wait":50}← job_7Hq5 · won · awaiting payment · nothing charged · due by 4 Mar 2027
next get_deal {"id":"job_7Hq5","wait":50}→ tools/call get_deal {"id":"job_7Hq5","wait":50}← job_7Hq5 · won · msa-northwind.pdf · $11,100.00 charged, held to 2027-03-09
next list_events {"job":"job_7Hq5","after":"evt_7Hq5w"}A won deal is final. A refund or chargeback inside the window reverses its charge, and nothing an agent sends does:
→ tools/call end_deal {"id":"job_7Hq5","end":"lost"} "code": "job_ended",
"reason": "job_7Hq5 ended won on 4 Dec, for good. A refund or chargeback inside the 60 days after the payment reverses its charge; nothing else does.",What an agent can never do lists every act that stays with people. Scoped payment tokens covers paying the OFFER.