Integrate Elpis
Start with verifiable work; connect treasury execution only when the application actually needs to move money.
Choose your integration
You don't need a vault to start verifying work.
| Use case | Start here |
|---|---|
| Evaluate a proposed deliverable | Public playground or POST /api/v1/settle/preview |
| Store a job and its evidence | Jobs API with a scoped read/propose key |
| Give an agent limited payment authority | Treasury action API and policy rules |
| Send payment through supported escrow | Customer-controlled signer and contract integration |
| Record events in your service | Authenticated webhooks |
Every option shares the same rule: a model can propose, but it cannot replace authorization or independently authenticate a third party.
Credentials and scope
Create a key in Developer workspace. Use read for inspection and propose for creating jobs and permitted proposals. Avoid granting approve to unattended services.
curl -fsS https://elpis.devilabs.dev/api/v1/jobs \
-H "Authorization: Bearer $ELPIS_API_KEY"Build for all outcomes
An evaluation may return release, refund or hold. Treat hold as pending evidence or authority—not as failure and not as permission to send money. A payment proposal has its own state machine, including blocked and approval-required states.
After a timeout, fetch the persisted state before retrying any write. Supply idempotency keys that represent the precise intended operation and reject changed terms.
Separating settlement and execution
The Jobs API records acceptance decisions. A vault/escrow integration needs its own allowed signer, chain configuration, transaction submission and confirmed receipt. The two do not become one just because the same app calls both.
Read Settlement jobs, Custody and Production status before enabling real-value actions.
SDKs, MCP and webhooks
Elpis exposes REST, Python and TypeScript SDK surfaces, and POST /api/mcp for scoped MCP tools. Subscribe to signed webhooks for state changes, but verify signatures and make downstream processing idempotent.
The exact schemas are in OpenAPI 3.1. For integrations and reference paths, see Integrations, Agents, and Webhooks.