Polygon
Broadcast Transaction
Broadcast a signed transaction to the Polygon network.
POST
/
api
/
v1
/
polygon
/
transaction
/
send
Broadcast Transaction
curl --request POST \
--url https://api.p2p.org/api/api/v1/polygon/transaction/send \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"signedTransaction": "0x02f902d70580830167...",
"stakerAddress": "0x338EF19fA2eC0fc4d1277B1307a613fA1FBbc0cb"
}
'import requests
url = "https://api.p2p.org/api/api/v1/polygon/transaction/send"
payload = {
"signedTransaction": "0x02f902d70580830167...",
"stakerAddress": "0x338EF19fA2eC0fc4d1277B1307a613fA1FBbc0cb"
}
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({
signedTransaction: '0x02f902d70580830167...',
stakerAddress: '0x338EF19fA2eC0fc4d1277B1307a613fA1FBbc0cb'
})
};
fetch('https://api.p2p.org/api/api/v1/polygon/transaction/send', 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.p2p.org/api/api/v1/polygon/transaction/send",
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([
'signedTransaction' => '0x02f902d70580830167...',
'stakerAddress' => '0x338EF19fA2eC0fc4d1277B1307a613fA1FBbc0cb'
]),
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://api.p2p.org/api/api/v1/polygon/transaction/send"
payload := strings.NewReader("{\n \"signedTransaction\": \"0x02f902d70580830167...\",\n \"stakerAddress\": \"0x338EF19fA2eC0fc4d1277B1307a613fA1FBbc0cb\"\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://api.p2p.org/api/api/v1/polygon/transaction/send")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"signedTransaction\": \"0x02f902d70580830167...\",\n \"stakerAddress\": \"0x338EF19fA2eC0fc4d1277B1307a613fA1FBbc0cb\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.p2p.org/api/api/v1/polygon/transaction/send")
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 \"signedTransaction\": \"0x02f902d70580830167...\",\n \"stakerAddress\": \"0x338EF19fA2eC0fc4d1277B1307a613fA1FBbc0cb\"\n}"
response = http.request(request)
puts response.read_body{
"error": {
"code": 100101,
"message": "The data provided is not valid. Please check the request parameters and try again.",
"name": "ValidationException",
"type": "client"
},
"result": null
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Response
Bad request
Standard API error response envelope wrapping the exception details.
Error object containing exception details. Null on success.
Show child attributes
Show child attributes
Result payload. Always null on error responses.
ISO 8601 timestamp of when the error response was generated.
Example:
"2026-05-20T22:29:03.126Z"
Identifier of the request (the x-request-id header). Quote this value to correlate the response with server logs.
Example:
"90c16e9e-6e99-4651-a033-60290356df2f"
Broadcast Transaction
curl --request POST \
--url https://api.p2p.org/api/api/v1/polygon/transaction/send \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"signedTransaction": "0x02f902d70580830167...",
"stakerAddress": "0x338EF19fA2eC0fc4d1277B1307a613fA1FBbc0cb"
}
'import requests
url = "https://api.p2p.org/api/api/v1/polygon/transaction/send"
payload = {
"signedTransaction": "0x02f902d70580830167...",
"stakerAddress": "0x338EF19fA2eC0fc4d1277B1307a613fA1FBbc0cb"
}
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({
signedTransaction: '0x02f902d70580830167...',
stakerAddress: '0x338EF19fA2eC0fc4d1277B1307a613fA1FBbc0cb'
})
};
fetch('https://api.p2p.org/api/api/v1/polygon/transaction/send', 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.p2p.org/api/api/v1/polygon/transaction/send",
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([
'signedTransaction' => '0x02f902d70580830167...',
'stakerAddress' => '0x338EF19fA2eC0fc4d1277B1307a613fA1FBbc0cb'
]),
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://api.p2p.org/api/api/v1/polygon/transaction/send"
payload := strings.NewReader("{\n \"signedTransaction\": \"0x02f902d70580830167...\",\n \"stakerAddress\": \"0x338EF19fA2eC0fc4d1277B1307a613fA1FBbc0cb\"\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://api.p2p.org/api/api/v1/polygon/transaction/send")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"signedTransaction\": \"0x02f902d70580830167...\",\n \"stakerAddress\": \"0x338EF19fA2eC0fc4d1277B1307a613fA1FBbc0cb\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.p2p.org/api/api/v1/polygon/transaction/send")
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 \"signedTransaction\": \"0x02f902d70580830167...\",\n \"stakerAddress\": \"0x338EF19fA2eC0fc4d1277B1307a613fA1FBbc0cb\"\n}"
response = http.request(request)
puts response.read_body{
"error": {
"code": 100101,
"message": "The data provided is not valid. Please check the request parameters and try again.",
"name": "ValidationException",
"type": "client"
},
"result": null
}