Create order
curl --request POST \
--url https://api.polymarket.us/v1/orders \
--header 'Content-Type: application/json' \
--data '
{
"market_slug": "<string>",
"quantity": 123,
"participateDontInitiate": true,
"goodTillTime": "<string>",
"synchronousExecution": true,
"maxBlockTime": "<string>"
}
'import requests
url = "https://api.polymarket.us/v1/orders"
payload = {
"market_slug": "<string>",
"quantity": 123,
"participateDontInitiate": True,
"goodTillTime": "<string>",
"synchronousExecution": True,
"maxBlockTime": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
market_slug: '<string>',
quantity: 123,
participateDontInitiate: true,
goodTillTime: '<string>',
synchronousExecution: true,
maxBlockTime: '<string>'
})
};
fetch('https://api.polymarket.us/v1/orders', 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://api.polymarket.us/v1/orders",
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_slug' => '<string>',
'quantity' => 123,
'participateDontInitiate' => true,
'goodTillTime' => '<string>',
'synchronousExecution' => true,
'maxBlockTime' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"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://api.polymarket.us/v1/orders"
payload := strings.NewReader("{\n \"market_slug\": \"<string>\",\n \"quantity\": 123,\n \"participateDontInitiate\": true,\n \"goodTillTime\": \"<string>\",\n \"synchronousExecution\": true,\n \"maxBlockTime\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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://api.polymarket.us/v1/orders")
.header("Content-Type", "application/json")
.body("{\n \"market_slug\": \"<string>\",\n \"quantity\": 123,\n \"participateDontInitiate\": true,\n \"goodTillTime\": \"<string>\",\n \"synchronousExecution\": true,\n \"maxBlockTime\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.polymarket.us/v1/orders")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"market_slug\": \"<string>\",\n \"quantity\": 123,\n \"participateDontInitiate\": true,\n \"goodTillTime\": \"<string>\",\n \"synchronousExecution\": true,\n \"maxBlockTime\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"executions": [
{
"id": "<string>",
"order": {
"id": "<string>",
"market_slug": "<string>",
"price": {
"value": "0.55",
"currency": "USD"
},
"quantity": 123,
"cumQuantity": 123,
"leavesQuantity": 123,
"goodTillTime": "2023-11-07T05:31:56Z",
"marketMetadata": {
"slug": "<string>",
"icon": "<string>",
"title": "<string>",
"outcome": "<string>",
"eventSlug": "<string>"
},
"state": 123,
"avgPx": {
"value": "0.55",
"currency": "USD"
},
"insertTime": "2023-11-07T05:31:56Z",
"createTime": "2023-11-07T05:31:56Z"
},
"lastShares": "<string>",
"lastPx": {
"value": "0.55",
"currency": "USD"
},
"type": 123,
"text": "<string>",
"orderRejectReason": 123,
"transactTime": "2023-11-07T05:31:56Z",
"tradeId": "<string>",
"aggressor": true
}
]
}Orders
Create order
Create a new order to enter into a market
POST
/
v1
/
orders
Create order
curl --request POST \
--url https://api.polymarket.us/v1/orders \
--header 'Content-Type: application/json' \
--data '
{
"market_slug": "<string>",
"quantity": 123,
"participateDontInitiate": true,
"goodTillTime": "<string>",
"synchronousExecution": true,
"maxBlockTime": "<string>"
}
'import requests
url = "https://api.polymarket.us/v1/orders"
payload = {
"market_slug": "<string>",
"quantity": 123,
"participateDontInitiate": True,
"goodTillTime": "<string>",
"synchronousExecution": True,
"maxBlockTime": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
market_slug: '<string>',
quantity: 123,
participateDontInitiate: true,
goodTillTime: '<string>',
synchronousExecution: true,
maxBlockTime: '<string>'
})
};
fetch('https://api.polymarket.us/v1/orders', 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://api.polymarket.us/v1/orders",
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_slug' => '<string>',
'quantity' => 123,
'participateDontInitiate' => true,
'goodTillTime' => '<string>',
'synchronousExecution' => true,
'maxBlockTime' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"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://api.polymarket.us/v1/orders"
payload := strings.NewReader("{\n \"market_slug\": \"<string>\",\n \"quantity\": 123,\n \"participateDontInitiate\": true,\n \"goodTillTime\": \"<string>\",\n \"synchronousExecution\": true,\n \"maxBlockTime\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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://api.polymarket.us/v1/orders")
.header("Content-Type", "application/json")
.body("{\n \"market_slug\": \"<string>\",\n \"quantity\": 123,\n \"participateDontInitiate\": true,\n \"goodTillTime\": \"<string>\",\n \"synchronousExecution\": true,\n \"maxBlockTime\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.polymarket.us/v1/orders")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"market_slug\": \"<string>\",\n \"quantity\": 123,\n \"participateDontInitiate\": true,\n \"goodTillTime\": \"<string>\",\n \"synchronousExecution\": true,\n \"maxBlockTime\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"executions": [
{
"id": "<string>",
"order": {
"id": "<string>",
"market_slug": "<string>",
"price": {
"value": "0.55",
"currency": "USD"
},
"quantity": 123,
"cumQuantity": 123,
"leavesQuantity": 123,
"goodTillTime": "2023-11-07T05:31:56Z",
"marketMetadata": {
"slug": "<string>",
"icon": "<string>",
"title": "<string>",
"outcome": "<string>",
"eventSlug": "<string>"
},
"state": 123,
"avgPx": {
"value": "0.55",
"currency": "USD"
},
"insertTime": "2023-11-07T05:31:56Z",
"createTime": "2023-11-07T05:31:56Z"
},
"lastShares": "<string>",
"lastPx": {
"value": "0.55",
"currency": "USD"
},
"type": 123,
"text": "<string>",
"orderRejectReason": 123,
"transactTime": "2023-11-07T05:31:56Z",
"tradeId": "<string>",
"aggressor": true
}
]
}Body
application/json
Request to create a new order
Market slug to place order in
Intent of the order: 1 = BUY_YES, 2 = SELL_YES, 3 = BUY_NO, 4 = SELL_NO
Available options:
1, 2, 3, 4 Type of order: 1 = LIMIT, 2 = MARKET
Available options:
1, 2 Order price (required for limit orders)
Show child attributes
Show child attributes
Order quantity in shares
Time in force: 1 = GTC (Good Till Cancel), 2 = GTD (Good Till Date), 3 = IOC (Immediate or Cancel), 4 = FOK (Fill or Kill)
Available options:
1, 2, 3, 4 If true, order must rest on book (maker only)
Expiration time for GTD orders
Order quantity in cash (for market orders)
Show child attributes
Show child attributes
Indicates whether the order was placed manually or automatically: 1 = MANUAL, 2 = AUTOMATIC
Available options:
1, 2 If true, wait for order execution before returning
Max wait time in seconds for synchronous execution
⌘I