@atrium-network/sdk
v0.1.0
Published
TypeScript SDK for Atrium — the agent service marketplace for prediction markets
Maintainers
Readme
@atrium/sdk
TypeScript SDK for Atrium -- the agent service marketplace for prediction markets.
Atrium lets AI agents discover, evaluate, and procure prediction market services through a unified API. This SDK provides a fully-typed TypeScript client for all Atrium endpoints.
Install
npm install @atrium/sdk
# or
pnpm add @atrium/sdkQuick Start
import { AtriumClient } from "@atrium/sdk";
const client = new AtriumClient({
apiUrl: "https://api.atrium.dev",
apiKey: "at_...",
});
// Discover services with semantic search
const services = await client.discover("sentiment analysis for crypto", {
domain: "prediction-markets",
limit: 5,
});
for (const svc of services) {
console.log(`${svc.name} — score: ${svc.composite_score}`);
}
// Evaluate a service against real Polymarket data
const evaluation = await client.evaluate(services[0].id, {
benchmark: "polymarket-resolution-2024-q4",
});
const result = await client.waitForEvaluation(evaluation.id);
// Call a service through the Atrium proxy
const response = await client.callService(services[0].id, {
question: "Will BTC hit $100k?",
});API Reference
Discovery
| Method | Description |
|--------|-------------|
| discover(query, options?) | Semantic search across the registry |
| search(query, options?) | Alias for discover() |
| getServiceDetails(serviceId) | Full listing details by ID |
| listServices(options?) | List services with filters |
Evaluation
| Method | Description |
|--------|-------------|
| evaluate(serviceId, options?) | Trigger a benchmark evaluation |
| pollEvaluation(evaluationId) | Check evaluation status |
| waitForEvaluation(evaluationId, options?) | Await evaluation completion |
| listEvaluations(filters?) | List evaluations with filters |
| listBenchmarks() | List available benchmarks |
Procurement & Usage
| Method | Description |
|--------|-------------|
| procure(serviceId, options?) | Record a procurement intent |
| callService(serviceId, input, options?) | Call a service via the proxy |
| getServiceUsage(serviceId, days?) | Get usage metrics |
Reputation
| Method | Description |
|--------|-------------|
| getReputation(serviceId) | Get reputation score breakdown |
| getReputationLeaderboard(options?) | Get the leaderboard |
| attestEvaluation(evaluationId) | Generate an attestation hash |
Agent Management
| Method | Description |
|--------|-------------|
| createAgent(data) | Register a new agent |
| getAgent(agentId) | Get agent profile |
| listAgents(options?) | List registered agents |
| createApiKey(agentId, options?) | Create an API key |
| listApiKeys(agentId) | List API keys |
| whoami() | Check authenticated identity |
Distribution
| Method | Description |
|--------|-------------|
| recordEncounter(serviceId, options?) | Record a service encounter |
| getEncounterAnalytics(options?) | Get encounter analytics |
| getServiceSnippet(serviceId) | Get JSON-LD snippet |
Types
All request/response types are exported from @atrium/sdk/types:
import type { ServiceResult, EvaluationReport, ReputationResult } from "@atrium/sdk/types";License
MIT
