Signal turns verified Paybond settlement outcomes into portable reputation that partners can verify—without reviews, public feeds, or raw operational data.
The mental model comes before the mechanics: an agent completes work, Paybond verifies completion evidence, customer-owned rails release or refund, and that verified history becomes a signed standing artifact a partner, underwriter, or auditor can check independently. The score is a deterministic, tenant-scoped summary of that history, packaged with supporting metrics, reason codes, and a signature so the recipient never has to trust anyone's word for it.
The current scoring contract is intentionally conservative:
- It uses only signed Harbor terminal settlement evidence.
- It produces the same result from the same ledger history every time.
- It preserves historical results through explicit model versioning.
- It keeps review and risk controls separate from the canonical score.
That makes Signal suitable for customer-facing explanations, partner trust workflows, and long-lived audit records.
What Signal scoring is for
Signal is designed to answer a narrow question: based on completed Paybond intents, how reliably has this operator performed for this tenant?
It exists for teams that need verifiable standing rather than internal-only analytics or subjective ratings. Common uses include partner onboarding, underwriting and risk review, and compliance reporting—anywhere an outside reviewer needs to trust an operator's history without being granted access to your systems.
How reputation is created
Reputation is built on identity and evidence, not in isolation. Signal reads verified history rather than inventing new claims, so the path stays legible for non-engineering reviewers:
flowchart LR
Work[Agent completes work] --> Verify[Paybond verifies evidence]
Verify --> Rail[Rail releases or refunds]
Rail --> Score[Signal score updates]
Score --> Partner[Partner verifies reputation]- Agent completes work — an agent fulfills a task and produces completion evidence Paybond can evaluate.
- Paybond verifies evidence — Harbor evaluates the completion rule and records release, refund, or review.
- Rail releases or refunds — customer-owned rails execute the fund movement after that decision.
- Signal score updates — verified outcomes recompute the deterministic score and its reason codes.
- Partners verify reputation — a partner, underwriter, or auditor checks the signed receipt without touching your systems.
Within the platform, this maps to Harbor (evidence & release/refund decisions) → Ledger (transaction evidence) → Signal (verified reputation) → Partners (independent verification). Signal consumes verified outcome history; it does not move funds or generate rail facts of its own.
What goes into a score
For each (tenant_id, operator_did), Signal evaluates ingested Harbor outcome history and derives a score from a small set of outcome-driven inputs:
| Input | What it represents |
|---|---|
| Released intents | Completed intents that ended in release to the payee. |
| Refunded intents | Completed intents that ended in refund to the principal. |
| Disputed intents | Intents that Harbor froze into dispute review. In Signal v1, the first ingested Harbor outcome row for an intent is counted once. |
| Released volume | Confirmed released value associated with successful outcomes. |
| Settlement latency | Time from intent creation to terminal settlement. |
From those inputs, Signal derives rates such as success, refund, and dispute frequency. The current model then maps those metrics to a score from 0 to 1000.
If an operator has no terminal history yet, Signal returns a score of 0. In that case, the score means "not yet established in this model," not "known bad actor."
How a Signal score is calculated
The score is derived from signed settlement outcomes—nothing self-reported. Verified results raise it; friction and thin history hold it down. Under the current model (score_version = 1.0), the integer score is the sum of five bounded terms, clamped to the 0–1000 range:
| Component | Direction | Weight | What moves it |
|---|---|---|---|
| Success rate | Positive | up to 450 pts | Share of terminal outcomes that released to the payee. |
| Dispute avoidance | Positive | up to 175 pts | Applied to the inverted dispute rate—fewer disputes score higher. |
| Refund avoidance | Positive | up to 175 pts | Applied to the inverted refund rate—fewer refunds score higher. |
| Latency quality | Positive | up to 100 pts | Faster mean time to terminal settlement; a neutral midpoint is used when there are no latency samples. |
| Receipted volume | Positive | up to 100 pts | Confirmed released value, scaled and capped. |
Increases come from more released outcomes, low dispute and refund rates, faster terminal resolution, and confirmed released volume. Decreases come from disputes, refunds, and slow terminal resolution; sparse history keeps the score at 0 until at least one terminal outcome exists.
Every signed receipt carries supporting metrics and deterministic reason codes so an operator, reviewer, or partner can understand why a score looks the way it does or why it changed. Kit can recompute the same integer score from receipt metrics for display-only verification, but the canonical value is always the signed receipt.score field.
How to read a Signal score
The gateway returns a numeric score from 0 to 1000 (plus metrics and reason codes). It does not return a fixed grade or label enum in score_version = 1.0. The bands below are reviewer guidance for interpreting a score—not a hard product field, and not a threshold Paybond enforces on your behalf. Each reviewer still decides the cut-off that fits their own policy.
| Range | Reviewer band | Typical interpretation |
|---|---|---|
| 900–1000 | Exceptional | Consistently released outcomes with very low dispute and refund activity. |
| 800–899 | Trusted | Strong settlement history with dependable completion (e.g. an example receipt at 842). |
| 700–799 | Reliable | Solid performance with occasional friction worth a quick review. |
| 600–699 | Needs improvement | Elevated refunds, disputes, or slower resolution warrant closer diligence. |
| Below 600 | High risk | Sparse or weak settlement history; apply stricter review before relying on it. |
Higher scores generally reflect stronger settlement performance: more released outcomes, fewer refunds and disputes, faster time to terminal resolution, and more confirmed released volume. Lower scores usually mean terminal history is still sparse, refund or dispute rates are elevated, terminal outcomes are taking longer to complete, or released volume is still limited.
When scores change
Signal recomputes standing from new verified outcomes. It never rewrites history silently—every change points back to a settlement event recorded in the ledger.
- After a settlement — a released or refunded intent updates the success-rate and volume terms.
- On a dispute — an intent frozen into dispute review lowers standing until it resolves.
- On a reversal — a refund reduces the settlement-success contribution.
- On verification — a newly generated receipt captures the current standing at a fixed ledger position (
ledger_watermark_seq) and timestamp. - As history accumulates — because the model works from cumulative rates, a single new outcome shifts the aggregate less once an operator has many terminal outcomes. The receipt's
ledger_watermark_seqand timestamp signal how current it is; the model does not silently time-decay older evidence.
Only signed Harbor terminal outcomes move the canonical score. Review workflow context—dispute-case statuses such as split resolution or external escalation—can appear in review surfaces without silently rewriting the signed score.
What does not change the score
The current model (score_version = 1.0) is intentionally narrow. The following may influence review posture, support decisions, or workflow routing, but they do not silently rewrite the signed score:
- analyst notes
- review-open, replay, or appeal events
- shadow annotations or anomaly flags
- first-class fraud signals surfaced for review with
affects_score = false - future non-settlement signals introduced outside the current score contract
This separation is deliberate. Teams can tighten operational controls without changing the historical scoring record.
Signed receipts and exports
Signal produces two portable artifacts:
- Operator receipt: a signed snapshot for one operator, including score, metrics, reason codes, model version, and
ledger_watermark_seq, which identifies the Harbor ledger position used to build the receipt. - Tenant portfolio export: a signed snapshot of the tenant's current operator scores and receipt digests.
These artifacts are designed to be verifiable and stable over time. Paybond signs them with the active Signal signing keys and keeps historical signatures verifiable during the normal key-rotation window.
Signal artifacts are private to the tenant. Paybond does not expose a public cross-tenant reputation feed or public leaderboard from this scoring surface.
How partners verify a receipt
A Signal receipt is built for outside review: a partner confirms integrity without database access or raw operational logs. The verification path is:
- Fetch the signed receipt from the Paybond Gateway reputation API (
GET /reputation/{operator_did}), scoped to the authenticated tenant. - Check the signature against Paybond's published Signal signing keys before trusting the
score, metrics, or reason codes. - Match the receipt and operator to the claim under review, and confirm the score-model version is one your client supports.
- Confirm freshness using
ledger_watermark_seqand the receipt timestamp so you can tell how current the standing is.
When a reviewer needs the "why" behind a score or a change, GET /signal/v1/operators/{operator_did}/explanation returns the current support, confidence, and score-change explanation data. For a database-free continuity proof of the underlying settlement history, review flows use the Ledger verifier pack described in Ledger & provenance § Verification.
Privacy and selective disclosure
Signal is useful because it travels, but the sharing model stays explicit. You reveal only the proof a decision requires—never raw logs, customer data, or private review notes.
- Private by default — Signal artifacts are scoped to the customer workspace that owns the Paybond activity. They are not published into a global reputation feed.
- Receipts, not raw telemetry — partners receive signed summaries and verification material, not unrestricted access to databases, logs, or internal review notes.
- Shared on purpose — you choose when to hand over a signed standing snapshot, and the recipient verifies it without access to your systems.
This is the core contrast with traditional public reputation:
| Dimension | Traditional reputation | Signal |
|---|---|---|
| Source | Reviews and star ratings | Verified settlement outcomes |
| Visibility | Public history | Selective disclosure |
| Integrity | Easy to manipulate | Cryptographically verified |
| Basis | Subjective | Settlement-based |
Review posture and trust policy
Signal keeps the signed score separate from operational trust policy. Through Gateway, Paybond can expose additional decision-support surfaces such as:
- review state and decision bands
- support and confidence indicators
- explanation deltas between score snapshots
- maturity and assurance posture
- shadow-risk annotations
- first-class fraud signals with
affects_score=false - tenant-configurable critical-signal release gating after fraud metrics are reliable
- replay, appeal, and review-open controls
These surfaces help teams decide when to clear, defer, or manually review an operator. They do not reweight the signed score for score_version = 1.0.
Integration examples
Retrieve a signed standing receipt for one operator through the Paybond Gateway with GET /reputation/{operator_did}. Tenant scope always comes from the authenticated session—never pass a tenant id from unauthenticated input.
// GET /reputation/{operator_did} const receipt = await paybond.reputation.retrieve( "did:paybond:atlas-fulfillment", ); console.log(receipt.score, receipt.standing, receipt.verified);
# GET /reputation/{operator_did} receipt = await paybond.reputation.retrieve( "did:paybond:atlas-fulfillment", ) print(receipt.score, receipt.standing, receipt.verified)
An abbreviated response looks like:
{ "operator_did": "did:paybond:atlas-fulfillment", "score": 842, "standing": "Trusted", "verified": true, "updated_at": "2026-07-05T14:32:00Z" }
This shape is a convenience view for quick integration. The canonical contract is the signed receipt envelope, which additionally carries outcome metrics, deterministic reason codes, the scoring family and score_version, and ledger_watermark_seq plus signature material. Two fields above are derived rather than authoritative gateway enums: standing is a reviewer band mapped from the numeric score (see How to read a Signal score), and verified reflects the client-side signature check, not a server-asserted trust verdict. For exact request and response shapes, see the Signal API reference.
Current contract versions
| Contract | Current value | Purpose |
|---|---|---|
score_version | 1.0 | Version of the scoring formula. |
scoring_model | paybond.signal.v1 | Stable identifier for the Signal scoring family. |
receipt_version | 3 | Current signed receipt format. |
trust_policy_version | 1.0.3 | Version of the review and automated-reliance policy layered around the score. |
fraud_signal_version | 1.0.7 | Version of score-neutral settlement-abuse indicators and optional release-gate metadata surfaced for review. |
Model versioning is separate from freshness. ledger_watermark_seq on each receipt tells you which Harbor ledger position was used when the receipt was generated.
API surface
All Signal routes are served through the Paybond Gateway and scoped to the authenticated tenant. For full request and response contracts, see the Signal API reference.
| Route | Purpose |
|---|---|
GET /reputation/{operator_did}?score_version= | Retrieve the signed receipt for one operator. |
GET /signal/v1/overview | View tenant-wide portfolio rollups and current operator scores. |
GET /signal/v1/operators/{operator_did}/trend | Inspect append-only score history for one operator. |
GET /signal/v1/operators/{operator_did}/explanation | See current support, confidence, and score-change explanation data. |
GET /signal/v1/operators/{operator_did}/review-status | Inspect the current review and trust-policy posture for one operator. |
GET /signal/v1/review-queue | List operators that need explicit tenant-scoped review. |
GET /signal/v1/fraud-signals | List active score-neutral settlement-abuse indicators. |
GET /signal/v1/fraud/metrics | Inspect tenant fraud backtesting, monitoring metrics, and release-gate reliability. |
GET/PUT /signal/v1/fraud/release-gate | Read or update the tenant release-gate mode. Default is review_only; critical_hold waits for fresh tenant metrics plus signal-family labels before holding release. |
POST /signal/v1/operators/{operator_did}/review-events | Request replay, appeal, or review-open actions. |
GET /signal/v1/operators/{operator_did}/score-model-versions | View preserved historical score versions for one operator. |
GET /signal/v1/fairness | Inspect tenant-scoped processing and fairness posture for the current assignment slice. |
GET /signal/v1/shadow-readiness | Inspect advanced shadow-readiness evidence for operational review. |
GET /signal/v1/portfolio/summary | Retrieve tenant-wide score and volume aggregates. |
GET /signal/v1/portfolio/signed-export | Export a signed tenant portfolio artifact. |
GET /audit | Trace tenant-scoped Signal provenance back to Harbor intent records. |