@adrien1212balitrand/auros-protocol
v1.0.6
Published
Official TypeScript SDK for the AUROS Protocol — RWA intelligence API
Maintainers
Readme
@adrien1212balitrand/auros-protocol
Official TypeScript/JavaScript SDK for the AUROS Protocol — the RWA intelligence layer.
Score MiCA readiness, browse 120+ tokenized products, rank jurisdictions, and generate compliance checklists — all via REST with typed responses.
Install
npm install @adrien1212balitrand/auros-protocolQuickstart (< 5 min)
import { AurosProtocol } from "@adrien1212balitrand/auros-protocol";
const client = new AurosProtocol({
apiKey: "auros_pk_test_demo", // demo key — 100 req/mo on free tier
});
const result = await client.score({
description:
"Retail warehouse Luxembourg €2.5M SPV professional investors whitepaper draft",
});
console.log(result.score, result.grade, result.mica_classification);Get your own key (free, 100 requests/month):
const { api_key } = await new AurosProtocol({ apiKey: "auros_pk_test_demo" }).createKey({
email: "[email protected]",
});
console.log(api_key); // store securely — shown onceMethods
| Method | Endpoint | Auth |
|--------|----------|------|
| score(body) | POST /api/v1/score | Bearer |
| scoreBatch(body) | POST /api/v1/score/batch | Bearer |
| products(query?) | GET /api/v1/products | Bearer |
| jurisdictions(query?) | GET /api/v1/jurisdictions | Bearer |
| checklist(body) | POST /api/v1/checklist | Bearer |
| monitor(body) | POST /api/v1/monitor | Bearer (premium) |
| getMonitor(id) | GET /api/v1/monitor/:id | Bearer (premium) |
| deleteMonitor(id) | DELETE /api/v1/monitor/:id | Bearer (premium) |
| dossier(body) | POST /api/v1/dossier | Bearer (premium) |
| attest(body) | POST /api/v1/attest | Bearer (premium) |
| verifyAttest(query) | GET /api/v1/attest/verify | None |
| createChargeflowE(body) | POST /api/v1/chargeflow | Bearer (premium) |
| createChargeflowW(body) | POST /api/v1/chargeflow/w | Bearer (premium) |
| createChargeflowF(body) | POST /api/v1/chargeflow/f | Bearer (premium) |
| createChargeflowEBatch(body) | POST /api/v1/chargeflow/batch | Bearer (premium) |
| createChargeflowWBatch(body) | POST /api/v1/chargeflow/w/batch | Bearer (premium) |
| createChargeflowFBatch(body) | POST /api/v1/chargeflow/f/batch | Bearer (premium) |
| createChargeflowFromOcpi(body) | POST /api/v1/chargeflow/from-ocpi | Bearer (premium) |
| listChargeflowPartners() | GET /api/v1/chargeflow/partners | None |
| syncChargeflowPartner(body) | POST /api/v1/chargeflow/partners/sync | Bearer (premium) |
| listChargeflow(query?) | GET /api/v1/chargeflow | Bearer (premium) |
| getChargeflow(id) | GET /api/v1/chargeflow/:id | None |
| verifyChargeflow(query) | GET /api/v1/chargeflow/verify | None |
| retireChargeflow(id, body?) | POST /api/v1/chargeflow/:id/retire | Bearer (premium) |
| registerWebhook(body) | POST /api/v1/webhooks | Bearer (premium) |
| webhooks() | GET /api/v1/webhooks | Bearer (premium) |
| deleteWebhook(id) | DELETE /api/v1/webhooks/:id | Bearer (premium) |
| createKey(body) | POST /api/v1/keys | None |
| greenWattScore(id) | GET /api/green/watt/:id | None |
| greenCarbonQuality(id) | GET /api/green/carbon-quality/:id | None |
| greenWattBatch(body) | POST /api/v1/green/watt/batch | Bearer (premium) |
| greenCarbonQualityBatch(body) | POST /api/v1/green/carbon-quality/batch | Bearer (premium) |
Examples
Score with structured fields
const score = await client.score({
asset_type: "real_estate",
issuer_type: "company_spv",
investor_type: "professional",
whitepaper: "draft",
jurisdiction: "luxembourg",
value_eur: 2_500_000,
has_kyc: true,
has_data_room: false,
});Browse RWA catalog
const catalog = await client.products({
category: "bonds",
yield_min: 4,
sort: "apy",
limit: 10,
});Rank jurisdictions
const ranking = await client.jurisdictions({
asset_type: "real_estate",
investor_type: "professional",
timeline_months: 6,
budget: 50_000,
});Compliance checklist
const checklist = await client.checklist({
asset_type: "real_estate",
jurisdiction: "luxembourg",
structure: "spv",
});Green Watt & CQS
// Public reads — no API key required on these routes (batch calls need a premium live key)
const watt = await client.greenWattScore("sunexchange");
console.log(watt.watt_score.rating, watt.watt_score.tier);
const batch = await client.greenWattBatch({
items: [
{ id: "sunexchange" },
{ text: "Solar farm 12 MW PPA signed production MWh France" },
],
});
console.log(batch.succeeded, batch.items[0]);Configuration
const client = new AurosProtocol({
apiKey: process.env.AUROS_API_KEY!,
baseUrl: "https://getauros.com", // default
fetch: customFetch, // optional — for Node < 18 or testing
});Errors
import { AurosProtocolError } from "@adrien1212balitrand/auros-protocol";
try {
await client.score({ description: "short" });
} catch (err) {
if (err instanceof AurosProtocolError) {
console.log(err.code, err.status, err.message);
// unauthorized | quota_exceeded | validation_error | ...
}
}Publishing (maintainers)
cd packages/auros-protocol
npm run build
npm login
npm publish --access publicRequires NPM_TOKEN in CI or interactive npm login. Do not publish without org approval.
Disclaimer
Responses are indicative intelligence only — not legal, tax, or investment advice. Validate with qualified counsel before any issuance.
