Install
openclaw skills install aispEnables AI agents to interact with AISP (Agent Inference Sharing Protocol) for renting or providing DIEM API capacity. Use when working with diem-marketplace, Venice API keys, USDC escrow, listings, rentals, or when the user wants to rent inference capacity or list API keys.
openclaw skills install aispAgent Inference Sharing Protocol (AISP) lets agents rent idle DIEM/Venice API capacity via USDC escrow. Providers list capped API keys; agents fund and receive keys automatically.
Agent: fund() → Backend sees Funded event → Key released → Agent uses Venice API
Provider: list() → Agent funds → Term expires → settle() → Provider paid (99%, 1% fee)
GET /api/listingsfund)contract.fund(listingId, termDays, diemAmount) → returns rentalIdPOST /api/key/{rentalId} with signed message diem-marketplace:get-key:{rentalId}:{timestamp}apiKey with Venice API until expiresAt (Unix timestamp)import { DiemAgent } from "diem-marketplace-sdk";
const agent = new DiemAgent({
signer: wallet,
contractAddress: "0x...",
backendUrl: "https://diem-marketplace-backend.fly.dev",
usdcAddress: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
});
const listings = await agent.getListings();
const { apiKey, expiresAt } = await agent.rent(
listings[0].listingId,
termDays,
ethers.parseUnits(diemAmount, 6)
);
contract.list(pricePerDay, termDays, diemMin, diemMax) → listingIdPOST /api/keys with { listingId, apiKey, signature, timestamp }
diem-marketplace:store-key:{listingId}:{timestamp}contract.settle(rentalId) → provider receives 99% (1% protocol fee)import { DiemProvider } from "diem-marketplace-sdk";
const provider = new DiemProvider({
signer: wallet,
contractAddress: "0x...",
backendUrl: "https://diem-marketplace-backend.fly.dev",
usdcAddress: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
});
const listingId = await provider.createListing({
pricePerDay: ethers.parseUnits("0.80", 6),
termDays: 30,
diemMin: ethers.parseUnits("1000", 6),
diemMax: ethers.parseUnits("4000", 6),
apiKey: "vn-scoped-...",
});
| Path | Purpose |
|---|---|
sdk/src/agent.ts | DiemAgent: getListings, rent, getKey, getMyRentals |
sdk/src/provider.ts | DiemProvider: createListing, settle, revokeAndRefund |
backend/src/routes.ts | API routes: /api/listings, /api/keys, /api/key/:id |
contracts/DiemMarketplace.sol | On-chain escrow, 1% fee |
| Endpoint | Method | Purpose |
|---|---|---|
/api/listings | GET | List rentable listings |
/api/listings/:id | GET | Single listing |
/api/keys | POST | Provider stores API key |
/api/key/:rentalId | POST | Agent retrieves key (signature required) |
/api/balance | POST | Check DIEM balance for API key |
/api/requests | POST | Create rental request |
All backend requests requiring auth use EIP-191 signing:
getKey: diem-marketplace:get-key:{rentalId}:{timestamp}storeKey: diem-marketplace:store-key:{listingId}:{timestamp}balance: apiKey in body (no signature)0xeeDa7657f2018b3b71B444b7ca2D8dE91b3B08f30x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913