# Абстракція акаунтів

> Нативна абстракція акаунтів у NeuroChain — пули спонсорованого газу, сесійні ключі, що дозволяють застосункам і AI-агентам діяти в межах дозволу, ліміту витрат і строку дії, акаунти .agent і MCP-сервер, що підключає AI-асистентів до мережі.

Source: https://docs.nro.world/uk/ai/account-abstraction

У NeuroChain акаунт — це ключ ML-DSA-65, а не контракт, тож абстракцію акаунтів вбудовано в протокол, а не емульовано контрактами-гаманцями. Вона охоплює три речі: **газ платить хтось інший**, **обмежений ключ діє за вас** і **AI-агенти безпечно користуються обома**.

## Спонсорований газ

**Пул газу** — це NRO, відкладені для оплати комісій транзакцій.

| Хто платить комісію | Коли |
|---------------------|------|
| Власний пул відправника | Коли в ньому достатньо на комісію |
| Мережевий спонсор для новачків | Гаманець може покрити суму переказу, але не комісію (нові користувачі, які мають лише надіслану їм суму) |
| Баланс відправника | В інших випадках |

Правила:

- Спонсорована комісія — не більше `NEUROCHAIN_MAX_SPONSORED_FEE` (100 000 uNRO) на транзакцію.
- Спонсоровані комісії спалюються й виплачуються пропонувальнику, як будь-які інші.
- Спонсор для новачків — `NEUROCHAIN_GAS_SPONSOR` (за замовчуванням `neuro:faucet.vault`); його пул поповнюється один раз при генезисі на `NEUROCHAIN_GAS_SPONSOR_FUND` (1 000 000 NRO), а згодом — депозитами.

| Дія | Ендпоінт | Підпис для |
|-----|----------|------------|
| Покласти NRO у свій пул | `POST /api/v1/sponsor/deposit` (`address`, `amount`) | `neuro:system.sponsor` |
| Забрати назад | `POST /api/v1/sponsor/withdraw` (`address`, `amount`) | `neuro:system.sponsor` |
| Баланс пулу | `GET /api/v1/sponsor/:address` | — |

## Сесійні ключі {#session-keys}

**Сесійний ключ** — окремий ключ ML-DSA-65, якому ваш майстер-ключ дозволяє діяти від імені вашого акаунта — у заданих вами межах:

| Обмеження | Поле | Значення |
|-----------|------|----------|
| Дозвіл | `scope` | Адреси через кому, на які ключ може надсилати, або `*` для будь-яких |
| Ліміт витрат | `cap` | Загальна кількість uNRO, яку ключ може перемістити за весь час |
| Строк дії | `expiry_block` | Остання висота блоку, на якій ключ дійсний; має бути в майбутньому |

```json
POST /api/v1/session/grant
{
  "account": "neuro:<15 hex>.human",
  "session_pk": "<публічний ключ сесії, hex>",
  "scope": "neuro:<10 hex>.app",
  "cap": 5000000,
  "expiry_block": 120000,
  "signature": "…", "public_key": "<майстер-ключ>", "nonce": 1791200000000
}
```

Далі сесійний ключ підписує звичайні транзакції **як акаунт** (`from` — ваша адреса, `public_key` — сесійний ключ). Кожен валідатор у консенсусі перевіряє:

1. підпис дійсний для сесійного ключа;
2. акаунт видав цей ключ, і його не відкликано;
3. поточна висота не перевищує `expiry_block`;
4. ціль є в `scope`;
5. вже витрачене плюс ця сума не перевищує `cap`.

Витрати записуються, лише коли транзакцію успішно застосовано. Відкликати можна будь-коли через `POST /api/v1/session/revoke` (`account`, `session_pk`); список дозволів — `GET /api/v1/session/list/:account`.

**Чого сесійний ключ не може ніколи:** керувати списком довіри [Sentinel](./sentinel), підтверджувати чи скасовувати утриманий переказ — для цього потрібен майстер-ключ. Тож агент може почати ризикований переказ, але схвалити його можете лише ви.

**Як це тестується:** мережевий тест на кількох валідаторах підтвердив, що ліміт витрат тримається при конкурентних транзакціях, повторена транзакція відхиляється, а відкликання діє на кожній ноді.

## Акаунти `.agent`

Адреса `.agent` — платне ім'я для акаунта AI-агента: реєструється вашим гаманцем `.human`, керується вашим ключем і призначена тримати пул газу й сесійні ключі агента. Це не валідатор, і стейку вона не має. Ціна залежить від довжини імені, як для власних імен ([Адреси → Ціни імен](/uk/learn/addresses#name-prices)).

`POST /api/v1/agents/register` (`name`, `owner`; підпис для `neuro:system.agent`), `GET /api/v1/agents/:address`.

## AI-агенти через MCP

Сервер `neurochain-mcp` дає AI-асистентам (Claude Code, Claude Desktop, будь-якому MCP-клієнту) доступ на читання до мережі, а із сесійним ключем — `nc_transfer`, `nc_call_contract` і `nc_deploy`, але ніколи не майстер-ключ. Налаштування, усі інструменти й обмеження: [AI-агенти (MCP)](/uk/build/mcp).
