# API de Emily

[Emily](https://github.com/stacks-network/sbtc/tree/main/emily) es una API que ayuda a facilitar y supervisar el puente sBTC, sirviendo como enlace programático entre los usuarios de sBTC y los firmantes.

## Resumen

La API de Emily está diseñada para rastrear depósitos y retiros, proporcionando información sobre el estado de las operaciones sBTC en curso. Sirve a dos grupos principales de usuarios: usuarios de sBTC y desarrolladores de aplicaciones sBTC.

### ¿Por qué llamarla Emily?

A la API de Emily se le da un nombre indirecto porque maneja más que solo depósitos y retiros; puede detectar el estado de salud del sistema y probablemente se ampliará para gestionar más a medida que maduren los requisitos de los usuarios. Antes se llamaba la “Revealer API”, lo cual dejó de tener sentido después de algunos cambios de diseño, y luego “Deposit API”, que también dejó de tener sentido después de algunos cambios. La opción más obvia, “sBTC API”, también da la impresión equivocada sobre de qué es responsable la API, ya que la propia API no está gestionando la totalidad del protocolo.

Las grandes empresas nombran sus API a partir de algo vagamente relacionado, pero lo suficientemente ambiguo como para que las extensiones de la API no hagan engañoso el nombre original de la API. Siguiendo esto, elegimos “Emily” en honor a Emily Warren Roebling, quien fue el enlace entre los constructores y el ingeniero jefe, su esposo, del puente de Brooklyn. En efecto, ella fue la supervisora de la construcción del puente; de manera similar, la API de Emily supervisa el puente sBTC y actúa de enlace entre los usuarios del protocolo y los firmantes de sBTC.

### Características principales

* Rastrear depósitos: Supervisar el proceso de convertir BTC en sBTC.
* Rastrear retiros: Supervisar el proceso de convertir sBTC de vuelta a BTC.
* Proporcionar estado de la operación: Ofrecer actualizaciones de estado en tiempo real sobre las operaciones sBTC en curso.
* Recuperar datos históricos: Permitir la consulta de operaciones sBTC pasadas.

## Conceptos básicos

#### Operaciones sBTC

Las operaciones sBTC son los procesos fundamentales que Emily rastrea:

* Depósitos: Convertir BTC en sBTC
* Retiros: Convertir sBTC de vuelta a BTC

#### Estados de la operación

Cada operación sBTC pasa por varios estados:

* PENDING: La operación ha sido iniciada.
* ACCEPTED: La operación ha sido aprobada por los firmantes.
* CONFIRMED: La operación se ha completado y confirmado en la cadena de bloques.
* FAILED: La operación no pudo completarse.

### Dónde interviene Emily en los flujos de sBTC

En cada uno de los flujos de depósito y retiro de sBTC, Emily desempeña un papel vital. Aquí es donde Emily se sitúa en ambos flujos, de depósito y de retiro.

#### **Durante el flujo de depósito**

1. El usuario crea una transacción de depósito en Bitcoin
2. El usuario envía la prueba de depósito a la Deposit API
3. **Emily registra el depósito como PENDING**
4. Los firmantes validan y votan sobre el depósito
5. **Si se acepta, Emily actualiza el estado a ACCEPTED**
6. Los firmantes procesan la transacción de Bitcoin
7. Los firmantes acuñan sBTC en Stacks
8. **Emily actualiza el estado del depósito a CONFIRMED**

#### **Durante el flujo de retiro**

1. El usuario inicia el retiro a través del contrato Clarity de sBTC
2. **Emily registra el retiro como PENDING**
3. Los firmantes deciden aceptar o rechazar el retiro
4. **Si se acepta, Emily actualiza el estado a ACCEPTED**
5. Los firmantes procesan la transacción de Bitcoin
6. Los firmantes queman sBTC en Stacks
7. **Emily actualiza el estado del retiro a CONFIRMED**


---

# 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.stacks.co/learn/es/sbtc/emily-api.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.
