Start free with $5 of credit

SigWise reads the events and messages on your platform and answers the questions you care about: is this a scammer, how far can we trust them, are they ready to buy. Typed answers you can act on, in real time.

No card required · Pay only for what you analyze

user-marco

2 of 5 events

live
account.created · country NG · tempmail.io
Hi, is the iPhone 15 still available?
is_scammer0.21
trust_scoreneutral
high riskneutraltrusted
buyer_intent
comparing

Scores update after every event. Rules run on each new analysis.

A marketplace scam, scored as it unfolds. Final scores from a real analysis.

How it works

From raw activity to a decision in three steps

You already have the events. SigWise turns them into answers your product and your team can use.

01

Send what happens

Post events and messages about any object: a user, a listing, an order. Ingest returns in milliseconds, and a burst of activity is folded into a single analysis.

POST /v1/objects/user-42/events
{ "events": [
  { "type": "message",
    "content": "can I pay by wire?" } ] }
→ 202 Accepted
02

Ask your questions

Describe each signal in plain language. A yes/no probability, a category, or a place on your own scale. Adding one is an API call, not a model to train.

PUT /v1/signals/is_scammer
{ "type": "noul",
  "instructions":
    "Is this user trying to scam?" }
03

Act on the answers

Read typed answers from the API, receive them by webhook, or let rules alert your team on Slack or email the moment a line is crossed.

GET /v1/objects/user-42
{ "analysis": [
  { "key": "is_scammer", "noul": 0.96 },
  { "key": "trust_score", "score": 0 } ] }

Signals

Ask anything. Get an answer you can compute with.

Every signal returns a typed value with its probabilities, not a paragraph of text. Three shapes cover almost any question.

Yes / Nois_scammer
0.96likely scam

A probability from 0 to 1.

Categorybuyer_intent
ready_to_buy0.81
comparing0.15
browsing0.04

One option, with a probability for each.

Scoretrust_score
high riskneutraltrusted

A position on a scale you label.

Two speeds

Score in the background, or before anything goes live.

By default, events are analyzed asynchronously and answers are ready when you read them. When something must be checked before it's published, a message, a listing, a payout change, add "wait": true and get the verdict in the same request.

  • History-aware

    Each analysis sees the object's recent events plus a rolling summary of everything before, so a new message is judged in context.

  • Just the signals you need

    Score only the signals that matter for a decision, and choose whether history counts.

request
curl -X POST https://api.sigwise.ai/v1/objects/user-42/events \
  -H "Authorization: Bearer $ANALYZE_KEY" \
  -d '{
    "wait": true,
    "signals": ["is_scammer"],
    "events": [{ "type": "message",
      "content": "pay me by wire and I double it" }]
  }'
200 OK
{
  "object_id": "user-42",
  "analyzed": true,
  "answers": [
    { "signal": "is_scammer", "type": "noul", "noul": 0.97 }
  ]
}

Rules

Draw a line. Get told when it's crossed.

Write a condition over your signals, choose where it goes, and set a cooldown. Rules run after every analysis, whether it was queued or scored inline.

scammer alert
when is_scammer >= 90 and trust_score < 0.5
then slack #trust-safety · cooldown 1h

Slack alerts

Post to a channel the moment a rule matches.

Email

Notify your trust and safety team directly.

Webhooks

Signed with HMAC-SHA256, so you can verify every call.

Retries you can trust

Exponential backoff, a dead-letter queue, and one-click replay.

Developers

A small, predictable REST API

JSON in, typed answers out. Authenticate with an API key, or exchange a key and secret for short-lived tokens.

API keys with rotation, plus key + secret token exchange

Every account's data is isolated from every other

Signed webhooks with retries and replay

Read the docs
Define a signal
curl -X PUT https://api.sigwise.ai/v1/signals/buyer_intent \
  -H "Authorization: Bearer $ANALYZE_KEY" \
  -d '{
    "type": "choice",
    "instructions": "Where is this user in a purchase?",
    "criteria": {
      "browsing":     "Looking around, no specific item",
      "comparing":    "Asking about specific items, undecided",
      "ready_to_buy": "Arranging payment or pickup"
    }
  }'

Pricing

Pay for what you analyze. Nothing else.

No subscription, no seats, no minimums. Every account starts with free credit, and you top up by card whenever you want.

Every new account

$5free credit

Each analysis is billed at its actual model cost, typically a fraction of a cent. A short marketplace conversation costs about $0.0001 to analyze.

  • Prepaid balance, topped up by card
  • Usage by day, model, signal and source
  • Every charge itemized under Transactions
  • Analyses pause when your balance runs out

FAQ

Questions, answered

What SigWise is, how it differs from a moderation API, and what it costs.

What is SigWise?

SigWise is an API that reads the events and messages about the objects on your platform (users, listings, orders) and answers questions you define about each of them, such as "is this a scammer?", "how far can we trust them?" or "are they ready to buy?". Each answer is a typed value with probabilities, not free text, so your code can act on it.

How is it different from a content moderation API?

Moderation APIs classify a single piece of text into a fixed list of harm categories. SigWise answers questions you write yourself, and it judges each new message in the context of everything that object has done before, so it can catch a scam that unfolds over a conversation, score trust over time, or classify buying intent.

Do I need to train a model?

No. A signal is a plain-language question with a type (yes/no, a labelled score, or one of several categories) and criteria describing the answers. Creating or changing one is a single API call, and it applies from the next analysis.

How fast are the answers?

By default events are analyzed in the background a few seconds after activity settles, and a burst of events is folded into one analysis. When you need a verdict before something is published, send the events with "wait": true and the answer comes back in the same request.

How much does it cost?

There is no subscription, seat or minimum. Every new account gets $5 of free credit, then you top up a prepaid balance by card. Each analysis is billed at its actual model cost, typically a fraction of a cent; a short marketplace conversation costs about $0.0001.

How do I get results into my product?

Read the latest answers from the REST API, search objects by them (for example is_scammer >= 90), receive a signed webhook for every completed analysis, or define rules that send a Slack message, an email or a webhook when a condition becomes true.

Which languages are supported?

Anything that speaks HTTP and JSON. The API is described by an OpenAPI 3.1 specification, and typed SDKs for Node.js, Python, Go and PHP are generated from it, with request signing, retries and webhook verification built in.

Is my data kept separate from other customers?

Yes. Every account's objects, events, signals and answers are isolated from every other account's, and API requests are authenticated with short-lived tokens signed by your key's secret, which never leaves your server.

Your first answer is a few minutes away.

Create an account, send an event, and read the verdict. Starter signals for scams, trust and buying intent are ready from the first request.

SigWise: scam, trust and buyer-intent signals API