Get RAMS mandate
curl --request GET \
--url https://api.sandbox.brickken.com/rams/mandate \
--header 'x-api-key: <api-key>'import requests
url = "https://api.sandbox.brickken.com/rams/mandate"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.sandbox.brickken.com/rams/mandate', 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.sandbox.brickken.com/rams/mandate",
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-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"
"net/http"
"io"
)
func main() {
url := "https://api.sandbox.brickken.com/rams/mandate"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<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://api.sandbox.brickken.com/rams/mandate")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.brickken.com/rams/mandate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"chainId": "11155111",
"agentMandateAddress": "0xD68E1bb972cA4EF7F5764FBf6d685a6DfC26778e",
"agent": "0x1111111111111111111111111111111111111111",
"principal": "0x2222222222222222222222222222222222222222",
"mandate": {
"agent": "0x1111111111111111111111111111111111111111",
"validFrom": 0,
"validUntil": 1789000000,
"principal": "0x2222222222222222222222222222222222222222",
"revoked": false,
"complianceProvider": "0xa90D2503D5D9b80ECC27856Ff76F892B8C02f278",
"identityRef": "0x1111111111111111111111111111111111111111111111111111111111111111",
"asset": "0x3333333333333333333333333333333333333333",
"maxTransactionValue": "1000",
"maxCumulativeValue": "1500",
"cumulativeUsed": "500",
"remainingCumulativeValue": "1000",
"unlimitedTransactionValue": false,
"unlimitedCumulativeValue": false,
"metadata": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
"status": "active",
"frozen": false,
"nonce": "3"
}
}RAMS Reads & Typed Data
Get RAMS Mandate
Read an ERC-8226 mandate and its derived lifecycle status.
GET
/
rams
/
mandate
Get RAMS mandate
curl --request GET \
--url https://api.sandbox.brickken.com/rams/mandate \
--header 'x-api-key: <api-key>'import requests
url = "https://api.sandbox.brickken.com/rams/mandate"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.sandbox.brickken.com/rams/mandate', 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.sandbox.brickken.com/rams/mandate",
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-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"
"net/http"
"io"
)
func main() {
url := "https://api.sandbox.brickken.com/rams/mandate"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<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://api.sandbox.brickken.com/rams/mandate")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.brickken.com/rams/mandate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"chainId": "11155111",
"agentMandateAddress": "0xD68E1bb972cA4EF7F5764FBf6d685a6DfC26778e",
"agent": "0x1111111111111111111111111111111111111111",
"principal": "0x2222222222222222222222222222222222222222",
"mandate": {
"agent": "0x1111111111111111111111111111111111111111",
"validFrom": 0,
"validUntil": 1789000000,
"principal": "0x2222222222222222222222222222222222222222",
"revoked": false,
"complianceProvider": "0xa90D2503D5D9b80ECC27856Ff76F892B8C02f278",
"identityRef": "0x1111111111111111111111111111111111111111111111111111111111111111",
"asset": "0x3333333333333333333333333333333333333333",
"maxTransactionValue": "1000",
"maxCumulativeValue": "1500",
"cumulativeUsed": "500",
"remainingCumulativeValue": "1000",
"unlimitedTransactionValue": false,
"unlimitedCumulativeValue": false,
"metadata": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
"status": "active",
"frozen": false,
"nonce": "3"
}
}Send
x-api-key. These reads are also x402-payable: call without a key and, where x402 is enabled for the chain, the API answers 402 Payment Required with the amount in the PAYMENT-REQUIRED header. Reads are priced at the cheaper GETTER tier than writes — take the amount from the response rather than from a table.
Query by chainId, agent, and principal; agentMandateAddress is an optional contract override.
The response includes the raw mandate, derived status (none, pending, active, expired, or revoked), agent freeze state, and the principal’s current EIP-712 nonce. On-chain read failures are returned as errors and never replaced with defaults.Authorizations
Query Parameters
Target chain ID. RAMS is available on Ethereum Sepolia (11155111) only at launch. Decimal and 0x hex values are accepted.
Agent wallet address.
Pattern:
^0x[a-fA-F0-9]{40}$Principal wallet address.
Pattern:
^0x[a-fA-F0-9]{40}$Optional AgentMandate contract override.
Pattern:
^0x[a-fA-F0-9]{40}$Response
200 - application/json
Successful response
Show child attributes
Show child attributes