curl --request GET \
--url https://apimonaco.xyz/api/v1/buildercodes/config \
--header 'X-Monaco-Signature: <api-key>'import requests
url = "https://apimonaco.xyz/api/v1/buildercodes/config"
headers = {"X-Monaco-Signature": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Monaco-Signature': '<api-key>'}};
fetch('https://apimonaco.xyz/api/v1/buildercodes/config', 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://apimonaco.xyz/api/v1/buildercodes/config",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Monaco-Signature: <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"
"net/http"
"io"
)
func main() {
url := "https://apimonaco.xyz/api/v1/buildercodes/config"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Monaco-Signature", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://apimonaco.xyz/api/v1/buildercodes/config")
.header("X-Monaco-Signature", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://apimonaco.xyz/api/v1/buildercodes/config")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Monaco-Signature"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"applicationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"enrolled": true,
"payoutAddress": "0x0000000000000000000000000000000000000001",
"buildercodesEnabled": true,
"buildercodesBudgetBps": 1000,
"builderFeeEnabled": true,
"builderFeeBps": 10,
"builderFeeCapBps": 100,
"changesRemaining": 2,
"nextChangeAllowedAt": "2023-11-07T05:31:56Z",
"builderMakerFeeBps": 0
}Get your BuilderCodes program configuration
Read this application’s BuilderCodes program state.
The application is taken from the authenticated session; there is no application id in the request. The caller must be the application’s configured payout wallet.
curl --request GET \
--url https://apimonaco.xyz/api/v1/buildercodes/config \
--header 'X-Monaco-Signature: <api-key>'import requests
url = "https://apimonaco.xyz/api/v1/buildercodes/config"
headers = {"X-Monaco-Signature": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Monaco-Signature': '<api-key>'}};
fetch('https://apimonaco.xyz/api/v1/buildercodes/config', 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://apimonaco.xyz/api/v1/buildercodes/config",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Monaco-Signature: <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"
"net/http"
"io"
)
func main() {
url := "https://apimonaco.xyz/api/v1/buildercodes/config"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Monaco-Signature", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://apimonaco.xyz/api/v1/buildercodes/config")
.header("X-Monaco-Signature", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://apimonaco.xyz/api/v1/buildercodes/config")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Monaco-Signature"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"applicationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"enrolled": true,
"payoutAddress": "0x0000000000000000000000000000000000000001",
"buildercodesEnabled": true,
"buildercodesBudgetBps": 1000,
"builderFeeEnabled": true,
"builderFeeBps": 10,
"builderFeeCapBps": 100,
"changesRemaining": 2,
"nextChangeAllowedAt": "2023-11-07T05:31:56Z",
"builderMakerFeeBps": 0
}Authorizations
Ed25519 session-key request signing. Every authenticated request carries three headers: X-Monaco-PublicKey (64-char lowercase-hex session public key), X-Monaco-Timestamp (Unix milliseconds, within 30s of server time), and X-Monaco-Signature (hex ed25519 signature). The signature is over METHOD\npath?query\ntimestamp_ms\nSHA256_hex(body), where the body hash is the SHA-256 of the empty byte string when there is no body. Obtain the session keypair from POST /api/v1/auth/challenge followed by POST /api/v1/auth/verify.
Response
OK
Application id derived from the authenticated session.
Whether this application is currently enrolled in BuilderCodes.
Current lowercase-normalized payout address, or null when none is configured.
"0x0000000000000000000000000000000000000001"
Whether the BuilderCodes revenue share is switched on for this application. While false no new share accrues on this application's fills; balances already credited stay readable and claimable.
This application's configured target BuilderCodes revenue share of Monaco's protocol fee on each taker fill, in basis points. The rate actually paid on a fill is the payout row's appliedBps, which can be lower.
x <= 100001000
Whether builder fees are currently charged on this application's orders. While false, builderFeeBps is stored but no builder fee is charged.
This application's stored builder fee in basis points: the additional taker fee it charges its users. The fee charged is this value capped at builderFeeCapBps, and 0 while builderFeeEnabled is false or the application is not enrolled with a payout address.
x <= 10010
The highest builder fee, in basis points, that can currently be set or charged.
x <= 100100
Builder-fee changes this application can still make in the current rolling 24 hours (at most 2).
x <= 22
RFC 3339 time at which the next builder-fee change becomes allowed, or null while changesRemaining is above 0.
This application's stored maker add-on in basis points: the additional fee it charges its users when their order fills as the maker, on top of Monaco's maker fee or rebate. Charged under the same cap and switches as builderFeeBps; an order stores the rate in force when it was placed and is charged that rate when it fills.
x <= 1000
Was this page helpful?

