# Сиротские транзакции

В этом разделе представлены методы для получения и вывода сиротских транзакций.

**Сиротские транзакции** - это транзакции случайно отправленный на адрес, который был создан для другой монеты.

При обнаружении такой транзакции вы можете вывести полученные монеты на указанный адрес.\
У транзакций есть две стадии `DEPOSIT` и `WITHDRAWAL`. Вывод можно создать когда транзакция находиться на стадии `DEPOSIT` и в статусе `PROCESSED`, так же в теле транзакции есть параметр `canWithdrawal` на который можно ориентироваться при попытке вывода.

После вывода вам придет вебхук на указанный URL при запросе вывода (тело вебхука будет идентично телу вывода). Так же в теле сиротской транзакции появится исходящая транзакция в поле `outTransaction`

## Описание полей транзакции

| Поле             | Описание                                                                               |
| ---------------- | -------------------------------------------------------------------------------------- |
| `id`             | Идентификатор транзакции в системе                                                     |
| `organizationId` | Идентификатор организации, которой принадлежит адрес                                   |
| `orderId`        | Идентификатор ордера, к которому был привязан адрес в момент обнаружения транзакции    |
| `stage`          | Текущая стадия транзакции. Доступно 2 значени: `DEPOSIT` и `WITHDRAWAL`                |
| `status`         | Статус текущей стадии тразакции                                                        |
| `message`        | Сообщение при отклонении операции                                                      |
| `currency`       | Монета транзакции                                                                      |
| `network`        | Сеть транзакции                                                                        |
| `amount`         | Сумма транзакции                                                                       |
| `canWithdrawal`  | Доступен ли вывод монет. (Доступно только на стадии `DEPOSIT` и в статусе `PROCESSED`) |
| `inTransaction`  | Данные входящей транзакции                                                             |
| `outTransaction` | Данные исходящей транзакции если был запрошен вывод                                    |
| `createdAt`      | Дата обноружения транзакции                                                            |

***

Входящая тразакция:

| Поле          | Описание                                 |
| ------------- | ---------------------------------------- |
| `addressType` | Тип адреса, на который пришла транзакция |
| `addressId`   | Идентификатор адреса в системе           |
| `address`     | Адрес в блокчейне                        |
| `txId`        | Идентификатор транзакции в блокчейне     |
| `amount`      | Сумма транзакции                         |
| `status`      | Статус транзакции                        |
| `createdAt`   | Дата обнарущения транзакции              |

Исходящая тразакция тразакция:

| Поле           | Описание                                      |
| -------------- | --------------------------------------------- |
| `address`      | Адрес в блокчейне                             |
| `txId`         | Идентификатор транзакции в блокчейне          |
| `amount`       | Сумма транзакции                              |
| `status`       | Статус транзакции                             |
| `feeAmount`    | Комиссия сети за транзакцию                   |
| `feeAmountUSD` | Комиссия сети за транзакцию в пересчете к USD |
| `withdrawalId` | Идентификатор вывода в системе                |
| `createdAt`    | Дата создания запроса на вывод                |

***

Описание поля `addressType`:

| Значение    | Описание                        |
| ----------- | ------------------------------- |
| `PAY_IN`    | Адрес для платежей              |
| `PAY_OUT`   | Выплатной адрес                 |
| `BUSINESS`  | Бизнек кошелек                  |
| `RECURRENT` | Адрес для рекуррентных платежей |
| `PERSONAL`  | Персональный адрес              |

Описание поля `status`:

| Значение    | Описание                          |
| ----------- | --------------------------------- |
| `init`      | Транзакция была создана в системе |
| `processed` | Успешно обработана                |
| `error`     | Ошибка в процессе обработки       |
| `rejected`  | Отклонена системой                |
| `pending`   | В процессе обработки              |

***

Стадии транзакции:

| Стадия       | Описание                                                                           |
| ------------ | ---------------------------------------------------------------------------------- |
| `DEPOSIT`    | Был получен депозит, для вывода необходимо дождаться перехода в статус `PROCESSED` |
| `WITHDRAWAL` | Был запрошен вывод полученных монет.                                               |

***

Статусы транзакции:

| Статус      | Описание                                                                                                                                                             |
| ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `PENDING`   | Операция в процессе исполнения. Для стадии `DEPOSIT` - ожидание подтверждений входящей транзакции. Для стадии `WITHDRAWAL` - ожидание отправки транзакции в блокчейн |
| `PROCESSED` | Операция успешно исполнена. Для стадии `DEPOSIT` - входящая транзакция подтверждена. Для стадии `WITHDRAWAL` - транзакция успешно отправлена                         |
| `ERROR`     | Ошибка при обработке операции                                                                                                                                        |
| `REJECTED`  | Операция отклонена                                                                                                                                                   |

## Токен комиссии

Для запроса токена комиссии необходимо указать идентификатор сиротской транзкции. Токен формируется для сумма, которая пришла на адрес в полном обьеме.

| Поле               | Описание                                                                                           |
| ------------------ | -------------------------------------------------------------------------------------------------- |
| `currency`         | Монета вывода                                                                                      |
| `network`          | Сеть вывода                                                                                        |
| `feeSource`        | Источник списания комиссии. Доступно 2 значения: `ADDRESS`, `ADVANCE`                              |
| `blockchainFee`    | Комиссия сети в монете транзакции                                                                  |
| `blockchainFeeUSD` | Комиссия сети в пересчете к USD                                                                    |
| `serviceFee`       | Комиссия сервиса                                                                                   |
| `serviceFeeUSD`    | Комиссия сервиса в USD                                                                             |
| `amount`           | Сумма вывода                                                                                       |
| `amountTo`         | Сумма, которую получит исходящий адрес после вывода (за вычетом комиссий при `feeSource: ADDRESS`) |
| `price`            | Курс пересчета комиссии сети к USD                                                                 |
| `token`            | Токена вывода                                                                                      |
| `expiresAt`        | Дата истечения токена                                                                              |

***

Описание поля `feeSource`:

| Значение  | Описание                                                                                                                                                            |
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ADDRESS` | Источник списания комиссии сети за вывод - адрес. В данном случае `blockchainFee` будет взята из суммы вывода, поэтому поля `amount` и `amountTo` будут отличаться. |
| `ADVANCE` | Источник списания комиссии сети за вывод - авансовый баланс. В данном случае с авансового баланса будет списана `blockchainFeeUSD` + `blockchainFeeUSD`.            |


---

# 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.onchainpay.io/ru/api-reference/orphans.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.
