curl --request POST \
--url https://api.pid.peridotvault.com/v1/account \
--cookie pid_access=const options = {method: 'POST', headers: {cookie: 'pid_access='}};
fetch('https://api.pid.peridotvault.com/v1/account', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.pid.peridotvault.com/v1/account"
headers = {"cookie": "pid_access="}
response = requests.post(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.pid.peridotvault.com/v1/account"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("cookie", "pid_access=")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}[
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"chainNamespace": "solana",
"chainReference": "4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z",
"address": "<string>",
"accountType": "smart_account",
"status": "active",
"createdAt": "2023-11-07T05:31:56Z"
}
]{
"statusCode": 401,
"message": "Unauthorized"
}{
"statusCode": 429,
"message": "ThrottlerException: Too Many Requests"
}Ensure the identity's personal wallet
Idempotent wallet setup for the authenticated PID (1 identity = 1 personal wallet): ensures the Solana smart_account chain row whose
address is deterministically derived from the PID (PDA) and resolvable
before any on-chain initialization, plus EVM counterfactuals.
Smart-account initialization happens on the user’s first on-chain top-up
(PRD_v5 §3), not here. Returns every chain row.
curl --request POST \
--url https://api.pid.peridotvault.com/v1/account \
--cookie pid_access=const options = {method: 'POST', headers: {cookie: 'pid_access='}};
fetch('https://api.pid.peridotvault.com/v1/account', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.pid.peridotvault.com/v1/account"
headers = {"cookie": "pid_access="}
response = requests.post(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.pid.peridotvault.com/v1/account"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("cookie", "pid_access=")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}[
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"chainNamespace": "solana",
"chainReference": "4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z",
"address": "<string>",
"accountType": "smart_account",
"status": "active",
"createdAt": "2023-11-07T05:31:56Z"
}
]{
"statusCode": 401,
"message": "Unauthorized"
}{
"statusCode": 429,
"message": "ThrottlerException: Too Many Requests"
}Authorizations
JWT access token set by /auth/google/callback or /auth/refresh
Response
The wallet's chain rows
CAIP-2 namespace — solana (V1) or eip155 (EVM counterfactuals)
"solana"
CAIP-2 reference — genesis-hash prefix (Solana) or decimal chain id (EVM: 10143, 97, 421614)
"4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z"
PDA (Solana smart_account), CREATE2 counterfactual (EVM smart_account), or user-supplied address (linked_address). Public data only.
smart_account, linked_address active, suspended, deleted