# Blocks SDK

### Pasa a producción con el SDK de React

Para mover la integración de tu SDK de React Blocks a mainnet, actualiza **tres valores específicos de la red**.

{% hint style="warning" %}
No mezcles valores de testnet y mainnet.

Si un valor sigue apuntando a testnet, el flujo puede fallar.
{% endhint %}

{% stepper %}
{% step %}

### Usa el emisor de activos de mainnet

Tu activo en escrow debe usar la **dirección del emisor de mainnet**.

Si envías un emisor de testnet, como USDC de testnet, no funcionará en mainnet.

Revisa aquí las direcciones de los emisores:

{% content-ref url="/pages/832359f4195d68fbd217c41950b000089fc7b019" %}
[Trustlines](/trustless-work/v1-es/introduccion/stellar-and-soroban-the-backbone-of-trustless-work/trustlines.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### Cambia la URL base del proveedor a mainnet

En tu `TrustlessWorkProvider`, actualiza `baseURL` de `development` a `mainNet`.

Usa la configuración del proveedor mostrada en [Introducción](/trustless-work/v1-es/escrow-react-sdk/primeros-pasos.md), pero cambia el valor de la red antes de pasar a producción.

{% code title="src/trustless-work-provider.tsx" overflow="wrap" fullWidth="true" %}

```typescript
"use client";

import React from "react";
import {
  development,
  mainNet,
  TrustlessWorkConfig,
} from "@trustless-work/escrow";

interface TrustlessWorkProviderProps {
  children: React.ReactNode;
}

export function TrustlessWorkProvider({
  children,
}: TrustlessWorkProviderProps) {
  const apiKey = process.env.NEXT_PUBLIC_API_KEY || "";

  return (
    <TrustlessWorkConfig baseURL={mainNet} apiKey={apiKey}>
      {children}
    </TrustlessWorkConfig>
  );
}
```

{% endcode %}

{% hint style="info" %}
`development` apunta a testnet.

`mainNet` apunta a producción.
{% endhint %}
{% endstep %}

{% step %}

### Genera una clave API de mainnet

Mainnet requiere una **clave API de mainnet**.

Una clave API de testnet no se autentificará en el entorno de mainnet.

Cuando solicites la clave en la dApp, cambia primero a la pestaña **Mainnet** .

Luego solicita y almacena la clave de forma segura.

Consulta el proceso completo aquí:

{% content-ref url="/pages/9cea75ed2a9fbec2ce588a103250c32863eb82e9" %}
[Solicitar clave de API](/trustless-work/v1-es/introduccion/developer-resources/request-api-key.md)
{% endcontent-ref %}
{% endstep %}
{% endstepper %}

### Lista de verificación de mainnet

Antes de lanzar tu app de React, confirma esto:

* Tu emisor de activos es el **emisor de** mainnet.
* Tu proveedor usa `baseURL={mainNet}`.
* Tu clave API fue generada desde la **Mainnet** pestaña.
* Las wallets involucradas tienen los **trustlines de mainnet**.

{% hint style="success" %}
Si estas cuatro comprobaciones pasan, la integración de tu SDK de React está lista para producción.
{% endhint %}


---

# 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.trustlesswork.com/trustless-work/v1-es/ir-a-mainnet/blocks-sdk.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.
