| Product Type | Infrastructure protocol + Trust Engine + SDK |
| Purpose | Provide a portable, cross-platform reputation layer that: |
| • Anchors trust in escrow-backed transactions | |
| • Supports arbitrary platform actions | |
| • Computes multi-dimensional trust | |
| • Prevents spam and collusion | |
| • Is verifiable and revocable | |
| • Is consumable via SDK |
DID Identity Layer
↓
Action Receipt Layer
↓
Trust Computation Engine
↓
Attestation / Credential Layer
↓
SDK + API
All trust inputs must be submitted as ActionReceipts.
{
"action_id": "uuid",
"subject_did": "did:key:...",
"platform_did": "did:web:ugig.net",
"action_category": "economic.transaction",
"action_type": "escrow_completion",
"counterparty_did": "did:key:...",
"value_usd": 500,
"confidence_level": "escrow_verified",
"metadata_hash": "sha256:...",
"timestamp": "2026-01-01T10:00:00Z",
"signatures": {
"platform": "...",
"optional_counterparty": "...",
"optional_escrow": "..."
}
}All platforms must map actions into one of these:
Economic
economic.transactioneconomic.disputeeconomic.refund
Productivity
productivity.taskproductivity.applicationproductivity.completion
Identity
identity.profile_updateidentity.verification
Social
social.postsocial.commentsocial.endorsement
Compliance
compliance.incidentcompliance.violation
Platforms can define custom action_type but must map to a core category.
Trust is computed as a vector:
T = {
E: Economic Score
P: Productivity Score
B: Behavioral Score
D: Diversity Score
R: Recency Score
A: Anomaly Penalty
C: Compliance Penalty
}
Each action has: base_weight(action_category)
Initial v1 weights:
| Category | Base Weight |
|---|---|
economic.transaction |
10 |
economic.dispute |
-12 |
productivity.completion |
5 |
productivity.application |
1 |
identity.verification |
3 |
identity.profile_update |
0.5 |
social.post |
0.05 |
social.comment |
0.02 |
compliance.violation |
-20 |
For transactions:
economic_weight = base_weight × log(1 + value_usd)
Prevents micro-spam.
For repeated identical action types:
adjusted_weight = base_weight × log(1 + unique_count)
Not linear accumulation.
All signals decay:
weight_t = weight × e^(-λ × days)
Default: 90-day half-life
Encourages:
- Unique counterparties
- Cross-category participation
- Non-repetitive activity
Simple v1 formula:
D = log(1 + unique_counterparties)
Each dimension:
DimensionScore = Σ(adjusted_weight × recency_decay)
Trust vector returned, not a single number.
Critical for social and productivity signals.
Construct graph:
Nodes:
- Agents
- Buyers
- Platforms
Edges:
- Transactions
- Endorsements
- Engagements
Flag:
- Tight cycles
- Repeated bilateral edges
- Small closed clusters
If cluster density > threshold: Apply anomaly penalty
If Agent A ↔ Agent B repeatedly endorse/comment only on each other:
engagement_weight *= reciprocal_penalty
Detect abnormal time clustering:
- Z-score over rolling window
- If > threshold → temporary dampening
Each platform has: PlatformTrustScore
Derived from:
- History
- Fraud incidents
- Volume legitimacy
- Registration age
All submitted actions scaled by platform trust.
Package: @coinpayportal/trust-sdk
submitActionReceipt(receipt)Validates:
- Signature
- Schema
- Platform registration
- Required fields
getTrustProfile(subjectDid)Returns:
{
"economic_score": 0,
"productivity_score": 0,
"behavioral_score": 0,
"diversity_score": 0,
"compliance_score": 0,
"anomaly_flag": false,
"recency_factor": 0,
"proofs": []
}verifyCredential(credential)generateProof(subjectDid, { metric: "dispute_rate", max: 0.02 })Supported:
- Receipt revocation
- Credential revocation
- Platform suspension
- Agent downgrade
- Buyer credibility downgrade
Revocation registry is public. Negative signals weighted heavier than positive.
External platforms must:
- Register DID
- Declare supported action types
- Map to canonical categories
- Use SDK for submission
- Accept revocation protocol
Optional:
- Use CoinPay escrow for high-trust signals
- ActionReceipt schema
- Basic economic signals
- Simple trust vector computation
- SDK submission + query
- Diminishing returns
- Recency decay
- Diversity multiplier
- Graph clustering
- Reciprocal detection
- Burst detection
- Platform trust scoring
- Slashing bonds
- ZK proof generation
- Cross-chain anchoring
- Weighted verifier policies
CoinPayPortal becomes: Escrow + Multi-Signal Portable Trust Infrastructure
ugig becomes: Signal producer + trust consumer
Other platforms can integrate without escrow but receive lower signal weight.
- No universal star rating
- No linear accumulation
- Heavy negative weighting
- Economic anchor dominance
- Diminishing marginal returns
- Time decay
- Public methodology
- ✅ DID identity layer (claim, link, manage)
- ✅ Basic reputation receipts (task_id, agent_did, buyer_did, amount, outcome)
- ✅ Simple windowed reputation query (30d/90d/all-time)
- ✅ Anti-gaming flags (circular payments, burst detection, unique buyer check)
- ✅ Verifiable credentials + revocation registry
- ✅ SDK methods (submitReceipt, queryReputation, etc.)
- ✅ CLI commands
- ❌ ActionReceipt schema (replaces simple receipt schema)
- ❌ Canonical action categories (economic, productivity, identity, social, compliance)
- ❌ Trust vector computation (E/P/B/D/R/A/C dimensions)
- ❌ Economic scaling:
log(1 + value_usd)weighting - ❌ Platform DID registration (reputation_issuers → platform trust)
- ❌
@coinpayportal/trust-sdkpackage (separate from current@profullstack/coinpay) - ❌
getTrustProfile()returning vector instead of simple windows - ❌
submitActionReceipt()with schema validation