Submit register trader transaction
curl --request POST \
--url https://perp-api.phoenix.trade/v1/exchange/send-register-ixs \
--header 'Content-Type: application/json' \
--data '
{
"traderAuthority": "string",
"transaction": "string",
"txFeePayer": "string"
}
'import requests
url = "https://perp-api.phoenix.trade/v1/exchange/send-register-ixs"
payload = {
"traderAuthority": "string",
"transaction": "string",
"txFeePayer": "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({traderAuthority: 'string', transaction: 'string', txFeePayer: 'string'})
};
fetch('https://perp-api.phoenix.trade/v1/exchange/send-register-ixs', 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://perp-api.phoenix.trade/v1/exchange/send-register-ixs",
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([
'traderAuthority' => 'string',
'transaction' => 'string',
'txFeePayer' => '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://perp-api.phoenix.trade/v1/exchange/send-register-ixs"
payload := strings.NewReader("{\n \"traderAuthority\": \"string\",\n \"transaction\": \"string\",\n \"txFeePayer\": \"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://perp-api.phoenix.trade/v1/exchange/send-register-ixs")
.header("Content-Type", "application/json")
.body("{\n \"traderAuthority\": \"string\",\n \"transaction\": \"string\",\n \"txFeePayer\": \"string\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://perp-api.phoenix.trade/v1/exchange/send-register-ixs")
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 \"traderAuthority\": \"string\",\n \"transaction\": \"string\",\n \"txFeePayer\": \"string\"\n}"
response = http.request(request)
puts response.read_body{
"includeRegisterTrader": true,
"maxPositions": 1,
"signature": "<string>",
"traderOnboarder": "<string>",
"traderPda": "<string>",
"txFeePayer": "<string>"
}Exchange
Submit register trader transaction
Validates a base64-encoded transaction for the default trader account, signs it with the Phoenix onboarder, simulates it to ensure the onboarder pays no lamports, sends it to Phoenix’s RPC, and returns the transaction signature.
POST
/
v1
/
exchange
/
send-register-ixs
Submit register trader transaction
curl --request POST \
--url https://perp-api.phoenix.trade/v1/exchange/send-register-ixs \
--header 'Content-Type: application/json' \
--data '
{
"traderAuthority": "string",
"transaction": "string",
"txFeePayer": "string"
}
'import requests
url = "https://perp-api.phoenix.trade/v1/exchange/send-register-ixs"
payload = {
"traderAuthority": "string",
"transaction": "string",
"txFeePayer": "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({traderAuthority: 'string', transaction: 'string', txFeePayer: 'string'})
};
fetch('https://perp-api.phoenix.trade/v1/exchange/send-register-ixs', 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://perp-api.phoenix.trade/v1/exchange/send-register-ixs",
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([
'traderAuthority' => 'string',
'transaction' => 'string',
'txFeePayer' => '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://perp-api.phoenix.trade/v1/exchange/send-register-ixs"
payload := strings.NewReader("{\n \"traderAuthority\": \"string\",\n \"transaction\": \"string\",\n \"txFeePayer\": \"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://perp-api.phoenix.trade/v1/exchange/send-register-ixs")
.header("Content-Type", "application/json")
.body("{\n \"traderAuthority\": \"string\",\n \"transaction\": \"string\",\n \"txFeePayer\": \"string\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://perp-api.phoenix.trade/v1/exchange/send-register-ixs")
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 \"traderAuthority\": \"string\",\n \"transaction\": \"string\",\n \"txFeePayer\": \"string\"\n}"
response = http.request(request)
puts response.read_body{
"includeRegisterTrader": true,
"maxPositions": 1,
"signature": "<string>",
"traderOnboarder": "<string>",
"traderPda": "<string>",
"txFeePayer": "<string>"
}Body
application/json
JSON request payload for post.v1.exchange.send_register_ixs.
Request payload for /exchange/send-register-ixs.
Base64-encoded Solana transaction wire bytes signed by the user-owned required signers. The API validates, signs as onboarder, simulates, and submits it.
Required range:
x >= 0Required range:
x >= 0Required range:
x >= 0