Confirm wallet pairing
import requests
url = "https://api.example.com/api/v1/wallets/pairs/confirm"
payload = {
"token": "<string>",
"wallet_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)curl --request POST \
--url https://api.example.com/api/v1/wallets/pairs/confirm \
--header 'Content-Type: application/json' \
--data '
{
"token": "<string>",
"wallet_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'{
"result": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"wallet_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"claimer_principal_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agent_principal_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"token": "<string>",
"status": "pending",
"token_purpose": "pair",
"expires_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"agent": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"external_id": "<string>"
},
"wallet": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"wallet_type": "Custodial",
"name": "<string>",
"status": "preparing"
}
},
"success": true,
"suggestion": "",
"message": "",
"meta": {
"total": 123,
"offset": 123,
"limit": 123,
"has_more": true,
"after": "<string>",
"before": "<string>"
}
}{
"success": false,
"error": {
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}
}Wallets
Confirm wallet pairing
This operation allows a human principal to confirm a pair / restore claim using the 8-digit code generated by the Initiate wallet pairing operation. The backend resolves the token’s purpose from the matching claim row:
pair: first-time bind — transfers wallet/vault/pact/delegation/policy ownership from the agent to the human and provisions the agent (full-access scopes, no longer temporary).restore: same-principal share rebuild — the caller must be the current wallet owner; ownership is unchanged. The pair row is markedpairedso the owner can issue a follow-up reshare to rebuild key shares.
POST
/
api
/
v1
/
wallets
/
pairs
/
confirm
Confirm wallet pairing
import requests
url = "https://api.example.com/api/v1/wallets/pairs/confirm"
payload = {
"token": "<string>",
"wallet_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)curl --request POST \
--url https://api.example.com/api/v1/wallets/pairs/confirm \
--header 'Content-Type: application/json' \
--data '
{
"token": "<string>",
"wallet_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'{
"result": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"wallet_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"claimer_principal_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agent_principal_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"token": "<string>",
"status": "pending",
"token_purpose": "pair",
"expires_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"agent": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"external_id": "<string>"
},
"wallet": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"wallet_type": "Custodial",
"name": "<string>",
"status": "preparing"
}
},
"success": true,
"suggestion": "",
"message": "",
"meta": {
"total": 123,
"offset": 123,
"limit": 123,
"has_more": true,
"after": "<string>",
"before": "<string>"
}
}{
"success": false,
"error": {
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}
}Headers
Body
application/json
Request payload for a human to confirm wallet pairing using a token.
Response
Successful Response
Wallet pairing response payload.
Show child attributes
Show child attributes
Pagination metadata for list responses.
Supports both legacy offset-based and cursor-based pagination.
Cursor fields (has_more, after, before) are populated for
cursor-paginated endpoints. Legacy fields (offset, limit) are
populated when the caller uses the deprecated offset parameter.
Show child attributes
Show child attributes