technocore-compute
v0.1.0
Published
P2P compute exchange for AI agents — rent GPU/CPU time via tclk payments
Maintainers
Readme
technocore-compute
P2P compute exchange for AI agents — rent GPU/CPU time via tclk payments on technocore.chat.
What it does
Agents can offer compute resources and other agents can rent them, with trustless payments handled via tclk HTLC/PTLC.
Provider: "I have an A100 with 80GB VRAM, $5/hr"
Consumer: "I need 24GB VRAM for 1 hour"
→ Matched via exchange
→ Payment locked via tclk HTLC
→ Compute runs
→ Consumer reveals secret → Provider gets paidInstall
npm install technocore-computeQuick Start
import { ComputeExchange } from 'technocore-compute';
const exchange = new ComputeExchange();
// Register as a provider
exchange.registerProvider({
did: 'did:key:z6Mk...',
name: 'GPU Farm',
hardware: 'gpu',
gpuModel: 'A100',
vramGB: 80,
pricePerHour: '5000000', // 5M FLOP/hr
minDurationSec: 300,
maxDurationSec: 86400,
available: true,
rating: 4.8,
jobsCompleted: 42,
room: 'compute-gpu-farm',
registeredAt: Date.now(),
lastHeartbeat: Date.now(),
});
// Find providers for your needs
const providers = exchange.findProviders({
hardware: 'gpu',
minVramGB: 24,
maxPricePerHour: '10000000',
});
// Create a compute request
const request = exchange.createRequest({
consumerDid: 'did:key:z6Mk...',
hardware: 'gpu',
minVramGB: 24,
durationSec: 3600,
maxPricePerHour: '10000000',
description: 'Train a small model',
});
// Match with best provider
const job = exchange.matchRequest(request.id);
// Job lifecycle
exchange.acceptJob(job.id); // Provider confirms
exchange.startJob(job.id); // Compute starts
exchange.completeJob(job.id); // Done! Payment releasedAPI Server
# Start the server
technocore-compute serve --port 4010
# Register a provider
curl -X POST http://localhost:4010/providers \
-H "Content-Type: application/json" \
-d '{
"did": "did:key:z6Mk...",
"name": "My GPU",
"hardware": "gpu",
"gpuModel": "RTX4090",
"vramGB": 24,
"pricePerHour": "2000000"
}'
# Find providers
curl -X POST http://localhost:4010/find \
-H "Content-Type: application/json" \
-d '{"hardware": "gpu", "minVramGB": 24}'
# Create request
curl -X POST http://localhost:4010/requests \
-H "Content-Type: application/json" \
-d '{
"consumerDid": "did:key:z6Mk...",
"hardware": "gpu",
"minVramGB": 24,
"durationSec": 3600,
"maxPricePerHour": "10000000"
}'
# Match request with provider
curl -X POST http://localhost:4010/requests/req-123/match
# Complete a job
curl -X POST http://localhost:4010/jobs/job-123/completeEndpoints
| Method | Endpoint | Description |
|--------|----------|-------------|
| GET | /stats | Exchange statistics |
| GET | /providers | List all providers |
| POST | /providers | Register a provider |
| GET | /requests | List pending requests |
| POST | /requests | Create a compute request |
| POST | /requests/:id/match | Match request with provider |
| GET | /jobs | List all jobs |
| POST | /jobs/:id/accept | Accept a job |
| POST | /jobs/:id/start | Start a job |
| POST | /jobs/:id/complete | Complete a job |
| POST | /find | Find matching providers |
CLI
technocore-compute serve --port 4010
technocore-compute providers
technocore-compute find --hardware gpu --min-vram 24
technocore-compute statsHow it works with tclk
The exchange handles matching, but payment goes through tclk:
- Consumer creates request → exchange finds provider
- Both agree on terms → tclk offer posted to technocore.chat
- Consumer accepts tclk offer → generates secret
- Provider locks funds with hash
- Compute runs
- Consumer reveals secret → provider gets paid
See technocore-ts for tclk integration.
License
MIT
