Last updated
Edit

Delegate

[Source]

A Delegate ledger entry stores a set of permissions that an account has delegated to another account. You create a Delegate entry by sending a DelegateSet transaction.

(Requires the PermissionDelegation amendment .)

Example Delegate JSON

{
  "Account": "rG8uoRH9uA6AJ6NRj8P4cJG1HNfYcnMPrt",
  "Authorize": "r9GAKojMTyexqvy8DXFWYq63Mod5k5wnkT",
  "Flags": 0,
  "LedgerEntryType": "Delegate",
  "OwnerNode": "0",
  "Permissions": [
    {
      "Permission": {
        "PermissionValue": "AccountDomainSet"
      }
    }
  ],
  "PreviousTxnID": "08DB1BD6ECFC9E8CBD8D954F4EFF6EFD155A392C5060D767B5621CE18951983A",
  "PreviousTxnLgrSeq": 4748731,
  "index": "749D3DCDF9F032DDDB8AC49641BACBFDD398C4B6C231C4AB325B7755962329A2"
}

Delegate Fields

In addition to the common fields, Delegate entries have the following fields:

FieldJSON TypeInternal TypeRequired?Description
AccountString - AddressAccountIDYesThe account delegating permissions to another, also called the delegating account.
AuthorizeString - AddressAccountIDYesThe account receiving permissions, also called the delegate.
PermissionsArrayArrayYesA list of permissions granted, with at least 1 and at most 10 items. Each item in the list is a Permission Object.
OwnerNodeString - HexadecimalUInt64YesA hint indicating which page of the delegating account's owner directory links to this object, in case the directory consists of multiple pages.
PreviousTxnIDString - HexadecimalUInt256YesThe identifying hash of the transaction that most recently modified this object.
PreviousTxnLgrSeqNumberUInt32YesThe index of the ledger that contains the transaction that most recently modified this object.

Permission Objects

Each item in the Permissions array is an inner object with the following nested field:

FieldJSON TypeInternal TypeRequired?Description
PermissionValueString or NumberUInt32YesA permission that has been granted to the delegate, which can be either a transaction type or a granular permission. See Permission Values for a full list.

Delegate Flags

There are no flags defined for Delegate entries.

Delegate Reserve

Delegate entries count as one item towards the owner reserve of the delegating account, as long as the entry is in the ledger, regardless of how many permissions are delegating. Removing all permissions deletes the entry and frees up the reserve.

Delegate entries are not deletion blockers. If the owner (delegating) account is deleted, all such ledger entries are deleted along with them. However, the Authorize