> For the complete documentation index, see [llms.txt](https://es-kb.topopool.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://es-kb.topopool.com/primeros-pasos/registrar-pool.md).

# Registrar pool

Tienes las claves, tienes las direcciones, tienes fondos. Ahora registras el pool en la cadena. El proceso implica tres cosas: crear los metadatos, generar el certificado de registro, y enviarlo en una transacción junto con el certificado de delegación del pledge.

***

## 1. Preparar los metadatos del pool

Crea el archivo `meta.json`:

```json
{
  "name": "NombreDetuPool",
  "description": "Descripción breve del pool, máximo 255 caracteres.",
  "ticker": "TICK",
  "homepage": "https://tupool.io"
}
```

Reglas que aplica la red:

* `ticker`: 3–5 caracteres, mayúsculas y números.
* `name`: máximo 50 caracteres.
* `description`: máximo 255 caracteres.
* `homepage`: URL válida con HTTPS.

### Metadatos extendidos (recomendado)

Los exploradores y wallets leen los metadatos extendidos para mostrar información adicional. Crea `meta-extra.json`:

```json
{
  "info": {
    "url_png_icon_64x64": "https://tupool.io/icon.png",
    "url_png_logo": "https://tupool.io/logo.png",
    "location": "ES",
    "social": {
      "twitter_handle": "tupool"
    }
  }
}
```

Sube ambos archivos a una URL estable y calcula el hash del `meta.json`:

```bash
cardano-cli stake-pool metadata-hash \
  --pool-metadata-file meta.json
```

Anota el hash resultante — lo necesitarás en el certificado.

{% hint style="warning" %}
La URL del metadata debe ser estable y accesible en todo momento. Cualquier cambio en el contenido invalida el hash y requiere actualizar el certificado del pool.
{% endhint %}

***

## 2. Crear el certificado de registro del pool

```bash
cardano-cli stake-pool registration-certificate \
  --cold-verification-key-file          $HOME/cold-keys/node.vkey \
  --vrf-verification-key-file           $HOME/pool-keys/vrf.vkey \
  --pool-pledge                         <PLEDGE_EN_LOVELACE> \
  --pool-cost                           170000000 \
  --pool-margin                         0.01 \
  --pool-reward-account-verification-key-file $HOME/keys/stake.vkey \
  --pool-owner-stake-verification-key-file    $HOME/keys/stake.vkey \
  --mainnet \
  --pool-relay-ipv4                     <IP_DEL_RELAY> \
  --pool-relay-port                     3000 \
  --metadata-url                        https://tupool.io/meta.json \
  --metadata-hash                       <HASH_DEL_META> \
  --out-file $HOME/tx/pool-registration.cert
```

{% hint style="info" %}
**Coste mínimo del pool:** el protocolo exige un mínimo de **170 ADA (170 000 000 lovelace)** como coste fijo por época. Este valor bajó en 2022 (era 340 ADA).

**Depósito de registro:** se retienen **500 ADA (500 000 000 lovelace)** al registrar el pool. Se devuelven si retiras el pool correctamente.
{% endhint %}

***

## 3. Crear el certificado de delegación del pledge

Para que el pledge cuente, tu stake address tiene que estar delegada al propio pool:

```bash
cardano-cli stake-address stake-delegation-certificate \
  --stake-verification-key-file $HOME/keys/stake.vkey \
  --cold-verification-key-file  $HOME/cold-keys/node.vkey \
  --out-file $HOME/tx/delegation.cert
```

{% hint style="info" %}
**Era Conway / cardano-cli 10+:** el subcomando correcto es `stake-address stake-delegation-certificate`. En versiones anteriores del CLI era `stake-address delegation-certificate`.
{% endhint %}

***

## 4. Construir y enviar la transacción de registro

### Consultar UTxO

```bash
cardano-cli query utxo \
  --address $(cat $HOME/keys/payment.addr) \
  --mainnet
```

```
                           TxHash                                 TxIx        Amount
--------------------------------------------------------------------------------------
441c5b06...22ee0065     0        49992783811 lovelace + TxOutDatumNone
```

### Construir la transacción

Esta transacción incluye dos certificados: el de registro del pool y el de delegación.

```bash
cardano-cli transaction build-raw \
  --tx-in <TXHASH>#<TXIX> \
  --tx-out $(cat $HOME/keys/payment.addr)+<CAMBIO> \
  --ttl <SLOT_LIMITE> \
  --fee <FEE> \
  --certificate-file $HOME/tx/pool-registration.cert \
  --certificate-file $HOME/tx/delegation.cert \
  --out-file $HOME/tx/tx-pool.raw
```

El cambio se calcula así:

```
CAMBIO = UTXO_LOVELACE - 500000000 (depósito pool) - FEE
```

### Calcular fee

```bash
cardano-cli transaction calculate-min-fee \
  --tx-body-file         $HOME/tx/tx-pool.raw \
  --tx-in-count          1 \
  --tx-out-count         1 \
  --witness-count        3 \
  --mainnet \
  --protocol-params-file $HOME/tx/protocol.json
```

Son 3 witnesses: payment key, stake key, y cold key.

### Firmar

```bash
cardano-cli transaction sign \
  --tx-body-file      $HOME/tx/tx-pool.raw \
  --signing-key-file  $HOME/keys/payment.skey \
  --signing-key-file  $HOME/keys/stake.skey \
  --signing-key-file  $HOME/cold-keys/node.skey \
  --mainnet \
  --out-file $HOME/tx/tx-pool.signed
```

{% hint style="warning" %}
Para firmar esta transacción necesitas la cold key. Lleva el `tx-pool.raw` a la máquina air-gapped, firma ahí con las tres claves, y trae solo el `tx-pool.signed` de vuelta al nodo caliente.
{% endhint %}

### Enviar

```bash
cardano-cli transaction submit \
  --tx-file $HOME/tx/tx-pool.signed \
  --mainnet
```

***

## 5. Obtener el Pool ID

```bash
cardano-cli stake-pool id \
  --cold-verification-key-file $HOME/cold-keys/node.vkey \
  --output-format hex
```

Guarda este valor. Es el identificador permanente de tu pool.

***

## 6. Verificar el registro

```bash
cardano-cli query pool-state \
  --stake-pool-id <POOL_ID> \
  --mainnet
```

Si el pool está registrado verás los parámetros que configuraste: coste, margen, pledge, relays y hash de metadatos.

{% hint style="info" %}
**¿No aparece nada?** El registro entra en vigor al inicio de la siguiente época. Si acabas de enviar la transacción y estás en mitad de una época, espera hasta que cambie.
{% endhint %}

***

## 7. Aparición en explorers y wallets

{% hint style="info" %}
Tu pool comenzará a aparecer en exploradores como Cardanoscan, PoolTool o AdaPoolsOrg en el transcurso de la época actual o la siguiente. Las wallets pueden tardar **hasta 2 épocas** (\~10 días) en listar el pool para delegación.
{% endhint %}

***

## Flujo completo resumido

```
Crear meta.json + meta-extra.json → subir a URL estable
           ↓
Calcular metadata hash
           ↓
Crear pool-registration.cert (cold key en air-gapped)
           ↓
Crear delegation.cert (stake → pool)
           ↓
Construir tx con ambos certificados
           ↓
Firmar con payment + stake + cold key (en air-gapped)
           ↓
Enviar tx desde nodo caliente
           ↓
Verificar con query pool-state
           ↓
Pool activo al inicio de la siguiente época
```
