Karma
How the karma reputation system works — earning, penalties, monetization, and metro-level configuration
Karma
Karma is the reputation score that tracks an Island’s reliability on Archipelag.io. It represents trust earned through consistent, successful compute service. Karma determines whether an Island can earn payouts and influences job placement priority.
How Karma Works
The core principle: 1 karma point equals approximately 1 hour of successful compute time.
- New Islands start at 0 karma
- Karma is earned by completing jobs reliably
- Failures result in karma penalties (representing hours of trust lost)
- Islands need +10 karma to monetize (receive payouts)
- High-karma Islands receive more job placements
New Island (0 karma)
│
▼
Complete jobs successfully
(1 karma ≈ 60 min compute)
│
▼
Reach +10 karma ──► Monetization unlocked
│
▼
Continue building ──► +100 karma = ~100 hours
│ of reliable service
▼
High-karma Island ──► Priority placement,
higher trust
Earning Karma
Karma is earned through accumulated compute time:
- Each completed job contributes its duration in minutes
- Minutes accumulate in a
pending_minutescounter - When pending minutes reach the threshold (default: 60 minutes), +1 karma is awarded
- The remainder carries over to the next karma point
Earning Example
| Event | Compute Time | Effective Minutes | Pending | Karma Change | Total Karma |
|---|---|---|---|---|---|
| Start | — | — | 0 | — | 0 |
| Job A completes | 25 min | 37 min (1.5x) | 37 | — | 0 |
| Job B completes | 20 min | 30 min (1.5x) | 7 | +1 | 1 |
| Job C completes | 45 min | 67 min (1.5x) | 14 | +1 | 2 |
| … | … | … | … | … | … |
| Reach threshold | — | — | — | — | 10 |
| Job N completes | 30 min | 30 min (1.0x) | 30 | — | 10 |
Once an Island reaches the monetization threshold, the recovery multiplier no longer applies — minutes are counted at 1.0x.
Penalties
Failures result in immediate karma deductions. Penalties are deliberately steep to incentivize reliability:
| Event | Penalty | Trust Equivalent | Trigger |
|---|---|---|---|
| Job failure | -5 karma | ~5 hours lost | Container crashes, Cargo error |
| Job timeout | -3 karma | ~3 hours lost | Job exceeds time limit |
| Island disconnect | -20 karma | ~20 hours lost | Island goes offline during job execution |
Penalty Impact
An Island with 15 karma that experiences a disconnect:
Before: 15 karma (monetizing)
Penalty: -20 karma (disconnect)
After: -5 karma (below threshold)
Recovery: ~3.3 hours at 1.5x rate to reach 0
~6.7 hours at 1.5x rate to reach +10
Total: ~10 hours to restore monetization
Monetization Threshold
Islands must reach +10 karma (configurable per metro) before they can receive payouts:
| Karma | Status | Payout Eligibility |
|---|---|---|
| < 0 | Negative — rebuilding trust | No payouts, 1.5x earning rate |
| 0-9 | Building — proving reliability | No payouts, 1.5x earning rate |
| 10+ | Monetizing — receiving payouts | Payouts processed after each job |
When an Island completes a job:
- Below threshold: Job is executed (to build karma) but no payout is issued
- At or above threshold: Payout is calculated as:
Cargo price - 20% platform fee, adjusted by hardware tier multiplier
Metro-Level Configuration
Karma settings can be customized per metro (geographic region). This allows the platform to tune incentives based on local supply and demand:
| Setting | Default | Purpose |
|---|---|---|
karma_monetization_threshold | 10 | Minimum karma to receive payouts |
minutes_per_karma | 60 | Compute minutes required per karma point |
karma_recovery_multiplier | 1.5 | Earning multiplier for sub-threshold Islands |
karma_job_failed | -5 | Penalty for job failure |
karma_job_timeout | -3 | Penalty for job timeout |
karma_host_disconnect_mid_job | -20 | Penalty for mid-job disconnect |
If no metro-specific settings exist, the system falls back to the default metro configuration. If no configuration exists at all, the hardcoded defaults above are used.
Karma History
Every karma change is recorded as a KarmaEvent with full audit trail:
| Field | Description |
|---|---|
host_id | The Island whose karma changed |
job_id | The job that triggered the change (if applicable) |
event_type | compute_time, job_failed, job_timeout, host_disconnect, or manual_adjustment |
delta | The karma change (positive or negative) |
compute_minutes | Actual compute time (for compute_time events) |
balance_after | Karma balance after the change |
was_monetizing | Whether the Island was above threshold before the change |
reason | Human-readable explanation |
Karma Statistics
The platform tracks aggregate statistics per Island:
- Current karma — present balance
- Pending minutes — accumulated minutes toward next karma point
- Total compute minutes — all-time compute contribution
- Events by type — counts and totals for each event category
- Hours until monetization — estimated time to reach threshold
Tips for Maintaining High Karma
Admin Functions
Platform administrators can:
- Manual adjustment — Add or subtract karma with a reason (audit-logged)
- View all karma events — Filter by event type, Island, or time range
- Modify metro settings — Tune thresholds and penalties per region
Manual adjustments create a manual_adjustment event in the karma history for accountability.
Next Steps
Reputation
Learn how Cargo and publisher reputation works alongside Island karma.
Troubleshooting
Solutions for common karma issues and Island problems.
{% end %}
