Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.blnkfinance.com/llms.txt

Use this file to discover all available pages before exploring further.

Blnk Watch is a lightweight, rule-based transaction monitoring engine. Watch evaluates transactions using rules written in a simple domain specific language (DSL) called WatchScript .ws. Here’s how it works: you send transactions to Watch, and it returns a risk verdict, so you can enforce limits, detect fraud, and stay compliant without running heavy infrastructure. In this quick start, you will:
  1. Start the Watch service
  2. Write a rule
  3. Send a transaction for evaluation
  4. See the risk decision
Let’s dive in!
1

Install Blnk Watch

Install Watch with direct download (no repo or Go required), then start the service:
curl -fsSL https://blnkfinance.xyz/install/watch | bash
blnk-watch start
By default Watch listens on port 8081. The service is ready when it starts listening on the port.
2

Create your first rule

Create a rules directory and add a rule file:
mkdir -p watch_scripts && cd watch_scripts
touch HighValueUSD.ws
Add this rule to HighValueUSD.ws:
rule HighValueUSD {
  description "Flag USD transactions over 4,000 for review"

  when amount > 4000 and currency == "USD"

  then review
       score   0.5
       reason  "USD transaction exceeds 4,000"
}
This rule triggers for any USD transaction above $4,000.
3

Send a transaction

Use the inject endpoint to send a transaction to Watch.
Request
curl -X POST http://localhost:8081/inject \
  -H "Content-Type: application/json" \
  -d '{
    "transaction_id": "txn_quickstart_001",
    "amount": 5000,
    "currency": "USD",
    "source": "acct_sender",
    "destination": "acct_receiver",
    "reference": "ref_001",
    "description": "Sample transfer"
  }'
If successful (200), Watch queues the transaction for evaluation.
Response
{
    "message": "Call GET /transactions/{id} to fetch the processed transaction or set ALERT_WEBHOOK_URL to get webhooks when a rule triggers for the transaction.",
    "transaction_id": "txn_quickstart_001"
}
4

Check the result

Fetch the processed transaction:
curl http://localhost:8081/transactions/txn_quickstart_001
You should see a response similar to:
Response
{
    "meta_data": {
        "consolidated_risk_assessment": {
            "final_reason": "USD transaction exceeds 4,000",
            "final_risk_score": 0.5,
            "final_verdict": "review",
            "source_count": 1
        },
        "dsl_verdicts": [
            {
                "reason": "USD transaction exceeds 4,000",
                "rule_id": 0,
                "score": 0.5,
                "verdict": "review"
            }
        ],
        "evaluation_status": "completed",
        "risk_evaluation_timestamp": "2026-03-15T22:12:00.99813+01:00"
    }
}
The verdict appears because the transaction amount, 5000 USD, triggered the rule.Try sending another transaction with a smaller amount, such as 3000 USD. Because it does not meet the rule condition, the rule will not trigger. You can also experiment with different amounts or currencies to see how the rule behaves.