Atlas FairShares

FairShares (FAIRS) is the economic layer of the Atlas network. Every participant receives equal weekly income. Balances burn over time, converging to a fixed equilibrium — hoarding is unprofitable, and active participants naturally maintain access.

No ads, no rent-seeking middlemen. FairShares pay for storage, queries, and shelter leases. They can only be transferred between peers — never minted or bought from a central authority.

Weekly Rollover

Every Monday at 00:00 UTC, each registry runs a balance rollover. The formula applies a small burn rate then adds the weekly income grant. Balances naturally converge toward an equilibrium point.

Weekly Balance Rollover
// Runs every Monday at 00:00 UTC
// weeklyBurnRate = weeklyIncome / (equilibriumWeeks * weeklyIncome)
//                = 100 / (100 * 100) = 0.01  (1 %)

newBalance = floor(balance * (1 - weeklyBurnRate)) + weeklyIncome

// Examples:
//   balance = 0      → floor(0     * 0.99) + 100 = 100
//   balance = 5000   → floor(5000  * 0.99) + 100 = 5050
//   balance = 10000  → floor(10000 * 0.99) + 100 = 10000  (equilibrium)
//   balance = 15000  → floor(15000 * 0.99) + 100 = 14950  (decays back)
Parameter Default Description
weeklyIncome 100 FAIRS granted to every identity each week.
initialGrant 100 FAIRS granted when a new identity is first seen.
equilibriumWeeks 100 Number of weeks of income that equals the equilibrium balance (100 × 100 = 10,000 FAIRS).

At equilibrium, the burn exactly equals the weekly income — the balance stays constant. Above equilibrium, balances decay back down. Below, they grow. This prevents hoarding and keeps the economy active.

Setup Envelope

Each registry publishes its FairShares configuration as a DigitalDocument envelope with additionalType: "atlas:fairSharesSetup". This defines the economic parameters for that registry.

FairShares Setup Envelope
{
  "@context": "https://schema.org",
  "@type": "DigitalDocument",
  "additionalType": "atlas:fairSharesSetup",
  "description": "FairShares economic setup for this registry",
  "text": {
    "equilibriumWeeks": 100,
    "weeklyIncome": 100,
    "initialGrant": 100
  },
  "datePublished": "2026-04-01T00:00:00.000Z"
}

Balance Sheet

After each weekly rollover, the registry publishes an updated balance sheet as a DigitalDocument with additionalType: "atlas:fairShares". This is an auditable, signed record of every participant's current balance.

FairShares Balance Sheet Envelope
{
  "@context": "https://schema.org",
  "@type": "DigitalDocument",
  "additionalType": "atlas:fairShares",
  "description": "Current FairShares balance sheet for this registry",
  "text": {
    "b3a1f8...": 4200,
    "e4c9d2...": 870,
    "a7f3b1...": 10000
  },
  "datePublished": "2026-03-31T00:00:00.000Z"
}

Spending

FairShares are spent in three ways across the network:

Action Envelope Type How it works
Query units BuyAction Purchase query units from a registry. Default rate: 1 FAIRS = 10,000 query units. Each GET response decrements units by result count.
Shelter leases RentAction Rent storage from a Shelter registry. Cost: gbPrice × gb + weekPrice × weeks.
Peer transfers MoneyTransfer Send FAIRS directly to another identity. Used for endorsements, boosting content visibility, or trading.

Buying Query Units

When a user's free query units run out (HTTP 402), they submit a BuyAction envelope to purchase more. The registry credits floor(price × queryUnitsPerFairShare) units to the identity.

BuyAction — Query Units
{
  "@context": "https://schema.org",
  "@type": "BuyAction",
  "additionalType": "atlas:queryUnits",
  "seller": {
    "@type": "Person",
    "identifier": "<registry-identity-hash>"
  },
  "object": {
    "@type": "Offer",
    "additionalType": "atlas:queryUnits"
  },
  "price": 10,
  "priceCurrency": "FAIRS"
}

Peer Transfers

MoneyTransfer envelopes move FAIRS between identities. Transfers are applied during the next weekly rollover. The sender must have sufficient balance.

MoneyTransfer Envelope
{
  "@context": "https://schema.org",
  "@type": "MoneyTransfer",
  "sender": {
    "@type": "Person",
    "identifier": {
      "@type": "PropertyValue",
      "propertyID": "atlas:hash",
      "value": "<sender-identity-hash>"
    }
  },
  "recipient": {
    "@type": "Person",
    "identifier": {
      "@type": "PropertyValue",
      "propertyID": "atlas:hash",
      "value": "<recipient-identity-hash>"
    }
  },
  "amount": {
    "@type": "MonetaryAmount",
    "currency": "FAIRS",
    "value": 50
  }
}

Data Fidelity

Registries track how many FairShares have been burned on content across seven freshness windows: 1 day, 7 days, 30 days, 180 days, 1 year, 5 years, and all time. These burn signals let Guide registries rank content by real usage rather than arbitrary metrics.

Data Fidelity Record
{
  "type": "SocialMediaPosting",
  "additionalType": null,
  "window": "DAYS_7",
  "totalBurn": 3200,
  "identityHash": "b3a1f8..."
}
Window Period
DAYS_1Last 24 hours
DAYS_7Last 7 days
DAYS_30Last 30 days
DAYS_180Last 180 days
DAYS_365Last year
DAYS_1825Last 5 years
ALL_TIMELifetime total

Proof-of-Work Tiers

Identities generate a Proof of Work on registration. The difficulty tier determines priority access when a registry is under load. Higher tiers get priority query lanes and reduced rate limiting.

Tier Difficulty Description
hero 2 leading zero bits Base tier. Quick to generate.
titan 6 leading zero bits Mid tier. Makes bulk identities expensive.
atlas 9 leading zero bits Highest tier. Priority access under heavy load.

Registry Query Policy

Each registry configures how FairShares translate into query access. These settings are part of the registry's configuration.

Config Default Description
initialFreeQueryUnits 1,000 Free query units granted to new identities.
queryUnitsPerFairShare 10,000 Query units credited per FAIRS spent.
maxResultsPerQuery 100 Maximum results returned per GET request.
rateLimitPerIpPerMinute 60 Rate limit per IP address.