curl --request GET \
--url https://staging.crossmint.com/api/2022-06-09/wallets/{walletLocator}/signers/{signer} \
--header 'X-API-KEY: <x-api-key>'import requests
url = "https://staging.crossmint.com/api/2022-06-09/wallets/{walletLocator}/signers/{signer}"
headers = {"X-API-KEY": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<x-api-key>'}};
fetch('https://staging.crossmint.com/api/2022-06-09/wallets/{walletLocator}/signers/{signer}', 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://staging.crossmint.com/api/2022-06-09/wallets/{walletLocator}/signers/{signer}",
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: <x-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://staging.crossmint.com/api/2022-06-09/wallets/{walletLocator}/signers/{signer}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<x-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://staging.crossmint.com/api/2022-06-09/wallets/{walletLocator}/signers/{signer}")
.header("X-API-KEY", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging.crossmint.com/api/2022-06-09/wallets/{walletLocator}/signers/{signer}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"type": "evm-keypair",
"locator": "evm-keypair:0x1234567890123456789012345678901234567890",
"chains": {
"polygon": {
"status": "active"
},
"base": {
"id": "b984491a-5785-43c0-8811-45d46fe6e520",
"status": "awaiting-approval",
"approvals": {
"pending": [],
"submitted": [
{
"signer": "evm-keypair:0x1234567890123456789012345678901234567890",
"message": "0x1234567890123456789012345678901234567890123456789012345678901234",
"signature": "0x1234567890123456789012345678901234567890123456789012345678901234",
"submittedAt": "2024-01-01T00:00:00.000Z"
}
]
}
}
}
}{
"error": true,
"message": "<error message>"
}Get Delegated Signer
Retrieve details about a specific delegated signer by its locator.
API scope required: wallets.read
curl --request GET \
--url https://staging.crossmint.com/api/2022-06-09/wallets/{walletLocator}/signers/{signer} \
--header 'X-API-KEY: <x-api-key>'import requests
url = "https://staging.crossmint.com/api/2022-06-09/wallets/{walletLocator}/signers/{signer}"
headers = {"X-API-KEY": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<x-api-key>'}};
fetch('https://staging.crossmint.com/api/2022-06-09/wallets/{walletLocator}/signers/{signer}', 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://staging.crossmint.com/api/2022-06-09/wallets/{walletLocator}/signers/{signer}",
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: <x-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://staging.crossmint.com/api/2022-06-09/wallets/{walletLocator}/signers/{signer}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<x-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://staging.crossmint.com/api/2022-06-09/wallets/{walletLocator}/signers/{signer}")
.header("X-API-KEY", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging.crossmint.com/api/2022-06-09/wallets/{walletLocator}/signers/{signer}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"type": "evm-keypair",
"locator": "evm-keypair:0x1234567890123456789012345678901234567890",
"chains": {
"polygon": {
"status": "active"
},
"base": {
"id": "b984491a-5785-43c0-8811-45d46fe6e520",
"status": "awaiting-approval",
"approvals": {
"pending": [],
"submitted": [
{
"signer": "evm-keypair:0x1234567890123456789012345678901234567890",
"message": "0x1234567890123456789012345678901234567890123456789012345678901234",
"signature": "0x1234567890123456789012345678901234567890123456789012345678901234",
"submittedAt": "2024-01-01T00:00:00.000Z"
}
]
}
}
}
}{
"error": true,
"message": "<error message>"
}Headers
API key required for authentication
Path Parameters
A wallet locator can be of the format:
<walletAddress>email:<email>:<walletType>userId:<userId>:<walletType>userId:<userId>:<walletType>(white label user example)phoneNumber:<phoneNumber>:<walletType>twitter:<handle>:<walletType>x:<handle>:<walletType>
A signer locator that can be either a of format '' for keypair type signers or ':'
Response
The delegated signer has been successfully retrieved.
- Delegated Signer Response
- Delegated Signer Response
Complete delegated signer response including the signer and authorizations for each chain
Specifies the type of EVM signer being used, describing the method of key management and transaction signing. evm-keypair indicates a signer using a locally managed keypair, suitable for non-custodial wallets. evm-fireblocks-custodial refers to a signer managed by Fireblocks, a custodial service provider.
evm-keypair, evm-fireblocks-custodial, evm-passkey The locator of the signer
[
"evm-keypair:0x1234567890123456789012345678901234567890",
"evm-passkey:credential-id-123",
"evm-fireblocks-custodial:0x1234567890123456789012345678901234567890",
"solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ",
"solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ"
]
The expiry date of the signer in ISO 8601 format
"2024-01-01T00:00:00.000Z"
The permissions of the signer following ERC-7715
Permission to transfer native tokens (e.g. ETH)
- Native Token Transfer
- ERC20 Transfer
- ERC721 Transfer
- ERC1155 Transfer
- Gas Limit
- Transaction Count Limit
- Rate Limit
Show child attributes
Show child attributes
{
"type": "native-token-transfer",
"data": { "allowance": "0x1234" }
}
Authorization status for each chain where the chain name is the key and the signature request is the value
Show child attributes
Show child attributes
Was this page helpful?

