Admin - Create the config for a new campaign
curl --request POST \
--url https://mainnet.gomaestro-api.org/v1/contracts/singleAssetStaking/createConfig \
--header 'Content-Type: application/json' \
--header 'api-key: <api-key>' \
--data '
{
"freezeStake": 123,
"endStaking": 123,
"penaltyAddress": "Cardano address starting from addr",
"stakeCS": "Token policy id hex",
"stakeTN": "Token policy name in utf-8",
"minimumStake": 123,
"rewardCS": "Token policy id hex",
"rewardTN": "Token policy name in utf-8",
"sender": "<string>",
"stakingInitWallet": "<string>",
"currentTime": 123
}
'import requests
url = "https://mainnet.gomaestro-api.org/v1/contracts/singleAssetStaking/createConfig"
payload = {
"freezeStake": 123,
"endStaking": 123,
"penaltyAddress": "Cardano address starting from addr",
"stakeCS": "Token policy id hex",
"stakeTN": "Token policy name in utf-8",
"minimumStake": 123,
"rewardCS": "Token policy id hex",
"rewardTN": "Token policy name in utf-8",
"sender": "<string>",
"stakingInitWallet": "<string>",
"currentTime": 123
}
headers = {
"api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
freezeStake: 123,
endStaking: 123,
penaltyAddress: 'Cardano address starting from addr',
stakeCS: 'Token policy id hex',
stakeTN: 'Token policy name in utf-8',
minimumStake: 123,
rewardCS: 'Token policy id hex',
rewardTN: 'Token policy name in utf-8',
sender: '<string>',
stakingInitWallet: '<string>',
currentTime: 123
})
};
fetch('https://mainnet.gomaestro-api.org/v1/contracts/singleAssetStaking/createConfig', 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://mainnet.gomaestro-api.org/v1/contracts/singleAssetStaking/createConfig",
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([
'freezeStake' => 123,
'endStaking' => 123,
'penaltyAddress' => 'Cardano address starting from addr',
'stakeCS' => 'Token policy id hex',
'stakeTN' => 'Token policy name in utf-8',
'minimumStake' => 123,
'rewardCS' => 'Token policy id hex',
'rewardTN' => 'Token policy name in utf-8',
'sender' => '<string>',
'stakingInitWallet' => '<string>',
'currentTime' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"api-key: <api-key>"
],
]);
$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://mainnet.gomaestro-api.org/v1/contracts/singleAssetStaking/createConfig"
payload := strings.NewReader("{\n \"freezeStake\": 123,\n \"endStaking\": 123,\n \"penaltyAddress\": \"Cardano address starting from addr\",\n \"stakeCS\": \"Token policy id hex\",\n \"stakeTN\": \"Token policy name in utf-8\",\n \"minimumStake\": 123,\n \"rewardCS\": \"Token policy id hex\",\n \"rewardTN\": \"Token policy name in utf-8\",\n \"sender\": \"<string>\",\n \"stakingInitWallet\": \"<string>\",\n \"currentTime\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api-key", "<api-key>")
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://mainnet.gomaestro-api.org/v1/contracts/singleAssetStaking/createConfig")
.header("api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"freezeStake\": 123,\n \"endStaking\": 123,\n \"penaltyAddress\": \"Cardano address starting from addr\",\n \"stakeCS\": \"Token policy id hex\",\n \"stakeTN\": \"Token policy name in utf-8\",\n \"minimumStake\": 123,\n \"rewardCS\": \"Token policy id hex\",\n \"rewardTN\": \"Token policy name in utf-8\",\n \"sender\": \"<string>\",\n \"stakingInitWallet\": \"<string>\",\n \"currentTime\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mainnet.gomaestro-api.org/v1/contracts/singleAssetStaking/createConfig")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"freezeStake\": 123,\n \"endStaking\": 123,\n \"penaltyAddress\": \"Cardano address starting from addr\",\n \"stakeCS\": \"Token policy id hex\",\n \"stakeTN\": \"Token policy name in utf-8\",\n \"minimumStake\": 123,\n \"rewardCS\": \"Token policy id hex\",\n \"rewardTN\": \"Token policy name in utf-8\",\n \"sender\": \"<string>\",\n \"stakingInitWallet\": \"<string>\",\n \"currentTime\": 123\n}"
response = http.request(request)
puts response.read_body{
"cbor_hex": "<string>",
"tx_hash": "<string>"
}Single Asset Staking
Admin - Create the config for a new campaign
Create configuration for a new single-asset staking campaign including rewards, duration, and staking parameters.
POST
/
contracts
/
singleAssetStaking
/
createConfig
Admin - Create the config for a new campaign
curl --request POST \
--url https://mainnet.gomaestro-api.org/v1/contracts/singleAssetStaking/createConfig \
--header 'Content-Type: application/json' \
--header 'api-key: <api-key>' \
--data '
{
"freezeStake": 123,
"endStaking": 123,
"penaltyAddress": "Cardano address starting from addr",
"stakeCS": "Token policy id hex",
"stakeTN": "Token policy name in utf-8",
"minimumStake": 123,
"rewardCS": "Token policy id hex",
"rewardTN": "Token policy name in utf-8",
"sender": "<string>",
"stakingInitWallet": "<string>",
"currentTime": 123
}
'import requests
url = "https://mainnet.gomaestro-api.org/v1/contracts/singleAssetStaking/createConfig"
payload = {
"freezeStake": 123,
"endStaking": 123,
"penaltyAddress": "Cardano address starting from addr",
"stakeCS": "Token policy id hex",
"stakeTN": "Token policy name in utf-8",
"minimumStake": 123,
"rewardCS": "Token policy id hex",
"rewardTN": "Token policy name in utf-8",
"sender": "<string>",
"stakingInitWallet": "<string>",
"currentTime": 123
}
headers = {
"api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
freezeStake: 123,
endStaking: 123,
penaltyAddress: 'Cardano address starting from addr',
stakeCS: 'Token policy id hex',
stakeTN: 'Token policy name in utf-8',
minimumStake: 123,
rewardCS: 'Token policy id hex',
rewardTN: 'Token policy name in utf-8',
sender: '<string>',
stakingInitWallet: '<string>',
currentTime: 123
})
};
fetch('https://mainnet.gomaestro-api.org/v1/contracts/singleAssetStaking/createConfig', 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://mainnet.gomaestro-api.org/v1/contracts/singleAssetStaking/createConfig",
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([
'freezeStake' => 123,
'endStaking' => 123,
'penaltyAddress' => 'Cardano address starting from addr',
'stakeCS' => 'Token policy id hex',
'stakeTN' => 'Token policy name in utf-8',
'minimumStake' => 123,
'rewardCS' => 'Token policy id hex',
'rewardTN' => 'Token policy name in utf-8',
'sender' => '<string>',
'stakingInitWallet' => '<string>',
'currentTime' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"api-key: <api-key>"
],
]);
$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://mainnet.gomaestro-api.org/v1/contracts/singleAssetStaking/createConfig"
payload := strings.NewReader("{\n \"freezeStake\": 123,\n \"endStaking\": 123,\n \"penaltyAddress\": \"Cardano address starting from addr\",\n \"stakeCS\": \"Token policy id hex\",\n \"stakeTN\": \"Token policy name in utf-8\",\n \"minimumStake\": 123,\n \"rewardCS\": \"Token policy id hex\",\n \"rewardTN\": \"Token policy name in utf-8\",\n \"sender\": \"<string>\",\n \"stakingInitWallet\": \"<string>\",\n \"currentTime\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api-key", "<api-key>")
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://mainnet.gomaestro-api.org/v1/contracts/singleAssetStaking/createConfig")
.header("api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"freezeStake\": 123,\n \"endStaking\": 123,\n \"penaltyAddress\": \"Cardano address starting from addr\",\n \"stakeCS\": \"Token policy id hex\",\n \"stakeTN\": \"Token policy name in utf-8\",\n \"minimumStake\": 123,\n \"rewardCS\": \"Token policy id hex\",\n \"rewardTN\": \"Token policy name in utf-8\",\n \"sender\": \"<string>\",\n \"stakingInitWallet\": \"<string>\",\n \"currentTime\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mainnet.gomaestro-api.org/v1/contracts/singleAssetStaking/createConfig")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"freezeStake\": 123,\n \"endStaking\": 123,\n \"penaltyAddress\": \"Cardano address starting from addr\",\n \"stakeCS\": \"Token policy id hex\",\n \"stakeTN\": \"Token policy name in utf-8\",\n \"minimumStake\": 123,\n \"rewardCS\": \"Token policy id hex\",\n \"rewardTN\": \"Token policy name in utf-8\",\n \"sender\": \"<string>\",\n \"stakingInitWallet\": \"<string>\",\n \"currentTime\": 123\n}"
response = http.request(request)
puts response.read_body{
"cbor_hex": "<string>",
"tx_hash": "<string>"
}Authorizations
Project API Key
Body
application/json
Freeze stake
End staking
Penalty address
Stake CS
Stake TN
Minimum stake
Reward CS
Reward TN
Sender's address, the wallet to config staking campaign
The wallet to initialize staking
Current time
Was this page helpful?
⌘I

