Returns the Composition Layer content for the calling wallet’s own wallet-Layer, without mutating it. Only the wallet’s own owner may call this.
GET
/
sdk
/
{environmentId}
/
waas
/
{walletId}
/
policy-layer
Get a wallet-Layer's Rules
curl --request GET \
--url https://app.dynamicauth.com/api/v0/sdk/{environmentId}/waas/{walletId}/policy-layer \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.dynamicauth.com/api/v0/sdk/{environmentId}/waas/{walletId}/policy-layer"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.dynamicauth.com/api/v0/sdk/{environmentId}/waas/{walletId}/policy-layer', 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://app.dynamicauth.com/api/v0/sdk/{environmentId}/waas/{walletId}/policy-layer",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://app.dynamicauth.com/api/v0/sdk/{environmentId}/waas/{walletId}/policy-layer"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.dynamicauth.com/api/v0/sdk/{environmentId}/waas/{walletId}/policy-layer")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.dynamicauth.com/api/v0/sdk/{environmentId}/waas/{walletId}/policy-layer")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"layerId": "<string>",
"layerContent": {
"rules": [
{
"ruleId": "95b11417-f18f-457f-8804-68e361f9164f",
"name": "<string>",
"address": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"addresses": [
"0xbF394748301603f18d953C90F0b087CBEC0E1834"
],
"chainId": 123,
"chainIds": [
123
],
"contractAbi": [
{}
],
"functionName": "<string>",
"argumentConstraints": [
{
"value": "<unknown>",
"index": 1
}
],
"valueLimit": {
"asset": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"maxPerCall": "<string>",
"totalLimit": "<string>"
},
"operationRestrictions": {
"blockExport": true,
"blockRevocation": true,
"blockClientSigning": true
},
"disableBlockaidSecurityChecks": true,
"modifiableBySigner": true
}
]
},
"updatedAt": "2023-11-07T05:31:56Z",
"message": "<string>"
}{
"error": "No jwt provided!"
}{
"error": "Access Forbidden"
}{
"error": "Not Found",
"code": "not_found"
}{
"error": "Internal Server Error"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
ID of the environment
Required string length:
36Pattern:
^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$Example:
"95b11417-f18f-457f-8804-68e361f9164f"
UUID of the wallet
Required string length:
36Pattern:
^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$Example:
"95b11417-f18f-457f-8804-68e361f9164f"
Response
Wallet-Layer fetched successfully
Unique identifier for the wallet-Layer
The decrypted, mutated wallet-Layer document
Show child attributes
Show child attributes
ISO 8601 timestamp of when the wallet-Layer was last updated
Message describing the operation result
Last modified on August 5, 2026
Was this page helpful?
⌘I
Get a wallet-Layer's Rules
curl --request GET \
--url https://app.dynamicauth.com/api/v0/sdk/{environmentId}/waas/{walletId}/policy-layer \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.dynamicauth.com/api/v0/sdk/{environmentId}/waas/{walletId}/policy-layer"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.dynamicauth.com/api/v0/sdk/{environmentId}/waas/{walletId}/policy-layer', 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://app.dynamicauth.com/api/v0/sdk/{environmentId}/waas/{walletId}/policy-layer",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://app.dynamicauth.com/api/v0/sdk/{environmentId}/waas/{walletId}/policy-layer"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.dynamicauth.com/api/v0/sdk/{environmentId}/waas/{walletId}/policy-layer")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.dynamicauth.com/api/v0/sdk/{environmentId}/waas/{walletId}/policy-layer")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"layerId": "<string>",
"layerContent": {
"rules": [
{
"ruleId": "95b11417-f18f-457f-8804-68e361f9164f",
"name": "<string>",
"address": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"addresses": [
"0xbF394748301603f18d953C90F0b087CBEC0E1834"
],
"chainId": 123,
"chainIds": [
123
],
"contractAbi": [
{}
],
"functionName": "<string>",
"argumentConstraints": [
{
"value": "<unknown>",
"index": 1
}
],
"valueLimit": {
"asset": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"maxPerCall": "<string>",
"totalLimit": "<string>"
},
"operationRestrictions": {
"blockExport": true,
"blockRevocation": true,
"blockClientSigning": true
},
"disableBlockaidSecurityChecks": true,
"modifiableBySigner": true
}
]
},
"updatedAt": "2023-11-07T05:31:56Z",
"message": "<string>"
}{
"error": "No jwt provided!"
}{
"error": "Access Forbidden"
}{
"error": "Not Found",
"code": "not_found"
}{
"error": "Internal Server Error"
}