Simulates how 4-6 stakeholder perspectives react to a launch, announcement, price change,
Simulates how 4-6 stakeholder perspectives react to a launch, announcement, price change, decision or news. POST JSON {prompt, context?, perspectives?}. Returns strict JSON: sentiment, probabilities, controversy, objections, failure modes, fixes. $0.49 USDC/call on Base; 15-45 s.
490000 (raw units)
price
1
calls / 30d
1
unique payers
2026-09-11
updated
Provider
reactionpulse-production.reactionpulse-x402.workers.dev · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x5AE4864faD7C30A0A903BB7F7F807b9501e35AD8",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "490000",
"maxTimeoutSeconds": 120
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"body": {
"context": "Mid-size legaltech vendor with 1,200 customers. Competitors charge $49-149/month. Existing customers were promised no price increases during 2026.",
"output_language": "en",
"perspectives": [
"customer",
"skeptical_customer",
"competitor",
"analyst"
],
"prompt": "Company X launches a $199/month AI note-taker for law firms next week, replacing its $99 plan and adding automatic matter summaries."
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"confidence": 0.66,
"controversy_score": 74,
"disclaimer": "Analytical multi-perspective simulation generated by a language model. It does not represent real people, a survey, or calibrated probabilities, and it does not predict future events with certainty.",
"failure_modes": [
{
"description": "Existing customers churn to $49-149 competitors citing the broken promise.",
"likelihood": "high"
},
{
"description": "Summaries produce errors in client matters, triggering distrust.",
"likelihood": "medium"
}
],
"generated_at": "2026-09-04T12:00:00.000Z",
"input_integrity": {
"notes": "",
"status": "clean"
},
"key_uncertainties": [
"Actual time saved per matter by the summaries.",
"Whether the new plan includes other upgrades not described."
],
"likely_objections": [
"The 2026 no-increase promise is being broken.",
"A 100% price increase is not justified by one new feature.",
"AI summaries raise confidentiality and accuracy questions for legal work."
],
"likely_positive_reactions": [
"Automatic matter summaries address a real time sink.",
"Positions Company X as an AI-forward vendor."
],
"market_implications": [
"Competitors launch switching campaigns targeting Company X customers.",
"Price anchors in legaltech move toward AI-tiered plans."
],
"meta": {
"latency_ms": 9800,
"model": "claude-haiku-4-5",
"network": "eip155:8453",
"price_usd": "0.49",
"provider": "anthropic",
"tokens_in": 1900,
"tokens_out": 1500
},
"negative_probability": 0.58,
"overall_sentiment": 38,
"perspectives": [
{
"headline": "A broken promise costs more than the feature is worth",
"reasoning": "Existing firms remember the no-increase commitment; a 100% jump feels like a bait-and-switch even if summaries save time.",
"role": "customer",
"sentiment": 30,
"stance": "negative",
"top_appeal": "Automatic matter summaries",
"top_concern": "Price doubling against an explicit promise"
},
{
"headline": "Summaries must be accurate before anyone pays double",
"reasoning": "Lawyers will test summaries against their own notes and churn if accuracy or confidentiality is unclear.",
"role": "skeptical_customer",
"sentiment": 24,
"stance": "negative",
"top_appeal": "Reduced admin time if accuracy holds",
"top_concern": "Accuracy and confidentiality of AI summaries"
},
{
"headline": "An opening to win price-sensitive firms",
"reasoning": "Rivals at $49-149 can campaign on the broken promise and offer migration deals to unhappy customers.",
"role": "competitor",
"sentiment": 72,
"stance": "positive",
"top_appeal": "Immediate switching incentive",
"top_concern": "Company X bundling more features later"
},
{
"headline": "Revenue upside real, churn risk underpriced",
"reasoning": "Doubling ARPU could lift revenue, but a promise reversal invites churn and reputational damage that erodes the gain.",
"role": "analyst",
"sentiment": 48,
"stance": "mixed",
"top_appeal": "Higher ARPU and AI positioning",
"top_concern": "Churn among the 1,200 existing customers"
}
],
"positive_probability": 0.31,
"recommended_adjustments": [
"Grandfather existing customers at $99 through 2026 as promised.",
"Offer $199 as an optional AI tier with a 30-day accuracy trial."
],
"request_id": "4c5e0e6a-2f1d-4b6c-9a8e-1d2f3a4b5c6d",
"subject_summary": "Company X doubles its plan price to $199/month while adding automatic matter summaries, despite a 2026 no-increase promise.",
"version": "0.1.0"
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"audience": {
"description": "Optional primary audience the subject targets.",
"maxLength": 200,
"type": "string"
},
"context": {
"description": "Optional background: company, market, target segment, constraints, prior history.",
"maxLength": 4000,
"type": "string"
},
"output_language": {
"default": "en",
"description": "ISO language code for the output text.",
"pattern": "^[a-z]{2}(-[A-Za-z]{2})?$",
"type": "string"
},
"perspectives": {
"description": "Optional preferred perspectives. Suggested values: customer, skeptical_customer, developer, investor, competitor, early_adopter, analyst, content_creator, regulatory_risk, market, employee, partner. Free-text roles are accepted.",
"items": {
"maxLength": 40,
"type": "string"
},
"maxItems": 8,
"type": "array"
},
"prompt": {
"description": "The subject to simulate reactions to: a product launch, announcement, price change, decision, news item, hypothesis, proposal or URL description. Plain text.",
"maxLength": 6000,
"minLength": 8,
"type": "string"
}
},
"required": [
"prompt"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"confidence": {
"maximum": 1,
"minimum": 0,
"type": "number"
},
"controversy_score": {
"maximum": 100,
"minimum": 0,
"type": "number"
},
"disclaimer": {
"type": "string"
},
"failure_modes": {
"items": {
"additionalProperties": false,
"properties": {
"description": {
"maxLength": 300,
"minLength": 1,
"type": "string"
},
"likelihood": {
"enum": [
"low",
"medium",
"high"
],
"type": "string"
}
},
"required": [
"description",
"likelihood"
],
"type": "object"
},
"maxItems": 10,
"type": "array"
},
"generated_at": {
"description": "ISO 8601 timestamp (UTC).",
"type": "string"
},
"input_integrity": {
"additionalProperties": false,
"properties": {
"notes": {
"maxLength": 300,
"type": "string"
},
"status": {
"enum": [
"clean",
"suspicious"
],
"type": "string"
}
},
"required": [
"status",
"notes"
],
"type": "object"
},
"key_uncertainties": {
"items": {
"maxLength": 300,
"minLength": 1,
"type": "string"
},
"maxItems": 10,
"type": "array"
},
"likely_objections": {
"items": {
"maxLength": 300,
"minLength": 1,
"type": "string"
},
"maxItems": 10,
"type": "array"
},
"likely_positive_reactions": {
"items": {
"maxLength": 300,
"minLength": 1,
"type": "string"
},
"maxItems": 10,
"type": "array"
},
"market_implications": {
"items": {
"maxLength": 300,
"minLength": 1,
"type": "string"
},
"maxItems": 10,
"type": "array"
},
"meta": {
"properties": {
"latency_ms": {
"type": "integer"
},
"model": {
"type": "string"
},
"network": {
"type": "string"
},
"price_usd": {
"type": "string"
},
"provider": {
"type": "string"
},
"tokens_in": {
"type": "integer"
},
"tokens_out": {
"type": "integer"
}
},
"required": [
"model",
"provider",
"latency_ms",
"tokens_in",
"tokens_out",
"price_usd",
"network"
],
"type": "object"
},
"negative_probability": {
"maximum": 1,
"minimum": 0,
"type": "number"
},
"overall_sentiment": {
"maximum": 100,
"minimum": 0,
"type": "number"
},
"perspectives": {
"items": {
"additionalProperties": false,
"properties": {
"headline": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"reasoning": {
"maxLength": 900,
"minLength": 1,
"type": "string"
},
"role": {
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"sentiment": {
"maximum": 100,
"minimum": 0,
"type": "number"
},
"stance": {
"enum": [
"positive",
"mixed",
"negative",
"indifferent"
],
"type": "string"
},
"top_appeal": {
"maxLength": 300,
"type": "string"
},
"top_concern": {
"maxLength": 300,
"type": "string"
}
},
"required": [
"role",
"stance",
"sentiment",
"headline",
"reasoning",
"top_concern",
"top_appeal"
],
"type": "object"
},
"maxItems": 8,
"minItems": 3,
"type": "array"
},
"positive_probability": {
"maximum": 1,
"minimum": 0,
"type": "number"
},
"recommended_adjustments": {
"items": {
"maxLength": 300,
"minLength": 1,
"type": "string"
},
"maxItems": 10,
"type": "array"
},
"request_id": {
"description": "Server-generated UUID for this execution.",
"type": "string"
},
"subject_summary": {
"maxLength": 600,
"minLength": 1,
"type": "string"
},
"version": {
"type": "string"
}
},
"required": [
"request_id",
"version",
"generated_at",
"subject_summary",
"overall_sentiment",
"positive_probability",
"negative_probability",
"controversy_score",
"perspectives",
"likely_objections",
"likely_positive_reactions",
"failure_modes",
"market_implications",
"recommended_adjustments",
"key_uncertainties",
"confidence",
"input_integrity",
"meta",
"disclaimer"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
}Use it
curl
curl "https://reactionpulse-production.reactionpulse-x402.workers.dev/v1/reaction" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://reactionpulse-production.reactionpulse-x402.workers.dev/v1/reaction");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://reactionpulse-production.reactionpulse-x402.workers.dev/v1/reaction")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/8189.json, and this resource appears in /discovery/resources and /discovery/search.