> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kuru.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Authorize account signer

> Grant a secondary EOA AccountCore permission and optionally install its EIP-7702 delegation.

Submits `account_core.authorize_account_signer_by_sig`. The JWT wallet, request `wallet`, payload `signer`, and optional EIP-7702 `authority` must be identical.

> [!NOTE]
>
> The request below is a signing template, not a broadcast-ready transaction. Replace the wallet, account, nonces, expiry, deadline, and signatures with values generated for your selected network.

**requestId** `string` *required*

New lowercase UUIDv7 used for correlation. It is not durable idempotency.

**method** `string` *required* (default: account\_core.authorize\_account\_signer\_by\_sig)

Must be `account_core.authorize_account_signer_by_sig`.

**wallet** `string` *required*

Secondary trading EOA, matching the bearer token's wallet claim.

**payload** `object` *required*

AccountCore authorization signed by the account owner or a live administrator.
Required fields: `account`, `authorizer`, `signer`, `permissions`, `expiry`, `nonce`, `deadline`, and `signature`.

**authorization7702** `object | null`

Optional EIP-7702 tuple containing `authority`, `chainId`, `delegate`, `nonce`, `yParity`, `r`, and `s`. Use `null` when already delegated.

```curl cURL theme={null}
curl --request POST --url https://relay.mainnet.kuru.io/relay \
  --header "Authorization: Bearer $KURU_RELAY_JWT" \
  --header 'Content-Type: application/json' \
  --data '{
    "requestId":"018f5ef2-88a1-7b41-a826-4b679010f87f",
    "method":"account_core.authorize_account_signer_by_sig",
    "wallet":"0x1111111111111111111111111111111111111111",
    "payload":{"account":"0x3333333333333333333333333333333333333333","authorizer":"0x3333333333333333333333333333333333333333","signer":"0x1111111111111111111111111111111111111111","permissions":"1","expiry":"1722592000","nonce":"0","deadline":"1720000030","signature":"0x..."},
    "authorization7702":{"authority":"0x1111111111111111111111111111111111111111","chainId":"143","delegate":"0xa478b5a38aabDf8b31f0ec7443a274162214Cd18","nonce":"7","yParity":"0","r":"0x...32 bytes...","s":"0x...32 bytes..."}
  }'
```

```json BROADCAST theme={null}
{
  "requestId": "018f5ef2-88a1-7b41-a826-4b679010f87f",
  "status": "BROADCAST",
  "txHash": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "sponsorAddress": "0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
  "sponsorNonce": "42",
  "transactionType": "SET_CODE"
}
```

After broadcast, require a successful receipt, verify the EIP-7702 delegation indicator, verify `AccountSignerAuthorized`, and read the new AccountCore authorization nonce.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.