# Delegation

The `Delegation` entity represents a record of a delegation transaction in the context of Casper Network [Staking vs. Delegating process](https://docs.casper.network/staking/)

## Properties

The `Delegation` entity has the following properties:

| Property               | Type         | Description                                                                                                                         |
| ---------------------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------- |
| `public_key`           | `string(68)` | Public key of the delegator represented as a hexadecimal string                                                                     |
| `validator_public_key` | `string(68)` | Public key of the validator represented as a hexadecimal string                                                                     |
| `stake`                | `string`     | Delegation amount in motes. The type is string to avoid overflow in languages that don't support uint64, which is the correct type. |
| `bonding_purse`        | `string(72)` | URef of the purse from which the delegation was made in the `uref-dead...beef-007` format                                           |

**Example**

```json
{
  "public_key": "01a0e7b7b2b1b2b3b4b5b6b7b8b9b0b1b2b3b4b5b6b7b8b9b0b1b2b3b4b5",
  "validator_public_key": "01a0e7b7b2b1b2b3b4b5b6b7b8b9b0b1b2b3b4b5b6b7b8b9b0b1b2b3b4b5",
  "stake": "1000000",
  "bonding_purse": "uref-550c01b27069f943c354364c49a496b5013ee5bdf61d8644e4f0712cf22410f1-000"
}
```

## Optional properties

Depending on the endpoint some of the following optional properties may be included in the `Delegation` entity:

| Property                 | Type                                           | Description                                                                                             |
| ------------------------ | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| `account_info`           | [AccountInfo](/1.3.x/rest-api/account-info.md) | [Account info](https://github.com/make-software/casper-account-info-contract) provided by the delegator |
| `validator_account_info` | [AccountInfo](/1.3.x/rest-api/account-info.md) | [Account info](https://github.com/make-software/casper-account-info-contract) provided by the validator |

## Relations

The `Delegation` entity has the following relations with other entities:

| Entity                                      | Mapping property       | Description                      |
| ------------------------------------------- | ---------------------- | -------------------------------- |
| [`Account`](/1.3.x/rest-api/account.md)     | `public_key`           | Delegations are made by accounts |
| [`Validator`](/1.3.x/rest-api/validator.md) | `validator_public_key` | Validators can be delegated to   |

## Endpoints

The `Delegation` entity has the following endpoints:

* [Get account delegations](/1.3.x/rest-api/delegation/get-account-delegations.md)
* [Get validator delegations](/1.3.x/rest-api/delegation/get-validator-delegations.md)

## Relation endpoints

None


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cspr.cloud/1.3.x/rest-api/delegation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
