GET /api/v1/smart-accounts/bindings/{id}
Parameters
| Name | Location | Details |
|---|---|---|
X-Juicebox-Account | header / required | Enrolled account identity, including authority chain and lowercase owner address. Enrollment derives this identity before the account exists. |
X-Juicebox-Signer | header / required | Owner wallet or authorized bot address that signed this request. |
X-Juicebox-Issued-At | header / required | Unix seconds, sent as 1–13 decimal digits without leading zeros; at most 30 seconds ahead of server time. |
X-Juicebox-Expires-At | header / required | Unix seconds, sent as 1–13 decimal digits without leading zeros; in the future and within 300 seconds of issuedAt. |
X-Juicebox-Nonce | header / required | Fresh random 32-byte lowercase nonce. A consumed nonce cannot be retried. |
X-Juicebox-Signature | header / required | EIP-712 CenterRequest signature over every signed field. Contract-owner signatures may vary in length. This is a computed request proof, not a reusable API key. |
X-Juicebox-Grant | header / optional | Authorized bot grant ID. Required for a bot; omit for the owner, signing grantId as the empty string. |
Idempotency-Key | header / optional | Signed retry identity. Required on plan creation and transaction submission. Preserve exact method, target, Content-Type, and body bytes; use a fresh request nonce and signature. |
id | path / required | string |
Response 200
| Field | Type | Details | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id | string required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ownerAccountId | string required | Authority chain and lowercase owner address; the authority chain is independent of a transaction's destination chain. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ownerAddress | string required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
wallet | object required | Fields
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
manifestId | string required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
authorization | one of required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
state | object required | Fields
|
JSON schema
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/Hash"
},
"ownerAccountId": {
"$ref": "#/components/schemas/AccountId"
},
"ownerAddress": {
"$ref": "#/components/schemas/Address"
},
"wallet": {
"type": "object",
"properties": {
"chainId": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"address": {
"$ref": "#/components/schemas/Address"
}
},
"required": [
"chainId",
"address"
],
"additionalProperties": false
},
"manifestId": {
"type": "string"
},
"authorization": {
"oneOf": [
{
"type": "object",
"properties": {
"digest": {
"$ref": "#/components/schemas/Hash"
},
"nonce": {
"allOf": [
{
"$ref": "#/components/schemas/Hash"
},
{
"not": {
"const": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
}
]
},
"expiresAt": {
"$ref": "#/components/schemas/UnixSeconds"
},
"method": {
"type": "string",
"enum": [
"safe-current-owner-threshold",
"center-wallet-passkey-creation-v1"
]
}
},
"required": [
"digest",
"nonce",
"expiresAt",
"method"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"digest": {
"$ref": "#/components/schemas/Hash"
},
"nonce": {
"allOf": [
{
"$ref": "#/components/schemas/Hash"
},
{
"not": {
"const": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
}
]
},
"expiresAt": {
"$ref": "#/components/schemas/UnixSeconds"
},
"method": {
"type": "string",
"enum": [
"safe-current-owner-threshold-and-api-grant",
"safe-passkey-owner-threshold-and-api-grant"
]
},
"setup": {
"type": "object",
"properties": {
"manifestRevision": {
"$ref": "#/components/schemas/Hash"
},
"initializerHash": {
"$ref": "#/components/schemas/Hash"
},
"issuedAt": {
"$ref": "#/components/schemas/UnixSeconds"
},
"grantId": {
"type": "string",
"format": "uuid",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"botAddress": {
"allOf": [
{
"$ref": "#/components/schemas/Address"
},
{
"not": {
"enum": [
"0x0000000000000000000000000000000000000000",
"0x0000000000000000000000000000000000000001"
]
}
}
]
},
"scopes": {
"type": "array",
"const": [
"read",
"plan",
"relay"
]
},
"grantExpiresAt": {
"$ref": "#/components/schemas/UnixSeconds"
},
"label": {
"type": "string",
"pattern": "^[^\\u0000-\\u001f\\u007f]*$",
"x-maxUtf8Bytes": 120
}
},
"required": [
"manifestRevision",
"initializerHash",
"issuedAt",
"grantId",
"botAddress",
"scopes",
"grantExpiresAt",
"label"
],
"additionalProperties": false
}
},
"required": [
"digest",
"nonce",
"expiresAt",
"method",
"setup"
],
"additionalProperties": false
}
]
},
"state": {
"$ref": "#/components/schemas/SmartAccountState"
}
},
"required": [
"id",
"ownerAccountId",
"ownerAddress",
"wallet",
"manifestId",
"authorization",
"state"
],
"additionalProperties": false
}