Provider Registry

On-chain identity for every provider

The Provider Registry is a smart contract that maintains a verifiable record of all compute providers. Capacity, pricing, and reputation - all on-chain and queryable.

The Registry

The source of truth for provider data

In traditional cloud, you trust that AWS has the capacity they claim. In decentralized compute, trust is replaced by verification.

The Provider Registry is a smart contract where:

  • Every provider registers their wallet address
  • Capacity is declared (CPU, memory, storage, GPU)
  • Pricing is set (per-unit rates for each resource)
  • Metadata is stored (location, description, etc.)
  • The LinqProtocol installer benchmarks hardware and submits verified data on-chain

Anyone can query this registry to verify a provider's claims before deploying.

Data

On-chain provider data

Identity

Address

Ethereum wallet address (unique identifier)

Metadata Hash

IPFS or off-chain link to additional information

Capacity

vCPU

Total CPU cores available

Memory

Total RAM in GB

Storage

Total disk space in GB

GPU Classes

Available GPU types and quantities

Pricing

Base Ranges

Price per unit for CPU, memory, storage

GPU Pricing

Per-class pricing for GPU resources

Rate Structure

How pricing is calculated (hourly, etc.)

Usage

Used Capacity

Currently allocated resources

Available Capacity

What's left for new deployments

Flow

Registration and updates

Provider Registers

1
Installer benchmarks hardware and calls register() with verified capacity, pricing, and metadata
2
Transaction is confirmed on-chain
3
Provider appears in the registry

Provider Updates

updateBaseRanges() - Change resource pricing
updateCapacity() - Adjust available resources
updateGpuClass() - Add or modify GPU offerings
updateMeta() - Change metadata hash

Orchestrator Queries

  1. 1. When you deploy, the orchestrator queries the registry
  2. 2. Finds providers with matching capacity and acceptable pricing
  3. 3. Matches you with the optimal provider
  4. 4. Creates escrow referencing the provider address
Trust

Don't trust. Verify.

Before Deploying

  • Query a provider's registered capacity
  • Check their pricing matches your budget
  • Verify they have resources for your workload

During Deployment

  • The escrow references the provider's on-chain address
  • Provider identity is cryptographically verified
  • No impersonation possible

After Deployment

  • Provider address is recorded in escrow events
  • Anyone can audit which provider served which jobs
  • Reputation builds on-chain over time
For Developers

What this means for you

Transparent Selection

See exactly which providers are available and at what price.

Verified Capacity

Providers can't claim capacity they don't have (enforced by escrow limits).

Price Discovery

Compare providers by price to find the best deal for your workload.

Low Sybil Risk

Staking requirements and reputation scoring make cheating expensive and limit bad actors.

For Providers

Build your on-chain reputation

Verified Identity

Your wallet address is your identity. Build reputation over time.

Self-Service Updates

Adjust your capacity and pricing whenever market conditions change.

Competitive Positioning

Set attractive prices to win more deployments.

Earnings Tracking

All escrows reference your address - track total earnings on-chain.

Registration Process

1
Use a Linux machine (with or without virtualization), or Windows/macOS with virtualization enabled
2
Run the LinqProtocol installer to bootstrap the system, benchmark hardware, and submit on-chain registration
3
VM support is enabled only if your hardware virtualization capabilities pass checks
4
Stake a provider deposit to activate your registry entry and set escrow limits
5
Start receiving deployment requests
6
Earn LNQ for resources provided
Providers stake a deposit to register. Your stake (adjusted by reputation) limits the total escrow value you can serve, so providers can’t earn more than they could lose if slashed for cheating.
Technical

Under the hood

ProviderRegistry.sol

Key Functions

register(baseRanges, gpuClasses, capacity, meta)

Register as a provider

updateBaseRanges(ranges)

Update resource pricing

updateCapacity(capacity)

Update available resources

updateGpuClass(classId, pricing)

Add/update GPU class

updateMeta(metaHash)

Update metadata pointer

unregister()

Remove from registry

View Functions

getProvider(address)

Get full provider data

getProviders()

List all registered providers

getUsedCapacity(address)

Get current utilization

getCapacityTotals()

Network-wide capacity

Events

ProviderRegisteredProviderUpdatedProviderUnregisteredCapacityChanged