Overview
The JIL Sovereign Launchpad API provides programmatic access to Liquidity Bootstrapping Pool (LBP) auction infrastructure. Project teams can create time-weighted descending-price auctions for fair token distribution, while participants place bids that are recorded with cryptographic signatures and full journal event histories. Every auction action produces a signed evidence capsule for transparent, auditable token launches.
Base URLs
| Environment | Base URL |
|---|---|
| Production | https://launchpad.jilsovereign.com |
| Devnet | https://devnet-launchpad.jilsovereign.com |
| Local (Docker) | http://launchpad-api:8004 |
Protocol
| Property | Value |
|---|---|
| Transport | HTTPS (TLS 1.3 required in production) |
| Content Type | application/json |
| Character Encoding | UTF-8 |
| Date Format | ISO 8601 (2026-02-19T14:30:00.000Z) |
| Authentication | x-api-key header (required for write operations) |
GET /health
Health check endpoint. Returns service status and uptime information.
Response (200 OK)
GET /metrics
Prometheus metrics endpoint for monitoring. Returns auction counts, bid volumes, and latency histograms.
Auction Management
GET /v1/lbp/auctions
List all auctions. Returns up to 200 auctions sorted by creation date descending.
Response (200 OK)
POST /v1/lbp/auctions
Create a new LBP auction. All parameters have sensible defaults. A journal event of type LBP_AUCTION_CREATED is generated with a cryptographic signature.
Request Body
| Parameter | Type | Default | Description |
|---|---|---|---|
pair |
string | optional JIL/USDC |
Trading pair for the auction |
start_price |
number | optional 0.09 |
Starting price in quote currency |
end_price |
number | optional 0.15 |
Target end price in quote currency |
duration_seconds |
integer | optional 3600 |
Auction duration in seconds |
liquidity_usd |
number | optional 200000 |
Total liquidity pool size in USD |
Response (201 Created)
POST /v1/lbp/auctions/{id}/close
Close an active auction. Creates a journal event of type LBP_AUCTION_CLOSED and updates the auction status to "closed".
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string (UUID) | required | Auction ID |
Response (200 OK)
Bidding
POST /v1/lbp/auctions/{id}/bid
Place a bid on an active auction. Bids are recorded with cryptographic signatures and generate a journal event of type LBP_BID_PLACED.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string (UUID) | required | Auction ID |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
wallet |
string | optional | Wallet address of the bidder (default: "demo_wallet") |
amount_usdc |
number | required | Bid amount in USDC (must be greater than 0) |
Response (200 OK)
Journal & Receipts
GET /v1/lbp/auctions/{id}/journal
Get the complete event history for an auction. Returns up to 500 events, each with cryptographic hashes and HMAC signatures for tamper-proof auditability.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string (UUID) | required | Auction ID |
Response (200 OK)
GET /v1/lbp/auctions/{id}/receipt
Get a signed receipt (evidence capsule) for the current auction state. Can be used for independent verification, compliance auditing, and dispute resolution.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string (UUID) | required | Auction ID |
Response (200 OK)
Administration
POST /v1/lbp/reset
Reset all auction and journal data. Available on devnet only. Requires the x-devnet-key header matching the DEVNET_ADMIN_KEY environment variable.
Request Headers
| Header | Required | Description |
|---|---|---|
x-devnet-key |
required | Admin key for devnet operations (must match DEVNET_ADMIN_KEY env var) |
Response (200 OK)
retry_after_ms field indicating
when the next request can be made.
Error Codes
All error responses include a JSON body with error containing code,
message, and optional details fields.
Error Response Format
HTTP Status Codes
| Status | Error Code | Description |
|---|---|---|
400 | VALIDATION_ERROR | Request body failed schema validation. Check details for field-level errors (e.g., invalid amount, missing required fields). |
403 | INVALID_ADMIN_KEY | The x-devnet-key header is missing or does not match the configured admin key. |
404 | AUCTION_NOT_FOUND | No auction exists with the specified ID. |
429 | RATE_LIMIT_EXCEEDED | Too many requests. Includes retry_after_ms field indicating when the next request is allowed. |