What is IOTA Repstation?
IOTA Repstation is a decentralized reputation system built on IOTA’s MoveVM that enables applications to create and manage transparent, portable reputation scores. Unlike traditional centralized rating systems, IOTA Repstation provides:- Deal-bound ratings - All ratings are tied to actual transactions
- Cross-platform portability - Reputation follows users across all integrated platforms
- App-scoped isolation - Each app maintains its own reputation namespace
- Blockchain transparency - All ratings are publicly verifiable on IOTA
System Architecture
graph TB
A[User A] —>|Creates| D[Deal]
B[User B] —>|Accepts| D
D —>|Completion| R[Ratings]
R —>|Aggregates to| G[Global Reputation]
R —>|Aggregates to| AS[App-Scoped Reputation]subgraph “IOTA Blockchain”
D
R
G
AS
end
Key Components
1. Applications & Namespaces
Each platform that integrates IOTA Repstation registers as an Application with its own unique namespace:- Isolated reputation scoring per application
- Prevents cross-app rating manipulation
- Enables app-specific reputation policies
2. Deals
A Deal represents an agreement between two parties (party_a and party_b) within your application:
- Subject Reference: What the deal is about (NFT, service, loan, etc.)
- Amount: Deal value (for reputation weighting)
- Parties: The two participants in the transaction
- Status:
PENDING→ACTIVE→CLOSED
3. Deal Lifecycle
Deals follow a strict three-state lifecycle:1
PENDING
Deal Created: Party A creates a deal and invites Party B
2
ACTIVE
Deal Accepted: Party B accepts the deal terms
3
CLOSED
Deal Completed: Either party closes the deal after completion
4. Ratings & Endorsements
Once a deal is closed, both parties can rate each other by creating Endorsements:- Score Range: 1-100 (100 being the best)
- Categories: Custom categories like ‘quality’, ‘speed’, ‘communication’
- Mutability: Ratings can be updated or revoked by the rater
- Deal-Bound: Each rating is tied to a specific deal
5. Reputation Aggregation
All ratings are automatically aggregated into two types of reputation:Global Reputation
Cross-platform reputation that follows users everywhere:App-Scoped Reputation
Platform-specific reputation for each integrated application:Reputation Calculation
Reputation scores are calculated using a weighted average:- Deal amount weighting (larger deals count more)
- Time decay (recent ratings matter more)
- Category-specific averages
- Platform-specific weighting policies
Security Model
IOTA Repstation uses a capability-based security model:Admin Capabilities
- AppAdminCap: Allows app registration and management
- Full Control: Can mint client capabilities, manage app settings
Client Capabilities
- AppClientCap: Time-limited capability for users
- Deal Creation: Can open deals on behalf of the app
- Expiration: Capabilities can expire for added security
Party Rights
- Deal Participation: Only invited parties can accept deals
- Rating Authority: Only deal participants can rate each other
- Rating Ownership: Only the rater can update/revoke their ratings
Integration Patterns
Pattern 1: Marketplace Integration
- Pre-Transaction: Check user reputation before allowing high-value deals
- Deal Creation: Create deal when buyer initiates purchase
- Deal Execution: Handle normal marketplace flow (payment, delivery)
- Deal Completion: Close deal after successful transaction
- Post-Transaction: Enable mutual rating between buyer and seller
Pattern 2: Service Platform Integration
- Service Booking: Create deal when service is booked
- Service Delivery: Handle normal service fulfillment
- Service Completion: Close deal after service delivery
- Mutual Rating: Both client and provider rate each other
Pattern 3: DeFi Protocol Integration
- Loan Application: Check borrower’s reputation
- Loan Agreement: Create deal when loan is approved
- Loan Execution: Handle normal lending flow
- Loan Completion: Close deal when loan is repaid
- Credit Rating: Lender rates borrower’s payment behavior
Best Practices
Security
Security
- Always validate deal participants match your platform users
- Store deal IDs securely with your transaction records
- Implement proper access controls for rating submissions
- Use time-limited client capabilities for enhanced security
Timing
Timing
- Only close deals after actual completion/delivery
- Allow reasonable time for users to submit ratings
- Consider automatic deal closure after extended periods
- Handle failed transactions by not closing deals
UX
UX
- Display both global and app-specific reputation
- Show rating counts alongside averages for context
- Make rating submission optional but encouraged
- Provide clear feedback on reputation benefits
Technical
Technical
- Cache reputation data for better performance
- Handle network failures gracefully with retries
- Use mock clients for development and testing
- Monitor deal completion rates for platform health