> ## Documentation Index
> Fetch the complete documentation index at: https://docs.yiksipay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Webhooks

> Webhooks permitem que você configure um sistema de notificação que pode ser usado para receber atualizações sobre certas solicitações feitas à API do Yiksi Pay.

<Note>
  Em resumo<br />
  Webhooks enviam notificações em tempo real para seu servidor quando eventos ocorrem—depósitos, saques, swaps e mais. Em vez de consultar a API, seu servidor recebe atualizações instantâneas quando transações são concluídas.
</Note>

## Pré-requisitos

Antes de configurar webhooks, certifique-se de ter:

<Steps>
  <Step title="Chave API">
    Obtenha sua chave API no [Painel da Yiksi Pay](https://dashboard.yiksipay.com). Navegue até **Developers** para gerar uma.
  </Step>

  <Step title="Endpoint de Webhook">
    Crie um endpoint POST no seu servidor que possa receber payloads JSON e retornar uma resposta `200 OK`.
  </Step>

  <Step title="URL HTTPS (Produção)">
    Para produção, sua URL de webhook deve usar HTTPS. Para testes locais, use ferramentas como [ngrok](https://ngrok.com/) ou [webhook.site](https://webhook.site).
  </Step>

  <Step title="Configuração de URL">
    Configure sua URL de webhook na página de desenvolvedores a partir do seu espaço inicial.
  </Step>
</Steps>

## Como Funciona

Quando você faz uma solicitação a um endpoint de API, espera obter uma resposta quase imediata. No entanto, algumas solicitações podem levar muito tempo para processar, o que pode levar a erros de timeout. Para evitar um erro de timeout, uma resposta pendente é retornada. Como seus registros precisam ser atualizados com o estado final da solicitação, você precisa:

1. Fazer uma solicitação de atualização (popularmente conhecida como polling) ou,
2. Ouvir eventos usando uma URL de webhook.

<Tip>
  Dica Útil<br />
  Recomendamos que você use webhook para fornecer valor aos seus clientes em vez de usar callbacks ou polling. Com callbacks, não temos controle sobre o que acontece no lado do cliente. Nem você. Callbacks podem falhar se a conexão de rede no dispositivo de um cliente falhar ou estiver fraca ou se o dispositivo desligar após uma transação.
</Tip>

## Polling vs Webhooks

Polling requer fazer uma solicitação `GET` em intervalos regulares para obter o status final de uma solicitação. Por exemplo, quando você emite um endereço para um cliente para depósitos, você continua fazendo uma solicitação de transações vinculadas ao endereço até encontrar uma.

Com webhooks, o servidor de recursos, Yiksi Pay neste caso, envia atualizações para o seu servidor quando o status da sua solicitação muda. A mudança no status de uma solicitação é conhecida como um evento. Você normalmente ouvirá esses eventos em um endpoint POST chamado URL de webhook.

A tabela abaixo destaca algumas diferenças entre polling e webhooks:

|                          | **Polling** | **Webhooks** |
| ------------------------ | ----------- | ------------ |
| **Modo de atualização**  | Manual      | Automático   |
| **Limitação de taxa**    | Sim         | Não          |
| **Impactado por escala** | Sim         | Não          |

## Criar uma URL de webhook

Uma URL de webhook é simplesmente um endpoint POST para o qual um servidor de recursos envia atualizações. A URL precisa analisar uma solicitação JSON e retornar um `200 OK`:

<CodeGroup>
  ```javascript webhook.js theme={null}
  // Using Express
  app.post("/my/webhook/url", function(req, res) {
      // Retrieve the request's body
      const event = req.body;
      // Do something with event
      res.send(200);
  });
  ```

  ```php webhook.php theme={null}
  <?php
  // Retrieve the request's body and parse it as JSON
  $input = file_get_contents("php://input");
  $event = json_decode($input, true);

  // Check for JSON parsing errors
  if (json_last_error() !== JSON_ERROR_NONE) {
      http_response_code(400); // Bad Request
      echo json_encode(["error" => "Invalid JSON"]);
      exit();
  }

  // Do something with $event
  // For example, log the event or process it
  // log_event($event);

  // Send a successful response
  http_response_code(200); // HTTP status code 200 OK
  echo json_encode(["status" => "success"]);
  ?>
  ```
</CodeGroup>

Quando sua URL de webhook recebe um evento, ela precisa analisar e reconhecer o evento. Reconhecer um evento significa retornar um `200 OK` no cabeçalho HTTP. Sem um `200 OK` no cabeçalho de resposta, continuaremos enviando eventos pelas próximas 2 horas e 35 minutos:

* Tentaremos enviar webhooks 5 vezes com um atraso crescente entre cada tentativa, começando com 5 minutos e aumentando exponencialmente até 80 minutos. A duração total dessas 5 tentativas abrangerá aproximadamente 2 horas e 35 minutos.

<Warning>
  Evite tarefas de longa duração<br />
  Se você tiver tarefas de longa duração em sua função de webhook, você deve reconhecer o evento antes de executar as tarefas de longa duração. Tarefas de longa duração levarão a um timeout de solicitação e uma resposta de erro automática do seu servidor. Sem uma resposta 200 OK, tentamos novamente conforme descrito no parágrafo acima.
</Warning>

## Testando Webhooks Localmente

Durante o desenvolvimento, você pode configurar sua URL de webhook no ambiente de carteira principal TEST para um endereço local, como `http://localhost` ou `127.0.0.1`.

Para expor seu servidor local à internet para fins de teste, considere usar uma ferramenta como [ngrok](https://ngrok.com/) ou [webhook.site](https://webhook.site). Essas ferramentas permitem que você veja como é a carga útil do webhook e simule eventos de webhook localmente antes de implantar seu aplicativo em um ambiente ativo.

Usando essas ferramentas, você pode garantir que sua integração de webhook esteja funcionando corretamente e lidar com quaisquer problemas em um ambiente local e controlado antes de passar para produção.

### Reenviar Webhook de Transação

No caso em que por algum motivo você não recebe o webhook de transação e o tempo de backoff expirou, fornecemos uma API que você pode usar para reenviar um webhook de transação

<Warning>
  Use com cautela!<br />
  Como isso pode levar ao processamento de transações já concluídas, certifique-se de ter validação adequada em vigor ao usar este endpoint.
</Warning>

<CodeGroup>
  ```bash resend.cmd theme={null}
  curl --request POST \
    --url https://api.yiksipay.com/v1/wallets/{walletId}/transactions/webhooks/resend \
    --header 'Content-Type: application/json' \
    --header 'x-api-key: <api-key>' \
    --data '{
    "id": "TRANSACTION_ID"
  }'
  ```

  ```js resend.js theme={null}
  const options = {
    method: 'POST',
    headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
    body: '{"id":"TRANSACTION_ID"}'
  };

  fetch('https://api.yiksipay.com/v1/wallets/{walletId}/transactions/webhooks/resend', options)
    .then(response => response.json())
    .then(response => console.log(response))
    .catch(err => console.error(err));
  ```
</CodeGroup>

## Verificar origem do evento

Como sua URL de webhook está disponível publicamente, você precisa verificar se os eventos se originam do Yiksi Pay e não de um agente mal-intencionado. Existem duas maneiras de garantir que os eventos para sua URL de webhook sejam do Yiksi Pay:

1. Validação de assinatura (recomendado)

### Validação de assinatura

Eventos enviados do Yiksi Pay carregam o cabeçalho x-yiksipay-signature. O valor deste cabeçalho é uma assinatura HMAC SHA512 da carga útil do evento assinada usando sua chave secreta. A verificação da assinatura do cabeçalho deve ser feita antes de processar o evento:

<CodeGroup>
  ```js signature.js theme={null}
  const crypto = require('crypto');
  const apiKey = process.env.WALLET_API_KEY;
  // Using Express
  app.post("/my/webhook/url", function(req, res) {
      //validate event
      const hash = crypto.createHmac('sha512', apiKey).update(JSON.stringify(req.body)).digest('hex');
      if (hash == req.headers['x-yiksipay-signature']) {
      // Retrieve the request's body
      const event = req.body;
      // Do something with event  
      }
      res.send(200);
  });
  ```

  ```php signature.php theme={null}
  <?php

  // Retrieve the request's body
  $body = file_get_contents('php://input');

  // Get the API key from the environment
  $apiKey = getenv('WALLET_API_KEY');

  // Using HMAC-SHA512 for hashing
  $signature = hash_hmac('sha512', $body, $apiKey);

  // Check if the signature matches the one provided in the headers
  if ($signature === $_SERVER['HTTP_X_YIKSIPAY_SIGNATURE']) {
      // The signature is valid, proceed with processing the event
      $event = json_decode($body, true);
      // Do something with $event
  }

  // Send a 200 OK response
  http_response_code(200);
  ```

  ```python signature.py theme={null}
  import hmac
  import hashlib
  import json
  from flask import Flask, request, jsonify

  app = Flask(__name__)

  @app.route("/my/webhook/url", methods=["POST"])
  def webhook():
      # Retrieve the request's body
      body = request.get_data()

      # Get the API key
      api_key = os.environ.get('WALLET_API_KEY')

      # Using HMAC-SHA512 for hashing
      signature = hmac.new(api_key.encode('utf-8'), body, hashlib.sha512).hexdigest()

      # Check if the signature matches the one provided in the headers
      if signature == request.headers.get('X-YiksiPay-Signature'):
          # The signature is valid, proceed with processing the event
          event = json.loads(body.decode('utf-8'))
          # Do something with event

      # Send a 200 OK response
      return '', 200
  ```
</CodeGroup>

## Checklist de Entrada em Produção

Agora que você criou com sucesso sua URL de webhook, aqui estão algumas maneiras de garantir que você tenha uma experiência agradável:

* Adicione a URL do webhook na sua página de desenvolvedores no painel [Yiksi Pay](https://dashboard.yiksipay.com/developers)
* Certifique-se de que sua URL de webhook esteja disponível publicamente (URLs localhost não podem receber eventos)
* Se estiver usando `.htaccess`, lembre-se de adicionar a barra `/` final à URL
* Teste seu webhook para garantir que você está recebendo o corpo JSON e retornando uma resposta HTTP `200 OK`
* Se sua função de webhook tiver tarefas de longa duração, você deve primeiro reconhecer o recebimento do webhook retornando um `200 OK` antes de prosseguir com as tarefas de longa duração
* Se não recebermos uma resposta HTTP `200 OK` de seus webhooks, sinalizamos como uma tentativa falhada
* Tentaremos enviar webhooks 5 vezes com um atraso crescente entre cada tentativa, começando com 5 minutos e aumentando exponencialmente até 80 minutos. A duração total dessas 5 tentativas abrangerá aproximadamente 2 horas e 35 minutos.

## Tipos de eventos

Aqui estão os eventos que atualmente levantamos. Adicionaremos mais a esta lista à medida que nos conectarmos a mais ações no futuro.

## Exemplos de Eventos

Abaixo estão exemplos de cargas úteis de webhook para alguns dos eventos mais comuns:

<Tabs>
  <Tab title="Depósito Sucesso">
    ```json theme={null}
    {
        "event": "deposit.success",
        "data": {
            "id": "6d2f9646-cae4-48a5-8bfe-1f9379868d4f",
            "reference": "LSk5RLfSrR",
            "senderAddress": "0x2455eC6700092991Ce0782365A89d5Cd89c8Fa22",
            "recipientAddress": "0xe1037B45b48390285e5067424053fa35c478296b",
            "amount": "10.0",
            "amountPaid": "10.0",
            "fee": null,
            "currency": "USD",
            "blockNumber": 6928760,
            "blockHash": "0x5f2e0ed782752b9559e7a3d89c0fb9f6706e4866e74ba7a434cf933bb3f02a2b",
            "hash": "0x94c733496df59c15e5a489f20374096bba31166a8e149ceea4d410e3e5821357",
            "confirmations": 6,
            "confirmed": true,
            "gasPrice": "1201381238",
            "gasUsed": "62159",
            "gasFee": "0.000074676656372842",
            "status": "SUCCESS",
            "type": "DEPOSIT",
            "note": null,
            "amlScreening": {
                "provider": "ofac",
                "status": "success",
                "message": "Address is not sanctioned"
            },
            "assetSwept": null,
            "assetSweptAt": null,
            "assetSweptGasFee": null,
            "assetSweptHash": null,
            "assetSweptSenderAddress": null,
            "assetSweptRecipientAddress": null,
            "assetSweptAmount": null,
            "reason": null,
            "network": "testnet",
            "chainId": 11155111,
            "metadata": {
                "user_id": 1
            },
            "createdAt": "2024-10-23T11:19:58.451Z",
            "updatedAt": "2024-10-23T11:19:58.451Z",
            "asset": {
                "id": "fe04a28c-c615-4e41-8eda-f84c862864f5",
                "name": "USDC Coin",
                "symbol": "USDC",
                "decimals": 6,
                "address": "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238",
                "standard": "ERC20",
                "isActive": true,
                "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771444992/crypto-assets/USDC.png",
                "network": "testnet",
                "createdAt": "2024-05-14T11:53:33.682Z",
                "updatedAt": "2024-06-14T22:32:12.589Z"
            },
            "address": {
                "id": "0a69c48a-6c6f-422c-bd6a-70de3306a3ac",
                "address": "0xe1037B45b48390285e5067424053fa35c478296b",
                "name": "Customer 1",
                "isActive": true,
                "type": "INTERNAL",
                "derivationPath": "m/44'/60'/0'/0/87",
                "metadata": {
                    "user_id": 1
                },
                "configurations": {
                    "aml": {
                        "status": "success",
                        "message": "Address is not sanctioned",
                        "provider": "ofac"
                    },
                    "showPrivateKey": false,
                    "disableAutoSweep": false,
                    "enableGaslessWithdraw": false
                },
                "network": "testnet",
                "createdAt": "2024-10-23T11:13:40.446Z",
                "updatedAt": "2024-10-23T11:13:40.446Z"
            },
            "blockchain": {
                "id": "85ffc132-3972-4c9e-99a5-5cf0ccb688bf",
                "name": "ethereum",
                "symbol": "eth",
                "slug": "ethereum",
                "derivationPath": "m/44'/60'/0'/0",
                "isEvmCompatible": true,
                "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771444998/crypto-assets/ethereum.png",
                "isActive": true,
                "tokenStandard": "ERC20",
                "createdAt": "2024-05-14T11:53:33.095Z",
                "updatedAt": "2024-06-14T22:32:11.983Z"
            },
            "wallet": {
                "id": "d236a191-c1d4-423c-a439-54ce6542ca41",
                "name": "Ethereum Master Wallet",
                "description": "This is ethereum testnet master wallet",
                "address": "0x947514e4B803e312C312da0F1B41fEDdbe15ae7a",
                "derivationPath": "m/44'/60'/0'/0/0",
                "isActive": true,
                "status": "ACTIVE",
                "network": "testnet",
                "createdAt": "2024-08-22T09:48:56.322Z",
                "updatedAt": "2024-10-23T10:52:34.332Z",
                "business": {
                    "id": "4b96c271-35eb-45e8-b558-6a53f95df601",
                    "name": "Test One Inc",
                    "sector": "Fintech",
                    "status": "ACTIVE",
                    "createdAt": "2024-08-22T09:28:37.522Z",
                    "updatedAt": "2024-08-22T09:28:37.522Z"
                }
            },
            "beneficiary": null
        }
    }
    ```
  </Tab>

  <Tab title="Depósito Processando">
    ```json theme={null}
    {
        "event": "deposit.processing",
        "data": {
            "id": "6d2f9646-cae4-48a5-8bfe-1f9379868d4f",
            "reference": "LSk5RLfSrR",
            "senderAddress": "0x2455eC6700092991Ce0782365A89d5Cd89c8Fa22",
            "recipientAddress": "0xe1037B45b48390285e5067424053fa35c478296b",
            "amount": "10.0",
            "amountPaid": "10.0",
            "fee": null,
            "currency": "USD",
            "blockNumber": null,
            "blockHash": null,
            "hash": null,
            "confirmations": 0,
            "confirmed": false,
            "gasPrice": null,
            "gasUsed": null,
            "gasFee": null,
            "status": "PROCESSING",
            "type": "DEPOSIT",
            "note": null,
            "amlScreening": {
                "provider": "ofac",
                "status": "success",
                "message": "Address is not sanctioned"
            },
            "assetSwept": null,
            "assetSweptAt": null,
            "assetSweptGasFee": null,
            "assetSweptHash": null,
            "assetSweptSenderAddress": null,
            "assetSweptRecipientAddress": null,
            "assetSweptAmount": null,
            "reason": null,
            "network": "testnet",
            "chainId": 11155111,
            "metadata": {
                "user_id": 1
            },
            "createdAt": "2024-10-23T11:19:58.451Z",
            "updatedAt": "2024-10-23T11:19:58.451Z",
            "asset": {
                "id": "fe04a28c-c615-4e41-8eda-f84c862864f5",
                "name": "USDC Coin",
                "symbol": "USDC",
                "decimals": 6,
                "address": "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238",
                "standard": "ERC20",
                "isActive": true,
                "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771444992/crypto-assets/USDC.png",
                "network": "testnet",
                "createdAt": "2024-05-14T11:53:33.682Z",
                "updatedAt": "2024-06-14T22:32:12.589Z"
            },
            "address": {
                "id": "0a69c48a-6c6f-422c-bd6a-70de3306a3ac",
                "address": "0xe1037B45b48390285e5067424053fa35c478296b",
                "name": "Customer 1",
                "isActive": true,
                "type": "INTERNAL",
                "derivationPath": "m/44'/60'/0'/0/87",
                "metadata": {
                    "user_id": 1
                },
                "configurations": {
                    "aml": {
                        "status": "success",
                        "message": "Address is not sanctioned",
                        "provider": "ofac"
                    },
                    "showPrivateKey": false,
                    "disableAutoSweep": false,
                    "enableGaslessWithdraw": false
                },
                "network": "testnet",
                "createdAt": "2024-10-23T11:13:40.446Z",
                "updatedAt": "2024-10-23T11:13:40.446Z"
            },
            "blockchain": {
                "id": "85ffc132-3972-4c9e-99a5-5cf0ccb688bf",
                "name": "ethereum",
                "symbol": "eth",
                "slug": "ethereum",
                "derivationPath": "m/44'/60'/0'/0",
                "isEvmCompatible": true,
                "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771444998/crypto-assets/ethereum.png",
                "isActive": true,
                "tokenStandard": "ERC20",
                "createdAt": "2024-05-14T11:53:33.095Z",
                "updatedAt": "2024-06-14T22:32:11.983Z"
            },
            "wallet": {
                "id": "d236a191-c1d4-423c-a439-54ce6542ca41",
                "name": "Ethereum Master Wallet",
                "description": "This is ethereum testnet master wallet",
                "address": "0x947514e4B803e312C312da0F1B41fEDdbe15ae7a",
                "derivationPath": "m/44'/60'/0'/0/0",
                "isActive": true,
                "status": "ACTIVE",
                "network": "testnet",
                "createdAt": "2024-08-22T09:48:56.322Z",
                "updatedAt": "2024-10-23T10:52:34.332Z",
                "business": {
                    "id": "4b96c271-35eb-45e8-b558-6a53f95df601",
                    "name": "Test One Inc",
                    "sector": "Fintech",
                    "status": "ACTIVE",
                    "createdAt": "2024-08-22T09:28:37.522Z",
                    "updatedAt": "2024-08-22T09:28:37.522Z"
                }
            },
            "beneficiary": null
        }
    }
    ```
  </Tab>

  <Tab title="Saque Sucesso">
    ```json theme={null}
    {
        "event": "withdraw.success",
        "data": {
            "id": "081d6315-159f-4c38-b02a-c4708836c5bd",
            "reference": "y8lvy55cK",
            "senderAddress": "0x947514e4B803e312C312da0F1B41fEDdbe15ae7a",
            "recipientAddress": "0x2455eC6700092991Ce0782365A89d5Cd89c8Fa22",
            "amount": "10",
            "amountPaid": "10",
            "fee": null,
            "currency": "USD",
            "blockNumber": 6928833,
            "blockHash": "0x0a3ff5314f333ae0b48a66f96c58731c434af5d8a26b107103b15d0b9d6f817d",
            "hash": "0xded90bc7f3d98f5ff0c3a97f711717192e83e01d89ac1ff4483ae6fd9d229e6d",
            "confirmations": 6,
            "confirmed": true,
            "gasPrice": "2166177614",
            "gasUsed": "45047",
            "gasFee": "0.000097579802977858",
            "status": "SUCCESS",
            "type": "WITHDRAW",
            "note": null,
            "amlScreening": {
                "provider": "ofac",
                "status": "success",
                "message": "Address is not sanctioned"
            },
            "assetSwept": null,
            "assetSweptAt": null,
            "assetSweptGasFee": null,
            "assetSweptHash": null,
            "assetSweptSenderAddress": null,
            "assetSweptRecipientAddress": null,
            "assetSweptAmount": null,
            "reason": null,
            "network": "testnet",
            "chainId": 11155111,
            "metadata": null,
            "createdAt": "2024-10-23T11:33:58.765Z",
            "updatedAt": "2024-10-23T11:35:16.015Z",
            "asset": {
                "id": "fe04a28c-c615-4e41-8eda-f84c862864f5",
                "name": "USDC Coin",
                "symbol": "USDC",
                "decimals": 6,
                "address": "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238",
                "standard": "ERC20",
                "isActive": true,
                "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771444992/crypto-assets/USDC.png",
                "network": "testnet",
                "createdAt": "2024-05-14T11:53:33.682Z",
                "updatedAt": "2024-06-14T22:32:12.589Z"
            },
            "address": null,
            "blockchain": {
                "id": "85ffc132-3972-4c9e-99a5-5cf0ccb688bf",
                "name": "ethereum",
                "symbol": "eth",
                "slug": "ethereum",
                "derivationPath": "m/44'/60'/0'/0",
                "isEvmCompatible": true,
                "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771444998/crypto-assets/ethereum.png",
                "isActive": true,
                "tokenStandard": "ERC20",
                "createdAt": "2024-05-14T11:53:33.095Z",
                "updatedAt": "2024-06-14T22:32:11.983Z"
            },
            "wallet": {
                "id": "d236a191-c1d4-423c-a439-54ce6542ca41",
                "name": "Ethereum Master Wallet",
                "description": "This is ethereum testnet master wallet",
                "address": "0x947514e4B803e312C312da0F1B41fEDdbe15ae7a",
                "derivationPath": "m/44'/60'/0'/0/0",
                "isActive": true,
                "status": "ACTIVE",
                "network": "testnet",
                "createdAt": "2024-08-22T09:48:56.322Z",
                "updatedAt": "2024-10-23T10:52:34.332Z",
                "business": {
                    "id": "4b96c271-35eb-45e8-b558-6a53f95df601",
                    "name": "Test One Inc",
                    "sector": "Fintech",
                    "status": "ACTIVE",
                    "createdAt": "2024-08-22T09:28:37.522Z",
                    "updatedAt": "2024-08-22T09:28:37.522Z"
                }
            },
            "beneficiary": null
        }
    }
    ```
  </Tab>

  <Tab title="Assinado Sucesso">
    ```json theme={null}
    {
        "event": "signed.success",
        "data": {
            "id": "c69e421b-c90d-4a34-abeb-307ddb02e0a2",
            "reference": "2mT7rWfrn7",
            "senderAddress": "0x48197e643FfE94C045E96268c3d749eFd5Cf62d6",
            "recipientAddress": "0x3fF694f48d28006D5cBF3f8655aA4700479684b0",
            "tokenAddress": "0x0000000000000000000000000000000000000000",
            "amount": "0.001",
            "amountPaid": "0.001",
            "amountUSD": "0.80577",
            "rateUSD": "805.77",
            "fee": null,
            "feeHash": null,
            "currency": "BNB",
            "toCurrency": null,
            "blockNumber": null,
            "blockHash": null,
            "hash": "0x27fd26f4edc0792424ec712cea093e1f4fab1558d1162988246e975729f3d867",
            "confirmations": null,
            "confirmed": true,
            "gasPrice": null,
            "gasUsed": null,
            "gasFee": null,
            "status": "SUCCESS",
            "type": "SIGNED",
            "note": null,
            "amlScreening": {
            "provider": "ofac, fbi, tether, circle",
            "status": "success",
            "message": "Address is not sanctioned"
            },
            "assetSwept": null,
            "assetSweptAt": null,
            "assetSweptGasFee": null,
            "assetSweptHash": null,
            "assetSweptSenderAddress": null,
            "assetSweptRecipientAddress": null,
            "assetSweptAmount": null,
            "reason": null,
            "network": "testnet",
            "chainId": null,
            "metadata": null,
            "toAmount": null,
            "signedTransaction": "0xf86b078407270e00825208943ff694f48d28006d5cbf3f8655aa4700479684b087038d7ea4c680008081e6a0241a95edfae9702b92ce6fa63cf2d67e4023289639be31f5e7e598ceea3f57fca03a5a28366728989ada7c59bd60625711cb0be88dc8a378c9323b37b81ee92a59",
            "rate": null,
            "createdAt": "2025-08-11T16:54:11.441Z",
            "updatedAt": "2025-08-11T16:54:11.441Z",
            "asset": {
            "id": "4250e3a2-29b7-48ed-9aad-2b5dff38e361",
            "name": "Binance Coin",
            "symbol": "BNB",
            "decimals": 18,
            "address": "0x0000000000000000000000000000000000000000",
            "standard": null,
            "currency": "BNB",
            "isActive": true,
            "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771445000/crypto-assets/bnb-smart-chain.png",
            "network": "testnet",
            "isNative": true,
            "createdAt": "2025-08-01T12:36:47.204Z",
            "updatedAt": "2025-08-01T12:36:47.204Z"
            },
            "address": null,
            "blockchain": {
            "id": "3953d0bc-4d9c-4dab-9814-bc204ea86028",
            "name": "BNB smart chain",
            "symbol": "bnb",
            "slug": "bnb-smart-chain",
            "derivationPath": "m/44'/60'/0'/0",
            "isEvmCompatible": true,
            "isL2": false,
            "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771445000/crypto-assets/bnb-smart-chain.png",
            "isActive": true,
            "tokenStandard": "BEP20",
            "createdAt": "2025-08-01T12:36:47.166Z",
            "updatedAt": "2025-08-01T12:36:47.166Z"
            },
            "wallet": {
            "id": "acff0ed8-0592-4942-848a-6d0a3559c279",
            "name": "BNB Wallet",
            "description": "bnb",
            "address": "0x48197e643FfE94C045E96268c3d749eFd5Cf62d6",
            "derivationPath": "m/44'/60'/0'/0/0",
            "isActive": true,
            "status": "ACTIVE",
            "network": "testnet",
            "configurations": {
                "withdrawal": {
                "gasless": {
                    "isActive": false,
                    "operator": "gt",
                    "threshold": 0
                }
                },
                "autoSweeping": {
                "isActive": false,
                "threshold": 0
                }
            },
            "createdAt": "2025-08-01T17:25:56.817Z",
            "updatedAt": "2025-08-04T15:24:38.130Z",
            "business": {
                "id": "2773e655-7995-4a8a-a727-c58c87f521b2",
                "name": "Business",
                "sector": "embedded finance & banking-as-a-service (baas)",
                "userId": "33cf150f-c81f-4dc5-92fc-1fd4155e644b",
                "status": "ACTIVE",
                "pipedriveOrganizationId": "507",
                "createdAt": "2025-08-01T17:23:21.996Z",
                "updatedAt": "2025-08-01T17:23:22.780Z"
            }
            },
            "beneficiary": null,
            "toAsset": null,
            "toBlockchain": null,
            "toWallet": null
        }
    }
    ```
  </Tab>

  <Tab title="Assinado Falhou">
    ```json theme={null}
    {
        "event": "signed.failed",
        "data": {
            "id": "c69e421b-c90d-4a34-abeb-307ddb02e0a2",
            "reference": "2mT7rWfrn7",
            "senderAddress": "0x48197e643FfE94C045E96268c3d749eFd5Cf62d6",
            "recipientAddress": "0x3fF694f48d28006D5cBF3f8655aA4700479684b0",
            "tokenAddress": "0x0000000000000000000000000000000000000000",
            "amount": "0.001",
            "amountPaid": "0.001",
            "amountUSD": "0.80577",
            "rateUSD": "805.77",
            "fee": null,
            "feeHash": null,
            "currency": "BNB",
            "toCurrency": null,
            "blockNumber": null,
            "blockHash": null,
            "hash": "0x27fd26f4edc0792424ec712cea093e1f4fab1558d1162988246e975729f3d867",
            "confirmations": null,
            "confirmed": true,
            "gasPrice": null,
            "gasUsed": null,
            "gasFee": null,
            "status": "FAILED",
            "type": "SIGNED",
            "note": null,
            "amlScreening": {
            "provider": "ofac, fbi, tether, circle",
            "status": "success",
            "message": "Address is not sanctioned"
            },
            "assetSwept": null,
            "assetSweptAt": null,
            "assetSweptGasFee": null,
            "assetSweptHash": null,
            "assetSweptSenderAddress": null,
            "assetSweptRecipientAddress": null,
            "assetSweptAmount": null,
            "reason": null,
            "network": "testnet",
            "chainId": null,
            "metadata": null,
            "toAmount": null,
            "rate": null,
            "createdAt": "2025-08-11T16:54:11.441Z",
            "updatedAt": "2025-08-11T16:54:11.441Z",
            "asset": {
            "id": "4250e3a2-29b7-48ed-9aad-2b5dff38e361",
            "name": "Binance Coin",
            "symbol": "BNB",
            "decimals": 18,
            "address": "0x0000000000000000000000000000000000000000",
            "standard": null,
            "currency": "BNB",
            "isActive": true,
            "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771445000/crypto-assets/bnb-smart-chain.png",
            "network": "testnet",
            "isNative": true,
            "createdAt": "2025-08-01T12:36:47.204Z",
            "updatedAt": "2025-08-01T12:36:47.204Z"
            },
            "address": null,
            "blockchain": {
            "id": "3953d0bc-4d9c-4dab-9814-bc204ea86028",
            "name": "BNB smart chain",
            "symbol": "bnb",
            "slug": "bnb-smart-chain",
            "derivationPath": "m/44'/60'/0'/0",
            "isEvmCompatible": true,
            "isL2": false,
            "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771445000/crypto-assets/bnb-smart-chain.png",
            "isActive": true,
            "tokenStandard": "BEP20",
            "createdAt": "2025-08-01T12:36:47.166Z",
            "updatedAt": "2025-08-01T12:36:47.166Z"
            },
            "wallet": {
            "id": "acff0ed8-0592-4942-848a-6d0a3559c279",
            "name": "BNB Wallet",
            "description": "bnb",
            "address": "0x48197e643FfE94C045E96268c3d749eFd5Cf62d6",
            "derivationPath": "m/44'/60'/0'/0/0",
            "isActive": true,
            "status": "ACTIVE",
            "network": "testnet",
            "configurations": {
                "withdrawal": {
                "gasless": {
                    "isActive": false,
                    "operator": "gt",
                    "threshold": 0
                }
                },
                "autoSweeping": {
                "isActive": false,
                "threshold": 0
                }
            },
            "createdAt": "2025-08-01T17:25:56.817Z",
            "updatedAt": "2025-08-04T15:24:38.130Z",
            "business": {
                "id": "2773e655-7995-4a8a-a727-c58c87f521b2",
                "name": "Business",
                "sector": "embedded finance & banking-as-a-service (baas)",
                "userId": "33cf150f-c81f-4dc5-92fc-1fd4155e644b",
                "status": "ACTIVE",
                "pipedriveOrganizationId": "507",
                "createdAt": "2025-08-01T17:23:21.996Z",
                "updatedAt": "2025-08-01T17:23:22.780Z"
            }
            },
            "beneficiary": null,
            "toAsset": null,
            "toBlockchain": null,
            "toWallet": null
        }
    }
    ```
  </Tab>

  <Tab title="Troca Sucesso">
    ```json theme={null}
    {
        "event": "swap.success",
        "data": {
            "id": "99a2b490-0798-460b-9265-4d99f182fe52",
            "reference": "ZMxcorDGtf",
            "senderAddress": "0xAA2d5fd5e7bE97E214f8565DCf3a4862719960b5",
            "recipientAddress": "0xb55c054D8eE75224E1033e6eC775B4F62D942b43",
            "tokenAddress": null,
            "amount": "5",
            "amountPaid": null,
            "fee": null,
            "currency": null,
            "blockNumber": 28888586,
            "blockHash": null,
            "hash": "0x4cfaf5b9526d2ef7df576844e8ea8739f523e9166c9e0a73a574e663270cd750",
            "confirmations": null,
            "confirmed": true,
            "gasPrice": null,
            "gasUsed": null,
            "gasFee": "0.000000183414563983",
            "status": "SUCCESS",
            "type": "SWAP",
            "note": null,
            "amlScreening": {
                "provider": "ofac, fbi, tether, circle",
                "status": "success",
                "message": "Address is not sanctioned"
            },
            "assetSwept": true,
            "assetSweptAt": "2025-04-13T17:48:58.610Z",
            "assetSweptGasFee": "0.000000223941716904",
            "assetSweptHash": "0xaf92bb24dc9d3bd6c2ec6245a41c2461291513fdc7f748c843c6576e484522eb",
            "assetSweptSenderAddress": "0xeeeeee9eC4769A09a76A83C7bC42b185872860eE",
            "assetSweptRecipientAddress": "0xb55c054D8eE75224E1033e6eC775B4F62D942b43",
            "assetSweptAmount": "4.965214",
            "reason": null,
            "network": "mainnet",
            "chainId": null,
            "metadata": null,
            "toAmount": "4.965398",
            "rate": "0.9930796000000001",
            "createdAt": "2025-04-13T17:48:36.689Z",
            "updatedAt": "2025-04-13T17:48:58.611Z",
            "asset": {
                "id": "3a18a31a-86ad-44a0-9b9c-cdb69d535c64",
                "name": "USD Coin",
                "symbol": "USDC",
                "decimals": 6,
                "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "standard": null,
                "isActive": true,
                "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771444992/crypto-assets/USDC.png",
                "network": "mainnet",
                "isNative": false,
                "createdAt": "2024-06-08T12:59:11.303Z",
                "updatedAt": "2024-06-09T10:39:24.429Z"
            },
            "address": null,
            "blockchain": {
                "id": "28a730d3-211b-40f7-bb8f-dd589dcc738e",
                "name": "base",
                "symbol": "eth",
                "slug": "base",
                "derivationPath": "m/44'/60'/0'/0",
                "isEvmCompatible": true,
                "isL2": true,
                "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771445007/crypto-assets/base.png",
                "isActive": true,
                "tokenStandard": null,
                "createdAt": "2024-06-07T11:09:56.586Z",
                "updatedAt": "2024-11-26T15:26:21.825Z"
            },
            "wallet": {
                "id": "6b741fbc-8a9c-48a1-92b0-ae7b52de8b9e",
                "name": "Base Mainnet Wallet",
                "description": "This is base mainnet wallet",
                "address": "0xAA2d5fd5e7bE97E214f8565DCf3a4862719960b5",
                "derivationPath": "m/44'/60'/0'/0/41",
                "isActive": true,
                "status": "ACTIVE",
                "network": "mainnet",
                "configurations": {
                    "withdrawal": {
                        "gasless": {
                            "isActive": true
                        }
                    },
                    "autoSweeping": {
                        "isActive": true
                    }
                },
                "createdAt": "2024-06-15T02:53:23.409Z",
                "updatedAt": "2025-04-01T21:27:57.022Z",
                "business": {
                    "id": "a109729b-3b97-4fb3-a90a-769a0cbf6a25",
                    "name": "Yiksi Pay",
                    "sector": "infrastructure",
                    "status": "ACTIVE",
                    "createdAt": "2023-04-28T17:40:18.541Z",
                    "updatedAt": "2024-06-13T19:57:03.064Z"
                }
            },
            "beneficiary": null,
            "toAsset": {
                "id": "065ff109-9d31-4c7d-bd0e-13314d2ed5f6",
                "name": "Tether USD",
                "symbol": "USDT",
                "decimals": 6,
                "address": "0x94b008aA00579c1307B0EF2c499aD98a8ce58e58",
                "standard": null,
                "isActive": true,
                "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771444993/crypto-assets/USDT.png",
                "network": "mainnet",
                "isNative": false,
                "createdAt": "2024-10-08T13:22:13.802Z",
                "updatedAt": "2024-10-08T13:22:13.802Z"
            },
            "toBlockchain": {
                "id": "a5e8779c-9f8d-4a67-839d-c278eebf87f1",
                "name": "optimism",
                "symbol": "eth",
                "slug": "optimism",
                "derivationPath": "m/44'/60'/0'/0",
                "isEvmCompatible": true,
                "isL2": true,
                "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771445010/crypto-assets/optimism.png",
                "isActive": true,
                "tokenStandard": null,
                "createdAt": "2024-10-08T13:04:21.649Z",
                "updatedAt": "2024-11-26T15:26:23.105Z"
            },
            "toWallet": {
                "id": "d2f9a93c-e8d6-4768-bc09-be4750e7eacb",
                "name": "Optimism Mainnet Wallet",
                "description": "This is optimism mainnet master wallet",
                "address": "0xb55c054D8eE75224E1033e6eC775B4F62D942b43",
                "derivationPath": "m/44'/60'/0'/0/0",
                "isActive": true,
                "status": "ACTIVE",
                "network": "mainnet",
                "configurations": null,
                "createdAt": "2024-11-23T07:31:57.897Z",
                "updatedAt": "2024-11-24T05:40:46.225Z"
            }
        }
    }
    ```
  </Tab>

  <Tab title="Depósito Varrido Sucesso">
    ```json theme={null}
    {
        "event": "deposit.swept.success",
        "data": {
            "id": "6d2f9646-cae4-48a5-8bfe-1f9379868d4f",
            "reference": "LSk5RLfSrR",
            "senderAddress": "0x2455eC6700092991Ce0782365A89d5Cd89c8Fa22",
            "recipientAddress": "0xe1037B45b48390285e5067424053fa35c478296b",
            "amount": "10.0",
            "amountPaid": "10.0",
            "fee": null,
            "currency": "USD",
            "blockNumber": 6928760,
            "blockHash": "0x5f2e0ed782752b9559e7a3d89c0fb9f6706e4866e74ba7a434cf933bb3f02a2b",
            "hash": "0x94c733496df59c15e5a489f20374096bba31166a8e149ceea4d410e3e5821357",
            "confirmations": 6,
            "confirmed": true,
            "gasPrice": "1201381238",
            "gasUsed": "62159",
            "gasFee": "0.000074676656372842",
            "status": "SUCCESS",
            "type": "DEPOSIT",
            "note": null,
            "amlScreening": {
                "provider": "ofac",
                "status": "success",
                "message": "Address is not sanctioned"
            },
            "assetSwept": true,
            "assetSweptAt": "2024-10-23T11:28:52.848Z",
            "assetSweptGasFee": "0.000074597672027028",
            "assetSweptHash": "0xe5ae1c025b81ff83a03189fad1c0f5bd502cd0b394bed6765603f9ba05bfe147",
            "assetSweptSenderAddress": "0xe1037B45b48390285e5067424053fa35c478296b",
            "assetSweptRecipientAddress": "0x947514e4B803e312C312da0F1B41fEDdbe15ae7a",
            "assetSweptAmount": "10.0",
            "reason": "Funds swept successfully",
            "network": "testnet",
            "chainId": 11155111,
            "metadata": {
                "user_id": 1
            },
            "createdAt": "2024-10-23T11:19:58.451Z",
            "updatedAt": "2024-10-23T11:28:52.889Z",
            "asset": {
                "id": "fe04a28c-c615-4e41-8eda-f84c862864f5",
                "name": "USDC Coin",
                "symbol": "USDC",
                "decimals": 6,
                "address": "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238",
                "standard": "ERC20",
                "isActive": true,
                "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771444992/crypto-assets/USDC.png",
                "network": "testnet",
                "createdAt": "2024-05-14T11:53:33.682Z",
                "updatedAt": "2024-06-14T22:32:12.589Z"
            },
            "address": {
                "id": "0a69c48a-6c6f-422c-bd6a-70de3306a3ac",
                "address": "0xe1037B45b48390285e5067424053fa35c478296b",
                "name": "Customer 1",
                "isActive": true,
                "type": "INTERNAL",
                "derivationPath": "m/44'/60'/0'/0/87",
                "metadata": {
                    "user_id": 1
                },
                "configurations": {
                    "aml": {
                        "status": "success",
                        "message": "Address is not sanctioned",
                        "provider": "ofac"
                    },
                    "showPrivateKey": false,
                    "disableAutoSweep": false,
                    "enableGaslessWithdraw": false
                },
                "network": "testnet",
                "createdAt": "2024-10-23T11:13:40.446Z",
                "updatedAt": "2024-10-23T11:13:40.446Z"
            },
            "blockchain": {
                "id": "85ffc132-3972-4c9e-99a5-5cf0ccb688bf",
                "name": "ethereum",
                "symbol": "eth",
                "slug": "ethereum",
                "derivationPath": "m/44'/60'/0'/0",
                "isEvmCompatible": true,
                "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771444998/crypto-assets/ethereum.png",
                "isActive": true,
                "tokenStandard": "ERC20",
                "createdAt": "2024-05-14T11:53:33.095Z",
                "updatedAt": "2024-06-14T22:32:11.983Z"
            },
            "wallet": {
                "id": "d236a191-c1d4-423c-a439-54ce6542ca41",
                "name": "Ethereum Master Wallet",
                "description": "This is ethereum testnet master wallet",
                "address": "0x947514e4B803e312C312da0F1B41fEDdbe15ae7a",
                "derivationPath": "m/44'/60'/0'/0/0",
                "isActive": true,
                "status": "ACTIVE",
                "network": "testnet",
                "createdAt": "2024-08-22T09:48:56.322Z",
                "updatedAt": "2024-10-23T10:52:34.332Z",
                "business": {
                    "id": "4b96c271-35eb-45e8-b558-6a53f95df601",
                    "name": "Test One Inc",
                    "sector": "Fintech",
                    "status": "ACTIVE",
                    "createdAt": "2024-08-22T09:28:37.522Z",
                    "updatedAt": "2024-08-22T09:28:37.522Z"
                }
            },
            "beneficiary": null
        }
    }
    ```
  </Tab>

  <Tab title="Saque Falhou">
    ```json theme={null}
    {
        "event": "withdraw.failed",
        "data": {
            "id": "081d6315-159f-4c38-b02a-c4708836c5bd",
            "reference": "y8lvy55cK",
            "senderAddress": "0x947514e4B803e312C312da0F1B41fEDdbe15ae7a",
            "recipientAddress": "0x2455eC6700092991Ce0782365A89d5Cd89c8Fa22",
            "amount": "10",
            "amountPaid": "10",
            "fee": null,
            "currency": "USD",
            "blockNumber": 6928833,
            "blockHash": "0x0a3ff5314f333ae0b48a66f96c58731c434af5d8a26b107103b15d0b9d6f817d",
            "hash": "0xded90bc7f3d98f5ff0c3a97f711717192e83e01d89ac1ff4483ae6fd9d229e6d",
            "confirmations": 6,
            "confirmed": true,
            "gasPrice": "2166177614",
            "gasUsed": "45047",
            "gasFee": "0.000097579802977858",
            "status": "FAILED",
            "type": "WITHDRAW",
            "note": null,
            "amlScreening": {
                "provider": "ofac",
                "status": "success",
                "message": "Address is not sanctioned"
            },
            "assetSwept": null,
            "assetSweptAt": null,
            "assetSweptGasFee": null,
            "assetSweptHash": null,
            "assetSweptSenderAddress": null,
            "assetSweptRecipientAddress": null,
            "assetSweptAmount": null,
            "reason": "Insufficient funds to pay for network fee sweeping assets",
            "network": "testnet",
            "chainId": 11155111,
            "metadata": null,
            "createdAt": "2024-10-23T11:33:58.765Z",
            "updatedAt": "2024-10-23T11:35:16.015Z",
            "asset": {
                "id": "fe04a28c-c615-4e41-8eda-f84c862864f5",
                "name": "USDC Coin",
                "symbol": "USDC",
                "decimals": 6,
                "address": "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238",
                "standard": "ERC20",
                "isActive": true,
                "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771444992/crypto-assets/USDC.png",
                "network": "testnet",
                "createdAt": "2024-05-14T11:53:33.682Z",
                "updatedAt": "2024-06-14T22:32:12.589Z"
            },
            "address": null,
            "blockchain": {
                "id": "85ffc132-3972-4c9e-99a5-5cf0ccb688bf",
                "name": "ethereum",
                "symbol": "eth",
                "slug": "ethereum",
                "derivationPath": "m/44'/60'/0'/0",
                "isEvmCompatible": true,
                "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771444998/crypto-assets/ethereum.png",
                "isActive": true,
                "tokenStandard": "ERC20",
                "createdAt": "2024-05-14T11:53:33.095Z",
                "updatedAt": "2024-06-14T22:32:11.983Z"
            },
            "wallet": {
                "id": "d236a191-c1d4-423c-a439-54ce6542ca41",
                "name": "Ethereum Master Wallet",
                "description": "This is ethereum testnet master wallet",
                "address": "0x947514e4B803e312C312da0F1B41fEDdbe15ae7a",
                "derivationPath": "m/44'/60'/0'/0/0",
                "isActive": true,
                "status": "ACTIVE",
                "network": "testnet",
                "createdAt": "2024-08-22T09:48:56.322Z",
                "updatedAt": "2024-10-23T10:52:34.332Z",
                "business": {
                    "id": "4b96c271-35eb-45e8-b558-6a53f95df601",
                    "name": "Test One Inc",
                    "sector": "Fintech",
                    "status": "ACTIVE",
                    "createdAt": "2024-08-22T09:28:37.522Z",
                    "updatedAt": "2024-08-22T09:28:37.522Z"
                }
            },
            "beneficiary": null
        }
    }
    ```
  </Tab>

  <Tab title="Swap Failed">
    ```json theme={null}
    {
        "event": "swap.failed",
        "data": {
             "id": "99a2b490-0798-460b-9265-4d99f182fe52",
                "reference": "ZMxcorDGtf",
                "senderAddress": "0xAA2d5fd5e7bE97E214f8565DCf3a4862719960b5",
                "recipientAddress": "0xb55c054D8eE75224E1033e6eC775B4F62D942b43",
                "tokenAddress": null,
                "amount": "5",
                "amountPaid": null,
                "fee": null,
                "currency": null,
                "blockNumber": 28888586,
                "blockHash": null,
                "hash": "0x4cfaf5b9526d2ef7df576844e8ea8739f523e9166c9e0a73a574e663270cd750",
                "confirmations": null,
                "confirmed": true,
                "gasPrice": null,
                "gasUsed": null,
                "gasFee": "0.000000183414563983",
                "status": "FAILED",
                "type": "SWAP",
                "note": null,
                "amlScreening": {
                    "provider": "ofac, fbi, tether, circle",
                    "status": "success",
                    "message": "Address is not sanctioned"
                },
                "assetSwept": true,
                "assetSweptAt": "2025-04-13T17:48:58.610Z",
                "assetSweptGasFee": "0.000000223941716904",
                "assetSweptHash": "0xaf92bb24dc9d3bd6c2ec6245a41c2461291513fdc7f748c843c6576e484522eb",
                "assetSweptSenderAddress": "0xeeeeee9eC4769A09a76A83C7bC42b185872860eE",
                "assetSweptRecipientAddress": "0xb55c054D8eE75224E1033e6eC775B4F62D942b43",
                "assetSweptAmount": "4.965214",
                "reason": "Insufficient liquidity for swap",
                "network": "mainnet",
                "chainId": null,
                "metadata": null,
                "toAmount": "4.965398",
                "rate": "0.9930796000000001",
                "createdAt": "2025-04-13T17:48:36.689Z",
                "updatedAt": "2025-04-13T17:48:58.611Z",
                "asset": {
                    "id": "3a18a31a-86ad-44a0-9b9c-cdb69d535c64",
                    "name": "USD Coin",
                    "symbol": "USDC",
                    "decimals": 6,
                    "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                    "standard": null,
                    "isActive": true,
                    "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771444992/crypto-assets/USDC.png",
                    "network": "mainnet",
                    "isNative": false,
                    "createdAt": "2024-06-08T12:59:11.303Z",
                    "updatedAt": "2024-06-09T10:39:24.429Z"
                },
                "address": null,
                "blockchain": {
                    "id": "28a730d3-211b-40f7-bb8f-dd589dcc738e",
                    "name": "base",
                    "symbol": "eth",
                    "slug": "base",
                    "derivationPath": "m/44'/60'/0'/0",
                    "isEvmCompatible": true,
                    "isL2": true,
                    "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771445007/crypto-assets/base.png",
                    "isActive": true,
                    "tokenStandard": null,
                    "createdAt": "2024-06-07T11:09:56.586Z",
                    "updatedAt": "2024-11-26T15:26:21.825Z"
                },
                "wallet": {
                    "id": "6b741fbc-8a9c-48a1-92b0-ae7b52de8b9e",
                    "name": "Base Mainnet Wallet",
                    "description": "This is base mainnet wallet",
                    "address": "0xAA2d5fd5e7bE97E214f8565DCf3a4862719960b5",
                    "derivationPath": "m/44'/60'/0'/0/41",
                    "isActive": true,
                    "status": "ACTIVE",
                    "network": "mainnet",
                    "configurations": {
                        "withdrawal": {
                            "gasless": {
                                "isActive": true
                            }
                        },
                        "autoSweeping": {
                            "isActive": true
                        }
                    },
                    "createdAt": "2024-06-15T02:53:23.409Z",
                    "updatedAt": "2025-04-01T21:27:57.022Z",
                    "business": {
                        "id": "a109729b-3b97-4fb3-a90a-769a0cbf6a25",
                        "name": "Yiksi Pay",
                        "sector": "infrastructure",
                        "status": "ACTIVE",
                        "createdAt": "2023-04-28T17:40:18.541Z",
                        "updatedAt": "2024-06-13T19:57:03.064Z"
                    }
                },
                "beneficiary": null,
                "toAsset": {
                    "id": "065ff109-9d31-4c7d-bd0e-13314d2ed5f6",
                    "name": "Tether USD",
                    "symbol": "USDT",
                    "decimals": 6,
                    "address": "0x94b008aA00579c1307B0EF2c499aD98a8ce58e58",
                    "standard": null,
                    "isActive": true,
                    "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771444993/crypto-assets/USDT.png",
                    "network": "mainnet",
                    "isNative": false,
                    "createdAt": "2024-10-08T13:22:13.802Z",
                    "updatedAt": "2024-10-08T13:22:13.802Z"
                },
                "toBlockchain": {
                    "id": "a5e8779c-9f8d-4a67-839d-c278eebf87f1",
                    "name": "optimism",
                    "symbol": "eth",
                    "slug": "optimism",
                    "derivationPath": "m/44'/60'/0'/0",
                    "isEvmCompatible": true,
                    "isL2": true,
                    "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771445010/crypto-assets/optimism.png",
                    "isActive": true,
                    "tokenStandard": null,
                    "createdAt": "2024-10-08T13:04:21.649Z",
                    "updatedAt": "2024-11-26T15:26:23.105Z"
                },
                "toWallet": {
                    "id": "d2f9a93c-e8d6-4768-bc09-be4750e7eacb",
                    "name": "Optimism Mainnet Wallet",
                    "description": "This is optimism mainnet master wallet",
                    "address": "0xb55c054D8eE75224E1033e6eC775B4F62D942b43",
                    "derivationPath": "m/44'/60'/0'/0/0",
                    "isActive": true,
                    "status": "ACTIVE",
                    "network": "mainnet",
                    "configurations": null,
                    "createdAt": "2024-11-23T07:31:57.897Z",
                    "updatedAt": "2024-11-24T05:40:46.225Z"
                }
        }
    }
    ```
  </Tab>

  <Tab title="Deposit Failed">
    ```json theme={null}
    {
        "event": "deposit.failed",
        "data": {
            "id": "6d2f9646-cae4-48a5-8bfe-1f9379868d4f",
            "reference": "LSk5RLfSrR",
            "senderAddress": "0x2455eC6700092991Ce0782365A89d5Cd89c8Fa22",
            "recipientAddress": "0xe1037B45b48390285e5067424053fa35c478296b",
            "amount": "10.0",
            "amountPaid": "10.0",
            "fee": null,
            "currency": "USD",
            "blockNumber": 6928760,
            "blockHash": "0x5f2e0ed782752b9559e7a3d89c0fb9f6706e4866e74ba7a434cf933bb3f02a2b",
            "hash": "0x94c733496df59c15e5a489f20374096bba31166a8e149ceea4d410e3e5821357",
            "confirmations": 6,
            "confirmed": true,
            "gasPrice": "1201381238",
            "gasUsed": "62159",
            "gasFee": "0.000074676656372842",
            "status": "FAILED",
            "type": "DEPOSIT",
            "note": null,
            "amlScreening": {
                "provider": "ofac",
                "status": "failed",
                "message": "Address is sanctioned"
            },
            "assetSwept": null,
            "assetSweptAt": null,
            "assetSweptGasFee": null,
            "assetSweptHash": null,
            "assetSweptSenderAddress": null,
            "assetSweptRecipientAddress": null,
            "assetSweptAmount": null,
            "reason": "AML screening failed - sanctioned address",
            "network": "testnet",
            "chainId": 11155111,
            "metadata": {
                "user_id": 1
            },
            "createdAt": "2024-10-23T11:19:58.451Z",
            "updatedAt": "2024-10-23T11:19:58.451Z",
            "asset": {
                "id": "fe04a28c-c615-4e41-8eda-f84c862864f5",
                "name": "USDC Coin",
                "symbol": "USDC",
                "decimals": 6,
                "address": "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238",
                "standard": "ERC20",
                "isActive": true,
                "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771444992/crypto-assets/USDC.png",
                "network": "testnet",
                "createdAt": "2024-05-14T11:53:33.682Z",
                "updatedAt": "2024-06-14T22:32:12.589Z"
            },
            "address": {
                "id": "0a69c48a-6c6f-422c-bd6a-70de3306a3ac",
                "address": "0xe1037B45b48390285e5067424053fa35c478296b",
                "name": "Customer 1",
                "isActive": true,
                "type": "INTERNAL",
                "derivationPath": "m/44'/60'/0'/0/87",
                "metadata": {
                    "user_id": 1
                },
                "configurations": {
                    "aml": {
                        "status": "failed",
                        "message": "Address is sanctioned",
                        "provider": "ofac"
                    },
                    "showPrivateKey": false,
                    "disableAutoSweep": false,
                    "enableGaslessWithdraw": false
                },
                "network": "testnet",
                "createdAt": "2024-10-23T11:13:40.446Z",
                "updatedAt": "2024-10-23T11:13:40.446Z"
            },
            "blockchain": {
                "id": "85ffc132-3972-4c9e-99a5-5cf0ccb688bf",
                "name": "ethereum",
                "symbol": "eth",
                "slug": "ethereum",
                "derivationPath": "m/44'/60'/0'/0",
                "isEvmCompatible": true,
                "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771444998/crypto-assets/ethereum.png",
                "isActive": true,
                "tokenStandard": "ERC20",
                "createdAt": "2024-05-14T11:53:33.095Z",
                "updatedAt": "2024-06-14T22:32:11.983Z"
            },
            "wallet": {
                "id": "d236a191-c1d4-423c-a439-54ce6542ca41",
                "name": "Ethereum Master Wallet",
                "description": "This is ethereum testnet master wallet",
                "address": "0x947514e4B803e312C312da0F1B41fEDdbe15ae7a",
                "derivationPath": "m/44'/60'/0'/0/0",
                "isActive": true,
                "status": "ACTIVE",
                "network": "testnet",
                "createdAt": "2024-08-22T09:48:56.322Z",
                "updatedAt": "2024-10-23T10:52:34.332Z",
                "business": {
                    "id": "4b96c271-35eb-45e8-b558-6a53f95df601",
                    "name": "Test One Inc",
                    "sector": "Fintech",
                    "status": "ACTIVE",
                    "createdAt": "2024-08-22T09:28:37.522Z",
                    "updatedAt": "2024-08-22T09:28:37.522Z"
                }
            },
            "beneficiary": null
        }
    }
    ```
  </Tab>

  <Tab title="Deposit Swept Failed">
    ```json theme={null}
    {
        "event": "deposit.swept.failed",
        "data": {
            "id": "6d2f9646-cae4-48a5-8bfe-1f9379868d4f",
            "reference": "LSk5RLfSrR",
            "senderAddress": "0x2455eC6700092991Ce0782365A89d5Cd89c8Fa22",
            "recipientAddress": "0xe1037B45b48390285e5067424053fa35c478296b",
            "amount": "10.0",
            "amountPaid": "10.0",
            "fee": null,
            "currency": "USD",
            "blockNumber": 6928760,
            "blockHash": "0x5f2e0ed782752b9559e7a3d89c0fb9f6706e4866e74ba7a434cf933bb3f02a2b",
            "hash": "0x94c733496df59c15e5a489f20374096bba31166a8e149ceea4d410e3e5821357",
            "confirmations": 6,
            "confirmed": true,
            "gasPrice": "1201381238",
            "gasUsed": "62159",
            "gasFee": "0.000074676656372842",
            "status": "SUCCESS",
            "type": "DEPOSIT",
            "note": null,
            "amlScreening": {
                "provider": "ofac",
                "status": "success",
                "message": "Address is not sanctioned"
            },
            "assetSwept": false,
            "assetSweptAt": null,
            "assetSweptGasFee": "0.000074597672027028",
            "assetSweptHash": "0xe5ae1c025b81ff83a03189fad1c0f5bd502cd0b394bed6765603f9ba05bfe147",
            "assetSweptSenderAddress": "0xe1037B45b48390285e5067424053fa35c478296b",
            "assetSweptRecipientAddress": "0x947514e4B803e312C312da0F1B41fEDdbe15ae7a",
            "assetSweptAmount": "10.0",
            "reason": "Insufficient funds to pay for network fee sweeping assets",
            "network": "testnet",
            "chainId": 11155111,
            "metadata": {
                "user_id": 1
            },
            "createdAt": "2024-10-23T11:19:58.451Z",
            "updatedAt": "2024-10-23T11:28:52.889Z",
            "asset": {
                "id": "fe04a28c-c615-4e41-8eda-f84c862864f5",
                "name": "USDC Coin",
                "symbol": "USDC",
                "decimals": 6,
                "address": "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238",
                "standard": "ERC20",
                "isActive": true,
                "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771444992/crypto-assets/USDC.png",
                "network": "testnet",
                "createdAt": "2024-05-14T11:53:33.682Z",
                "updatedAt": "2024-06-14T22:32:12.589Z"
            },
            "address": {
                "id": "0a69c48a-6c6f-422c-bd6a-70de3306a3ac",
                "address": "0xe1037B45b48390285e5067424053fa35c478296b",
                "name": "Customer 1",
                "isActive": true,
                "type": "INTERNAL",
                "derivationPath": "m/44'/60'/0'/0/87",
                "metadata": {
                    "user_id": 1
                },
                "configurations": {
                    "aml": {
                        "status": "success",
                        "message": "Address is not sanctioned",
                        "provider": "ofac"
                    },
                    "showPrivateKey": false,
                    "disableAutoSweep": false,
                    "enableGaslessWithdraw": false
                },
                "network": "testnet",
                "createdAt": "2024-10-23T11:13:40.446Z",
                "updatedAt": "2024-10-23T11:13:40.446Z"
            },
            "blockchain": {
                "id": "85ffc132-3972-4c9e-99a5-5cf0ccb688bf",
                "name": "ethereum",
                "symbol": "eth",
                "slug": "ethereum",
                "derivationPath": "m/44'/60'/0'/0",
                "isEvmCompatible": true,
                "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771444998/crypto-assets/ethereum.png",
                "isActive": true,
                "tokenStandard": "ERC20",
                "createdAt": "2024-05-14T11:53:33.095Z",
                "updatedAt": "2024-06-14T22:32:11.983Z"
            },
            "wallet": {
                "id": "d236a191-c1d4-423c-a439-54ce6542ca41",
                "name": "Ethereum Master Wallet",
                "description": "This is ethereum testnet master wallet",
                "address": "0x947514e4B803e312C312da0F1B41fEDdbe15ae7a",
                "derivationPath": "m/44'/60'/0'/0/0",
                "isActive": true,
                "status": "ACTIVE",
                "network": "testnet",
                "createdAt": "2024-08-22T09:48:56.322Z",
                "updatedAt": "2024-10-23T10:52:34.332Z",
                "business": {
                    "id": "4b96c271-35eb-45e8-b558-6a53f95df601",
                    "name": "Test One Inc",
                    "sector": "Fintech",
                    "status": "ACTIVE",
                    "createdAt": "2024-08-22T09:28:37.522Z",
                    "updatedAt": "2024-08-22T09:28:37.522Z"
                }
            },
            "beneficiary": null
        }
    }
    ```
  </Tab>

  <Tab title="Staking Success">
    ```json theme={null}
    {
        "event": "staking.success",
        "data": {
            "id": "7e8f9a2b-3c4d-5e6f-7a8b-9c0d1e2f3a4b",
            "reference": "STK123456",
            "senderAddress": "0x947514e4B803e312C312da0F1B41fEDdbe15ae7a",
            "recipientAddress": "0xStakingContractAddress",
            "amount": "100.0",
            "amountPaid": "100.0",
            "fee": "0.5",
            "currency": "USD",
            "blockNumber": 6928900,
            "blockHash": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
            "hash": "0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890",
            "confirmations": 12,
            "confirmed": true,
            "gasPrice": "2000000000",
            "gasUsed": "150000",
            "gasFee": "0.0003",
            "status": "SUCCESS",
            "type": "STAKING",
            "note": "Staking 100 USDC",
            "amlScreening": {
                "provider": "ofac",
                "status": "success",
                "message": "Address is not sanctioned"
            },
            "assetSwept": null,
            "assetSweptAt": null,
            "assetSweptGasFee": null,
            "assetSweptHash": null,
            "assetSweptSenderAddress": null,
            "assetSweptRecipientAddress": null,
            "assetSweptAmount": null,
            "reason": null,
            "network": "mainnet",
            "chainId": 1,
            "metadata": {
                "staking_pool": "USDC_POOL",
                "apy": "5.2"
            },
            "createdAt": "2024-10-23T12:00:00.000Z",
            "updatedAt": "2024-10-23T12:05:00.000Z",
            "asset": {
                "id": "fe04a28c-c615-4e41-8eda-f84c862864f5",
                "name": "USDC Coin",
                "symbol": "USDC",
                "decimals": 6,
                "address": "0xA0b86a33E6441b8c4C8C8C8C8C8C8C8C8C8C8C8C",
                "standard": "ERC20",
                "isActive": true,
                "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771444992/crypto-assets/USDC.png",
                "network": "mainnet",
                "createdAt": "2024-05-14T11:53:33.682Z",
                "updatedAt": "2024-06-14T22:32:12.589Z"
            },
            "address": null,
            "blockchain": {
                "id": "85ffc132-3972-4c9e-99a5-5cf0ccb688bf",
                "name": "ethereum",
                "symbol": "eth",
                "slug": "ethereum",
                "derivationPath": "m/44'/60'/0'/0",
                "isEvmCompatible": true,
                "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771444998/crypto-assets/ethereum.png",
                "isActive": true,
                "tokenStandard": "ERC20",
                "createdAt": "2024-05-14T11:53:33.095Z",
                "updatedAt": "2024-06-14T22:32:11.983Z"
            },
            "wallet": {
                "id": "d236a191-c1d4-423c-a439-54ce6542ca41",
                "name": "Ethereum Master Wallet",
                "description": "This is ethereum mainnet master wallet",
                "address": "0x947514e4B803e312C312da0F1B41fEDdbe15ae7a",
                "derivationPath": "m/44'/60'/0'/0/0",
                "isActive": true,
                "status": "ACTIVE",
                "network": "mainnet",
                "createdAt": "2024-08-22T09:48:56.322Z",
                "updatedAt": "2024-10-23T10:52:34.332Z",
                "business": {
                    "id": "4b96c271-35eb-45e8-b558-6a53f95df601",
                    "name": "Test One Inc",
                    "sector": "Fintech",
                    "status": "ACTIVE",
                    "createdAt": "2024-08-22T09:28:37.522Z",
                    "updatedAt": "2024-08-22T09:28:37.522Z"
                }
            },
            "beneficiary": null
        }
    }
    ```
  </Tab>

  <Tab title="Custom Smart Contract Success">
    ```json theme={null}
    {
        "event": "custom-smart-contract.success",
        "data": {
            "id": "9a1b2c3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d",
            "reference": "CSC789012",
            "senderAddress": "0x947514e4B803e312C312da0F1B41fEDdbe15ae7a",
            "recipientAddress": "0xCustomContractAddress",
            "amount": "50.0",
            "amountPaid": "50.0",
            "fee": "0.25",
            "currency": "USD",
            "blockNumber": 6929000,
            "blockHash": "0x9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba",
            "hash": "0xfedcba0987654321fedcba0987654321fedcba0987654321fedcba0987654321",
            "confirmations": 8,
            "confirmed": true,
            "gasPrice": "2500000000",
            "gasUsed": "100000",
            "gasFee": "0.00025",
            "status": "SUCCESS",
            "type": "CUSTOM_SMART_CONTRACT",
            "note": "Custom contract interaction",
            "amlScreening": {
                "provider": "ofac",
                "status": "success",
                "message": "Address is not sanctioned"
            },
            "assetSwept": null,
            "assetSweptAt": null,
            "assetSweptGasFee": null,
            "assetSweptHash": null,
            "assetSweptSenderAddress": null,
            "assetSweptRecipientAddress": null,
            "assetSweptAmount": null,
            "reason": null,
            "network": "mainnet",
            "chainId": 1,
            "metadata": {
                "contract_function": "transfer",
                "contract_address": "0xCustomContractAddress",
                "function_params": {
                    "to": "0xRecipientAddress",
                    "amount": "50000000"
                }
            },
            "createdAt": "2024-10-23T13:00:00.000Z",
            "updatedAt": "2024-10-23T13:02:00.000Z",
            "asset": {
                "id": "fe04a28c-c615-4e41-8eda-f84c862864f5",
                "name": "USDC Coin",
                "symbol": "USDC",
                "decimals": 6,
                "address": "0xA0b86a33E6441b8c4C8C8C8C8C8C8C8C8C8C8C8C",
                "standard": "ERC20",
                "isActive": true,
                "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771444992/crypto-assets/USDC.png",
                "network": "mainnet",
                "createdAt": "2024-05-14T11:53:33.682Z",
                "updatedAt": "2024-06-14T22:32:12.589Z"
            },
            "address": null,
            "blockchain": {
                "id": "85ffc132-3972-4c9e-99a5-5cf0ccb688bf",
                "name": "ethereum",
                "symbol": "eth",
                "slug": "ethereum",
                "derivationPath": "m/44'/60'/0'/0",
                "isEvmCompatible": true,
                "logoUrl": "https://res.cloudinary.com/dkgdc1vnl/image/upload/v1771444998/crypto-assets/ethereum.png",
                "isActive": true,
                "tokenStandard": "ERC20",
                "createdAt": "2024-05-14T11:53:33.095Z",
                "updatedAt": "2024-06-14T22:32:11.983Z"
            },
            "wallet": {
                "id": "d236a191-c1d4-423c-a439-54ce6542ca41",
                "name": "Ethereum Master Wallet",
                "description": "This is ethereum mainnet master wallet",
                "address": "0x947514e4B803e312C312da0F1B41fEDdbe15ae7a",
                "derivationPath": "m/44'/60'/0'/0/0",
                "isActive": true,
                "status": "ACTIVE",
                "network": "mainnet",
                "createdAt": "2024-08-22T09:48:56.322Z",
                "updatedAt": "2024-10-23T10:52:34.332Z",
                "business": {
                    "id": "4b96c271-35eb-45e8-b558-6a53f95df601",
                    "name": "Test One Inc",
                    "sector": "Fintech",
                    "status": "ACTIVE",
                    "createdAt": "2024-08-22T09:28:37.522Z",
                    "updatedAt": "2024-08-22T09:28:37.522Z"
                }
            },
            "beneficiary": null
        }
    }
    ```
  </Tab>
</Tabs>

## Complete Event List

| Event                             | Description                                                                                                                                                                          |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `deposit.success`                 | Triggered when a deposit transaction is successfully received and confirmed on the blockchain.                                                                                       |
| `deposit.processing`              | Triggered when a deposit transaction is being processed.                                                                                                                             |
| `deposit.failed`                  | Triggered when a deposit transaction fails to be processed or confirmed.                                                                                                             |
| `deposit.cancelled`               | Triggered when a deposit transaction is cancelled before completion.                                                                                                                 |
| `deposit.swept.success`           | Triggered when funds from a deposit are successfully swept (transferred) to the master wallet.                                                                                       |
| `deposit.swept.failed`            | Triggered when the auto-sweep process fails to transfer funds to the master wallet.                                                                                                  |
| `withdraw.success`                | Triggered when a withdrawal transaction is successfully executed and confirmed on the blockchain.                                                                                    |
| `withdraw.failed`                 | Triggered when a withdrawal transaction fails to execute. This can occur due to insufficient funds, network congestion, or other blockchain-related issues.                          |
| `withdraw.cancelled`              | Triggered when a withdrawal transaction is cancelled before completion.                                                                                                              |
| `signed.success`                  | Triggered when a signed transaction is successfully executed, however, transaction is not broadcast on the blockchain.                                                               |
| `signed.failed`                   | Triggered when a signed transaction fails to execute. This can occur due to network congestion, or other blockchain-related issues.                                                  |
| `signed.cancelled`                | Triggered when a signed transaction is cancelled before completion.                                                                                                                  |
| `swap.success`                    | Triggered when a swap transaction is successfully executed and the assets are exchanged.                                                                                             |
| `swap.failed`                     | Triggered when a swap transaction fails to execute. This can occur due to insufficient funds, network congestion, or swap contract errors.                                           |
| `swap.cancelled`                  | Triggered when a swap transaction is cancelled before completion.                                                                                                                    |
| `custom-smart-contract.success`   | Triggered when a custom smart contract transaction is successfully executed. This indicates that the contract interaction completed successfully on the blockchain.                  |
| `custom-smart-contract.failed`    | Triggered when a custom smart contract transaction fails to execute. This can occur due to various reasons such as insufficient funds, network congestion, or smart contract errors. |
| `custom-smart-contract.cancelled` | Triggered when a custom smart contract transaction is cancelled before completion.                                                                                                   |
| `staking.success`                 | Triggered when a staking transaction is successfully executed and the assets are staked.                                                                                             |
| `staking.failed`                  | Triggered when a staking transaction fails to execute. This can occur due to insufficient funds, network congestion, or staking contract errors.                                     |
| `staking.cancelled`               | Triggered when a staking transaction is cancelled before completion.                                                                                                                 |
| `unstaking.success`               | Triggered when an unstaking transaction is successfully executed and the assets are unstaked.                                                                                        |
| `unstaking.failed`                | Triggered when an unstaking transaction fails to execute. This can occur due to insufficient staked balance, network congestion, or staking contract errors.                         |
| `unstaking.cancelled`             | Triggered when an unstaking transaction is cancelled before completion.                                                                                                              |
| `unstaking.withdraw.success`      | Triggered when unstaked assets are successfully withdrawn to the user's address.                                                                                                     |
| `unstaking.withdraw.failed`       | Triggered when the withdrawal of unstaked assets fails to execute. This can occur due to insufficient balance, network congestion, or other blockchain-related issues.               |
| `unstaking.withdraw.cancelled`    | Triggered when an unstaking withdrawal transaction is cancelled before completion.                                                                                                   |
| `restaking.success`               | Triggered when a restaking transaction is successfully executed and the assets are restaked.                                                                                         |
| `restaking.failed`                | Triggered when a restaking transaction fails to execute. This can occur due to insufficient funds, network congestion, or staking contract errors.                                   |
| `restaking.cancelled`             | Triggered when a restaking transaction is cancelled before completion.                                                                                                               |
| `salvage.success`                 | Triggered when a salvage operation is successfully executed and the assets are recovered.                                                                                            |
| `salvage.failed`                  | Triggered when a salvage operation fails to execute. This can occur due to insufficient funds, network congestion, or salvage contract errors.                                       |
| `salvage.cancelled`               | Triggered when a salvage operation is cancelled before completion.                                                                                                                   |

## Transaction Types and Statuses

### Transaction Types

The following transaction types are used in webhook payloads:

| Type                    | Description                                                                        |
| ----------------------- | ---------------------------------------------------------------------------------- |
| `DEPOSIT`               | A deposit transaction where funds are received into a wallet address               |
| `WITHDRAW`              | A withdrawal transaction where funds are sent from a wallet to an external address |
| `SIGNED`                | A signed transaction where transaction is only signed and not broadcast to network |
| `SALVAGE`               | A salvage operation to recover stuck or lost funds                                 |
| `AUTO_SETTLEMENT`       | An automatic settlement transaction                                                |
| `STAKING`               | A staking transaction where assets are staked                                      |
| `UNSTAKING`             | An unstaking transaction where staked assets are unstaked                          |
| `RESTAKING`             | A restaking transaction where assets are restaked                                  |
| `UNSTAKING_WITHDRAW`    | A withdrawal of unstaked assets                                                    |
| `CUSTOM_SMART_CONTRACT` | A custom smart contract interaction                                                |
| `SWAP`                  | A swap transaction where one asset is exchanged for another                        |

### Transaction Statuses

The following statuses indicate the current state of a transaction:

| Status       | Description                                                |
| ------------ | ---------------------------------------------------------- |
| `PENDING`    | Transaction is being processed but not yet confirmed       |
| `PROCESSING` | Transaction is currently being processed                   |
| `SUCCESS`    | Transaction has been successfully executed and confirmed   |
| `FAILED`     | Transaction failed to execute or was rejected              |
| `INCOMPLETE` | Transaction is incomplete and may require additional steps |
| `CANCELLED`  | Transaction was cancelled before completion                |

<Note>
  These transaction types and statuses are used in the `type` and `status` fields of webhook payloads to help you understand what kind of transaction occurred and its current state.
</Note>

Happy hacking! ❤️
