Get RAMS selector ActionSpec
curl --request GET \
--url https://api.sandbox.brickken.com/rams/executor-action \
--header 'x-api-key: <api-key>'import requests
url = "https://api.sandbox.brickken.com/rams/executor-action"
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/executor-action', 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/executor-action",
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/executor-action"
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/executor-action")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.brickken.com/rams/executor-action")
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": {
"executorAddress": "0xc81949Cf5b52BDc7890Fd5040A9Cd0cdb4B59952",
"principal": "0xB610470ae0fEa78A1B27cD3F0D4011eb5361fAf1",
"agentMandateAddress": "0xD68E1bb972cA4EF7F5764FBf6d685a6DfC26778e",
"owner": "0xB610470ae0fEa78A1B27cD3F0D4011eb5361fAf1",
"selector": "0x23b872dd",
"action": "0x23b872dd00000000000000000000000000000000000000000000000000000000",
"spec": {
"supported": true,
"hasAmount": true,
"amountIndex": 2
}
}
}RAMS Reads & Typed Data
Get RAMS Executor Action
Return the ActionSpec for a function selector from an AgentExecutor.
GET
/
rams
/
executor-action
Get RAMS selector ActionSpec
curl --request GET \
--url https://api.sandbox.brickken.com/rams/executor-action \
--header 'x-api-key: <api-key>'import requests
url = "https://api.sandbox.brickken.com/rams/executor-action"
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/executor-action', 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/executor-action",
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/executor-action"
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/executor-action")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.brickken.com/rams/executor-action")
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": {
"executorAddress": "0xc81949Cf5b52BDc7890Fd5040A9Cd0cdb4B59952",
"principal": "0xB610470ae0fEa78A1B27cD3F0D4011eb5361fAf1",
"agentMandateAddress": "0xD68E1bb972cA4EF7F5764FBf6d685a6DfC26778e",
"owner": "0xB610470ae0fEa78A1B27cD3F0D4011eb5361fAf1",
"selector": "0x23b872dd",
"action": "0x23b872dd00000000000000000000000000000000000000000000000000000000",
"spec": {
"supported": true,
"hasAmount": true,
"amountIndex": 2
}
}
}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.
Provide chainId and either a 4-byte selector or left-aligned bytes32 action; optionally override executorAddress.
The returned ActionSpec contains supported, hasAmount, and amountIndex. The response also includes the executor’s principal, owner, and AgentMandate binding. Verify value-bearing selectors have amount extraction enabled before relying on RAMS caps.Authorizations
Query Parameters
Target chain ID. RAMS is available on Ethereum Sepolia (11155111) only at launch. Decimal and 0x hex values are accepted.
4-byte function selector, e.g. 0x23b872dd. Provide exactly one of selector or action.
Pattern:
^0x[a-fA-F0-9]{8}$Left-aligned bytes32 action. Provide exactly one of selector or action.
Pattern:
^0x[a-fA-F0-9]{64}$Optional AgentExecutor contract override.
Pattern:
^0x[a-fA-F0-9]{40}$Response
200 - application/json
Successful response
Show child attributes
Show child attributes