API Reference
A read-mostly HTTP interface, served fromhttps://dash-intents.org/v1. The OpenAPI document is served at/v1/openapi.json and a Swagger UI at/v1.
Endpoints
The Observed column is the status returned at the time this page was built. It is recorded honestly because the protocol's own rule is that a document must not describe a stronger state than the system is in.
| Method | Path | Purpose | Observed |
|---|---|---|---|
| GET | /v1/health | Liveness and timestamp | 200 |
| GET | /v1/treasury | Treasury balance and proposals | 200 |
| GET | /v1/stats | Protocol statistics | 523 |
| GET | /v1/intents | List intents | 523 |
| GET | /v1/intents/:id | One intent by DocumentID | 523 |
| GET | /v1/intents/:id/offers | Offers against one intent | 523 |
| POST | /v1/intents | Create an intent | 501 |
| POST | /v1/offers | Publish an offer | 501 |
| GET | /v1/settlements | List settlements | 523 |
| POST | /v1/settlements | Record a settlement | 501 |
| GET | /v1/solvers | Known market makers | 523 |
| GET | /v1/solvers/:proTxHash/verify | Check one ProTxHash | 523 |
| GET | /v1/id/:documentId | Any Platform document by ID | 523 |
Reading the status column
- 200 — live and answering.
- 523 — the endpoint is deployed but its upstream DAPI node is currently unreachable. The service failed loudly rather than returning an empty result that could be mistaken for "no intents". These reads recover when the upstream recovers.
- 501 — not implemented by design. Every write endpoint that would require a signing key returns
501. The API holds no key material, so a write cannot be performed here and is not pretended to be.
Shape of a request
network is a top-level field in the JSON body, not a header and not a query parameter. This is stated explicitly because it is a common point of confusion when integrating.
GET /v1/intents?network=testnet
POST /v1/intents
{
"network": "testnet",
"fromAsset": "DASH",
"toAsset": "USDT",
"inputAmount": 100000000,
"minOutputAmount": 9900000,
"expiresAt": 1790000000000
}intentId isthe Dash Platform DocumentID. There is no separate protocol-side identifier to resolve.
CORS
With DEV set, the origin is* so the static web app may call the worker from a local port. Without it, only the configured origins are reflected back.