Verify originator capacity without reserving it
Returns a point-in-time, read-only capacity verdict for the authenticated originator across every requested route. The response exposes bounded executable quantity, never raw collateral, position, venue-account, credential, or control-group data. No auction, journal event, or risk reservation is created. POST /v1/auctions always repeats the same capacity calculation and reserves atomically, so a successful preflight is evidence rather than a guarantee against concurrent use. This call is not rate-limited and ignores the idempotency key.
curl --request POST \
--url https://agora.kairos.trade/v1/auctions/preflight \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"market_id": "<string>",
"outcome_id": "<string>",
"hard_reserve_price_atoms": 5000,
"max_cumulative_slippage_bps": 5000,
"venue_scope": [
"<string>"
],
"max_total_execution_time_ms": 60000,
"idempotency_key": "<string>",
"fixed_quantity_atoms": 2,
"slippage_reference_price_atoms": 5000,
"minimum_private_improvement_bps": 5000,
"maximum_mm_concentration_bps": 10000,
"minimum_mm_reliability_tier": "UNRATED",
"auction_ttl_ms": 5000,
"allowed_participants": [
"<string>"
],
"saved_group_id": "<string>",
"excluded_participants": [
"<string>"
],
"max_recipients": 16,
"fallback_ladder": [
{
"action": "EXECUTE",
"venue": "<string>",
"limit_price_atoms": 5000,
"minimum_quantity_atoms": 2,
"maximum_quantity_atoms": 2,
"maximum_fraction_bps": 10000,
"timeout_ms": 2000,
"maximum_quote_age_ms": 500,
"allow_partial": true,
"on_unavailable": "CONTINUE",
"on_reject": "CONTINUE"
}
],
"client_metadata": {}
}
'import requests
url = "https://agora.kairos.trade/v1/auctions/preflight"
payload = {
"market_id": "<string>",
"outcome_id": "<string>",
"hard_reserve_price_atoms": 5000,
"max_cumulative_slippage_bps": 5000,
"venue_scope": ["<string>"],
"max_total_execution_time_ms": 60000,
"idempotency_key": "<string>",
"fixed_quantity_atoms": 2,
"slippage_reference_price_atoms": 5000,
"minimum_private_improvement_bps": 5000,
"maximum_mm_concentration_bps": 10000,
"minimum_mm_reliability_tier": "UNRATED",
"auction_ttl_ms": 5000,
"allowed_participants": ["<string>"],
"saved_group_id": "<string>",
"excluded_participants": ["<string>"],
"max_recipients": 16,
"fallback_ladder": [
{
"action": "EXECUTE",
"venue": "<string>",
"limit_price_atoms": 5000,
"minimum_quantity_atoms": 2,
"maximum_quantity_atoms": 2,
"maximum_fraction_bps": 10000,
"timeout_ms": 2000,
"maximum_quote_age_ms": 500,
"allow_partial": True,
"on_unavailable": "CONTINUE",
"on_reject": "CONTINUE"
}
],
"client_metadata": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
market_id: '<string>',
outcome_id: '<string>',
hard_reserve_price_atoms: 5000,
max_cumulative_slippage_bps: 5000,
venue_scope: ['<string>'],
max_total_execution_time_ms: 60000,
idempotency_key: '<string>',
fixed_quantity_atoms: 2,
slippage_reference_price_atoms: 5000,
minimum_private_improvement_bps: 5000,
maximum_mm_concentration_bps: 10000,
minimum_mm_reliability_tier: 'UNRATED',
auction_ttl_ms: 5000,
allowed_participants: ['<string>'],
saved_group_id: '<string>',
excluded_participants: ['<string>'],
max_recipients: 16,
fallback_ladder: [
{
action: 'EXECUTE',
venue: '<string>',
limit_price_atoms: 5000,
minimum_quantity_atoms: 2,
maximum_quantity_atoms: 2,
maximum_fraction_bps: 10000,
timeout_ms: 2000,
maximum_quote_age_ms: 500,
allow_partial: true,
on_unavailable: 'CONTINUE',
on_reject: 'CONTINUE'
}
],
client_metadata: {}
})
};
fetch('https://agora.kairos.trade/v1/auctions/preflight', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://agora.kairos.trade/v1/auctions/preflight",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'market_id' => '<string>',
'outcome_id' => '<string>',
'hard_reserve_price_atoms' => 5000,
'max_cumulative_slippage_bps' => 5000,
'venue_scope' => [
'<string>'
],
'max_total_execution_time_ms' => 60000,
'idempotency_key' => '<string>',
'fixed_quantity_atoms' => 2,
'slippage_reference_price_atoms' => 5000,
'minimum_private_improvement_bps' => 5000,
'maximum_mm_concentration_bps' => 10000,
'minimum_mm_reliability_tier' => 'UNRATED',
'auction_ttl_ms' => 5000,
'allowed_participants' => [
'<string>'
],
'saved_group_id' => '<string>',
'excluded_participants' => [
'<string>'
],
'max_recipients' => 16,
'fallback_ladder' => [
[
'action' => 'EXECUTE',
'venue' => '<string>',
'limit_price_atoms' => 5000,
'minimum_quantity_atoms' => 2,
'maximum_quantity_atoms' => 2,
'maximum_fraction_bps' => 10000,
'timeout_ms' => 2000,
'maximum_quote_age_ms' => 500,
'allow_partial' => true,
'on_unavailable' => 'CONTINUE',
'on_reject' => 'CONTINUE'
]
],
'client_metadata' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://agora.kairos.trade/v1/auctions/preflight"
payload := strings.NewReader("{\n \"market_id\": \"<string>\",\n \"outcome_id\": \"<string>\",\n \"hard_reserve_price_atoms\": 5000,\n \"max_cumulative_slippage_bps\": 5000,\n \"venue_scope\": [\n \"<string>\"\n ],\n \"max_total_execution_time_ms\": 60000,\n \"idempotency_key\": \"<string>\",\n \"fixed_quantity_atoms\": 2,\n \"slippage_reference_price_atoms\": 5000,\n \"minimum_private_improvement_bps\": 5000,\n \"maximum_mm_concentration_bps\": 10000,\n \"minimum_mm_reliability_tier\": \"UNRATED\",\n \"auction_ttl_ms\": 5000,\n \"allowed_participants\": [\n \"<string>\"\n ],\n \"saved_group_id\": \"<string>\",\n \"excluded_participants\": [\n \"<string>\"\n ],\n \"max_recipients\": 16,\n \"fallback_ladder\": [\n {\n \"action\": \"EXECUTE\",\n \"venue\": \"<string>\",\n \"limit_price_atoms\": 5000,\n \"minimum_quantity_atoms\": 2,\n \"maximum_quantity_atoms\": 2,\n \"maximum_fraction_bps\": 10000,\n \"timeout_ms\": 2000,\n \"maximum_quote_age_ms\": 500,\n \"allow_partial\": true,\n \"on_unavailable\": \"CONTINUE\",\n \"on_reject\": \"CONTINUE\"\n }\n ],\n \"client_metadata\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://agora.kairos.trade/v1/auctions/preflight")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"market_id\": \"<string>\",\n \"outcome_id\": \"<string>\",\n \"hard_reserve_price_atoms\": 5000,\n \"max_cumulative_slippage_bps\": 5000,\n \"venue_scope\": [\n \"<string>\"\n ],\n \"max_total_execution_time_ms\": 60000,\n \"idempotency_key\": \"<string>\",\n \"fixed_quantity_atoms\": 2,\n \"slippage_reference_price_atoms\": 5000,\n \"minimum_private_improvement_bps\": 5000,\n \"maximum_mm_concentration_bps\": 10000,\n \"minimum_mm_reliability_tier\": \"UNRATED\",\n \"auction_ttl_ms\": 5000,\n \"allowed_participants\": [\n \"<string>\"\n ],\n \"saved_group_id\": \"<string>\",\n \"excluded_participants\": [\n \"<string>\"\n ],\n \"max_recipients\": 16,\n \"fallback_ladder\": [\n {\n \"action\": \"EXECUTE\",\n \"venue\": \"<string>\",\n \"limit_price_atoms\": 5000,\n \"minimum_quantity_atoms\": 2,\n \"maximum_quantity_atoms\": 2,\n \"maximum_fraction_bps\": 10000,\n \"timeout_ms\": 2000,\n \"maximum_quote_age_ms\": 500,\n \"allow_partial\": true,\n \"on_unavailable\": \"CONTINUE\",\n \"on_reject\": \"CONTINUE\"\n }\n ],\n \"client_metadata\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://agora.kairos.trade/v1/auctions/preflight")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"market_id\": \"<string>\",\n \"outcome_id\": \"<string>\",\n \"hard_reserve_price_atoms\": 5000,\n \"max_cumulative_slippage_bps\": 5000,\n \"venue_scope\": [\n \"<string>\"\n ],\n \"max_total_execution_time_ms\": 60000,\n \"idempotency_key\": \"<string>\",\n \"fixed_quantity_atoms\": 2,\n \"slippage_reference_price_atoms\": 5000,\n \"minimum_private_improvement_bps\": 5000,\n \"maximum_mm_concentration_bps\": 10000,\n \"minimum_mm_reliability_tier\": \"UNRATED\",\n \"auction_ttl_ms\": 5000,\n \"allowed_participants\": [\n \"<string>\"\n ],\n \"saved_group_id\": \"<string>\",\n \"excluded_participants\": [\n \"<string>\"\n ],\n \"max_recipients\": 16,\n \"fallback_ladder\": [\n {\n \"action\": \"EXECUTE\",\n \"venue\": \"<string>\",\n \"limit_price_atoms\": 5000,\n \"minimum_quantity_atoms\": 2,\n \"maximum_quantity_atoms\": 2,\n \"maximum_fraction_bps\": 10000,\n \"timeout_ms\": 2000,\n \"maximum_quote_age_ms\": 500,\n \"allow_partial\": true,\n \"on_unavailable\": \"CONTINUE\",\n \"on_reject\": \"CONTINUE\"\n }\n ],\n \"client_metadata\": {}\n}"
response = http.request(request)
puts response.read_body{
"status": "EXECUTABLE",
"requested_quantity_atoms": "<string>",
"maximum_executable_quantity_atoms": "<string>",
"checked_at": "2023-11-07T05:31:56Z",
"valid_until": "2023-11-07T05:31:56Z",
"routes": [
{
"venue": "<string>",
"rails": [
"PRIVATE_BLOCK"
],
"resource_type": "COLLATERAL",
"maximum_executable_quantity_atoms": "<string>",
"risk_source_sequence": "<string>",
"risk_valid_until": "2023-11-07T05:31:56Z",
"authority_valid_until": "2023-11-07T05:31:56Z"
}
]
}{
"error": "invalid_json",
"message": "request body is not valid JSON"
}{
"error": "unauthorized",
"message": "authentication required"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "payload_too_large"
}{
"error": "TTL_OUT_OF_RANGE",
"message": "TTL_OUT_OF_RANGE"
}{
"error": "internal_error",
"message": "auction request could not be completed"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
128128BUY, SELL FOK, FLEXIBLE One atom is 0.01 cent of probability-dollar price.
0 <= x <= 10000PUBLIC_EXECUTABLE_VWAP, APPROVED_EXPLICIT 0 <= x <= 10000Frozen before invitations; price-first minimizes marginal economics while completion-first may prefer one firm able to complete the target.
PRICE_FIRST, COMPLETION_FIRST 1 - 8 elements64MANUAL, SAVED_GROUP, RECOMMENDED CLASS_ONLY, REVEAL_TO_INVITEES, REVEAL_ON_AWARD 1 <= x <= 120000May be supplied instead of the header
x >= 1Minimum, target, and maximum are always explicit; SEEK_MAXIMUM may continue beyond the target but never beyond maximum.
Show child attributes
Show child attributes
Required only when slippage_reference_policy is APPROVED_EXPLICIT.
0 <= x <= 100000 <= x <= 100001 <= x <= 10000UNRATED, C, B, A Custom sealed bidding window from 2 seconds through 30 days. Omit or send 0 to accept the 5-second default.
2000 <= x <= 259200000016128128161281 <= x <= 164Show child attributes
Show child attributes
Bounded non-authoritative display metadata, at most 32 entries and 4 KiB total. market_title and market_provider provide the catalog label. Optional client_order_id is a 1–64 character desk reconciliation reference using letters, numbers, or . _ : / -; it is originator-only and should also derive the create idempotency key.
Show child attributes
Show child attributes
Response
Current originator route-capacity evidence
EXECUTABLE, INSUFFICIENT_CAPACITY Requested maximum quantity encoded exactly.
^[1-9]\d*$Minimum currently executable quantity across all requested routes.
^(0|[1-9]\d*)$Earliest risk
1 - 5 elementsShow child attributes
Show child attributes
Was this page helpful?
curl --request POST \
--url https://agora.kairos.trade/v1/auctions/preflight \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"market_id": "<string>",
"outcome_id": "<string>",
"hard_reserve_price_atoms": 5000,
"max_cumulative_slippage_bps": 5000,
"venue_scope": [
"<string>"
],
"max_total_execution_time_ms": 60000,
"idempotency_key": "<string>",
"fixed_quantity_atoms": 2,
"slippage_reference_price_atoms": 5000,
"minimum_private_improvement_bps": 5000,
"maximum_mm_concentration_bps": 10000,
"minimum_mm_reliability_tier": "UNRATED",
"auction_ttl_ms": 5000,
"allowed_participants": [
"<string>"
],
"saved_group_id": "<string>",
"excluded_participants": [
"<string>"
],
"max_recipients": 16,
"fallback_ladder": [
{
"action": "EXECUTE",
"venue": "<string>",
"limit_price_atoms": 5000,
"minimum_quantity_atoms": 2,
"maximum_quantity_atoms": 2,
"maximum_fraction_bps": 10000,
"timeout_ms": 2000,
"maximum_quote_age_ms": 500,
"allow_partial": true,
"on_unavailable": "CONTINUE",
"on_reject": "CONTINUE"
}
],
"client_metadata": {}
}
'import requests
url = "https://agora.kairos.trade/v1/auctions/preflight"
payload = {
"market_id": "<string>",
"outcome_id": "<string>",
"hard_reserve_price_atoms": 5000,
"max_cumulative_slippage_bps": 5000,
"venue_scope": ["<string>"],
"max_total_execution_time_ms": 60000,
"idempotency_key": "<string>",
"fixed_quantity_atoms": 2,
"slippage_reference_price_atoms": 5000,
"minimum_private_improvement_bps": 5000,
"maximum_mm_concentration_bps": 10000,
"minimum_mm_reliability_tier": "UNRATED",
"auction_ttl_ms": 5000,
"allowed_participants": ["<string>"],
"saved_group_id": "<string>",
"excluded_participants": ["<string>"],
"max_recipients": 16,
"fallback_ladder": [
{
"action": "EXECUTE",
"venue": "<string>",
"limit_price_atoms": 5000,
"minimum_quantity_atoms": 2,
"maximum_quantity_atoms": 2,
"maximum_fraction_bps": 10000,
"timeout_ms": 2000,
"maximum_quote_age_ms": 500,
"allow_partial": True,
"on_unavailable": "CONTINUE",
"on_reject": "CONTINUE"
}
],
"client_metadata": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
market_id: '<string>',
outcome_id: '<string>',
hard_reserve_price_atoms: 5000,
max_cumulative_slippage_bps: 5000,
venue_scope: ['<string>'],
max_total_execution_time_ms: 60000,
idempotency_key: '<string>',
fixed_quantity_atoms: 2,
slippage_reference_price_atoms: 5000,
minimum_private_improvement_bps: 5000,
maximum_mm_concentration_bps: 10000,
minimum_mm_reliability_tier: 'UNRATED',
auction_ttl_ms: 5000,
allowed_participants: ['<string>'],
saved_group_id: '<string>',
excluded_participants: ['<string>'],
max_recipients: 16,
fallback_ladder: [
{
action: 'EXECUTE',
venue: '<string>',
limit_price_atoms: 5000,
minimum_quantity_atoms: 2,
maximum_quantity_atoms: 2,
maximum_fraction_bps: 10000,
timeout_ms: 2000,
maximum_quote_age_ms: 500,
allow_partial: true,
on_unavailable: 'CONTINUE',
on_reject: 'CONTINUE'
}
],
client_metadata: {}
})
};
fetch('https://agora.kairos.trade/v1/auctions/preflight', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://agora.kairos.trade/v1/auctions/preflight",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'market_id' => '<string>',
'outcome_id' => '<string>',
'hard_reserve_price_atoms' => 5000,
'max_cumulative_slippage_bps' => 5000,
'venue_scope' => [
'<string>'
],
'max_total_execution_time_ms' => 60000,
'idempotency_key' => '<string>',
'fixed_quantity_atoms' => 2,
'slippage_reference_price_atoms' => 5000,
'minimum_private_improvement_bps' => 5000,
'maximum_mm_concentration_bps' => 10000,
'minimum_mm_reliability_tier' => 'UNRATED',
'auction_ttl_ms' => 5000,
'allowed_participants' => [
'<string>'
],
'saved_group_id' => '<string>',
'excluded_participants' => [
'<string>'
],
'max_recipients' => 16,
'fallback_ladder' => [
[
'action' => 'EXECUTE',
'venue' => '<string>',
'limit_price_atoms' => 5000,
'minimum_quantity_atoms' => 2,
'maximum_quantity_atoms' => 2,
'maximum_fraction_bps' => 10000,
'timeout_ms' => 2000,
'maximum_quote_age_ms' => 500,
'allow_partial' => true,
'on_unavailable' => 'CONTINUE',
'on_reject' => 'CONTINUE'
]
],
'client_metadata' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://agora.kairos.trade/v1/auctions/preflight"
payload := strings.NewReader("{\n \"market_id\": \"<string>\",\n \"outcome_id\": \"<string>\",\n \"hard_reserve_price_atoms\": 5000,\n \"max_cumulative_slippage_bps\": 5000,\n \"venue_scope\": [\n \"<string>\"\n ],\n \"max_total_execution_time_ms\": 60000,\n \"idempotency_key\": \"<string>\",\n \"fixed_quantity_atoms\": 2,\n \"slippage_reference_price_atoms\": 5000,\n \"minimum_private_improvement_bps\": 5000,\n \"maximum_mm_concentration_bps\": 10000,\n \"minimum_mm_reliability_tier\": \"UNRATED\",\n \"auction_ttl_ms\": 5000,\n \"allowed_participants\": [\n \"<string>\"\n ],\n \"saved_group_id\": \"<string>\",\n \"excluded_participants\": [\n \"<string>\"\n ],\n \"max_recipients\": 16,\n \"fallback_ladder\": [\n {\n \"action\": \"EXECUTE\",\n \"venue\": \"<string>\",\n \"limit_price_atoms\": 5000,\n \"minimum_quantity_atoms\": 2,\n \"maximum_quantity_atoms\": 2,\n \"maximum_fraction_bps\": 10000,\n \"timeout_ms\": 2000,\n \"maximum_quote_age_ms\": 500,\n \"allow_partial\": true,\n \"on_unavailable\": \"CONTINUE\",\n \"on_reject\": \"CONTINUE\"\n }\n ],\n \"client_metadata\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://agora.kairos.trade/v1/auctions/preflight")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"market_id\": \"<string>\",\n \"outcome_id\": \"<string>\",\n \"hard_reserve_price_atoms\": 5000,\n \"max_cumulative_slippage_bps\": 5000,\n \"venue_scope\": [\n \"<string>\"\n ],\n \"max_total_execution_time_ms\": 60000,\n \"idempotency_key\": \"<string>\",\n \"fixed_quantity_atoms\": 2,\n \"slippage_reference_price_atoms\": 5000,\n \"minimum_private_improvement_bps\": 5000,\n \"maximum_mm_concentration_bps\": 10000,\n \"minimum_mm_reliability_tier\": \"UNRATED\",\n \"auction_ttl_ms\": 5000,\n \"allowed_participants\": [\n \"<string>\"\n ],\n \"saved_group_id\": \"<string>\",\n \"excluded_participants\": [\n \"<string>\"\n ],\n \"max_recipients\": 16,\n \"fallback_ladder\": [\n {\n \"action\": \"EXECUTE\",\n \"venue\": \"<string>\",\n \"limit_price_atoms\": 5000,\n \"minimum_quantity_atoms\": 2,\n \"maximum_quantity_atoms\": 2,\n \"maximum_fraction_bps\": 10000,\n \"timeout_ms\": 2000,\n \"maximum_quote_age_ms\": 500,\n \"allow_partial\": true,\n \"on_unavailable\": \"CONTINUE\",\n \"on_reject\": \"CONTINUE\"\n }\n ],\n \"client_metadata\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://agora.kairos.trade/v1/auctions/preflight")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"market_id\": \"<string>\",\n \"outcome_id\": \"<string>\",\n \"hard_reserve_price_atoms\": 5000,\n \"max_cumulative_slippage_bps\": 5000,\n \"venue_scope\": [\n \"<string>\"\n ],\n \"max_total_execution_time_ms\": 60000,\n \"idempotency_key\": \"<string>\",\n \"fixed_quantity_atoms\": 2,\n \"slippage_reference_price_atoms\": 5000,\n \"minimum_private_improvement_bps\": 5000,\n \"maximum_mm_concentration_bps\": 10000,\n \"minimum_mm_reliability_tier\": \"UNRATED\",\n \"auction_ttl_ms\": 5000,\n \"allowed_participants\": [\n \"<string>\"\n ],\n \"saved_group_id\": \"<string>\",\n \"excluded_participants\": [\n \"<string>\"\n ],\n \"max_recipients\": 16,\n \"fallback_ladder\": [\n {\n \"action\": \"EXECUTE\",\n \"venue\": \"<string>\",\n \"limit_price_atoms\": 5000,\n \"minimum_quantity_atoms\": 2,\n \"maximum_quantity_atoms\": 2,\n \"maximum_fraction_bps\": 10000,\n \"timeout_ms\": 2000,\n \"maximum_quote_age_ms\": 500,\n \"allow_partial\": true,\n \"on_unavailable\": \"CONTINUE\",\n \"on_reject\": \"CONTINUE\"\n }\n ],\n \"client_metadata\": {}\n}"
response = http.request(request)
puts response.read_body{
"status": "EXECUTABLE",
"requested_quantity_atoms": "<string>",
"maximum_executable_quantity_atoms": "<string>",
"checked_at": "2023-11-07T05:31:56Z",
"valid_until": "2023-11-07T05:31:56Z",
"routes": [
{
"venue": "<string>",
"rails": [
"PRIVATE_BLOCK"
],
"resource_type": "COLLATERAL",
"maximum_executable_quantity_atoms": "<string>",
"risk_source_sequence": "<string>",
"risk_valid_until": "2023-11-07T05:31:56Z",
"authority_valid_until": "2023-11-07T05:31:56Z"
}
]
}{
"error": "invalid_json",
"message": "request body is not valid JSON"
}{
"error": "unauthorized",
"message": "authentication required"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "payload_too_large"
}{
"error": "TTL_OUT_OF_RANGE",
"message": "TTL_OUT_OF_RANGE"
}{
"error": "internal_error",
"message": "auction request could not be completed"
}
