The Crypto4Winners platform, launched in January 2020, allowed clients to deposit their BTC, ETH, or USDT into an investment pool. However, recent evidence suggests that this platform might have operated as a Ponzi scheme. In this article, we conduct a thorough simulation to understand the fund movements and verify these allegations.
Background and Initial Assumptions
Crypto4Winners was managed by a single employee, Luc Schiltz, from January 2020 to April 2021. Adrien Castellani joined the team in May 2021, increasing the total number of employees to seven. From this point, the monthly fixed expenses amounted to 110,000 EUR, along with monthly leisure expenses of 50,000 EUR.
The scheme started to show signs of failure following an accident involving Luc Schiltz in March 2024, making the platform unable to pay the promised returns. Consequently, the supposed available funds of clients totaled 100 million EUR, but no payments were made after the accident, and Castellani claimed not to have access to the funds.
Simulation of the Ponzi Scheme
For this simulation, we assumed that no real trading occurred and that the monthly fictitious returns were paid from new client deposits. Here are the main data points and monthly returns used in our simulation:
Initial Assumptions
- Activity Period: January 2020 to March 2024
- Total Deposits: 1100 BTC, 8500 ETH, 10 million USDT
- Total number of clients over the period: 4000
- Number of active clients in March 2024: 1500
- Monthly fixed expenses after May 2021: 110,000 EUR
- Monthly leisure expenses: 50,000 EUR
Simulation Methodology
We used the data of monthly fictitious returns to simulate the evolution of available funds and compare them to real liquidity. Here is an overview of the monthly fictitious returns for each type of cryptocurrency:
- BTC Monthly Return (%): [12.01, 10.23, 22.64, ...]
- ETH Monthly Return (%): [6.63, 6.2, 5.72, ...]
- USDT Monthly Return (%): [3.86, 7.67, 6.37, ...]
We also considered the decline in investments over the last six months, where withdrawals exceeded new deposits, which is typical of Ponzi schemes in their terminal phase.
Simulation Results
The simulation shows that the funds displayed on the platform are largely fictitious. In March 2024, although clients see a total of 100 million EUR on the platform, the real liquidity is zero. This significant discrepancy between supposed funds and real funds proves with 95% accuracy that Crypto4Winners operated as a Ponzi scheme.
The only way to prove otherwise would be to recover and return the funds, but so far, no contact has been established with the supposed traders, and no trading wallets have been confirmed.
Python Code for the Simulation
For those who want to go further and play with the initial assumptions, here is the Python code used to perform this simulation:
import pandas as pd
# Define the initial data
data = {
"Date": pd.date_range(start="2020-01-01", end="2024-03-01", freq='MS'),
"BTC_Return": [12.01, 10.23, 22.64, 11.49, 8.22, 7.56, 8.56, 8.37, 7.41, 8.2, 9.06, 8.79, 7.91, 6.18, 7.28, 7.39, 8.15, 7.14, 7.29, 6.64, 6.2, 5.89, 5.97, 6.23, 6.12, 5.06, 6.01, 5, 5.49, 4.74, 5.36, 5.11, 5.3, 4.77, 4.26, 4.13, 5.19, 4.57, 4.82, 4.91, 4.9, 4.33, 4.54, 4.32, 3.46, 3.81, 4.71, 4.35, 4.35, 3.61],
"ETH_Return": [None, None, None, None, None, None, None, None, None, None, None, None, 6.63, 6.2, 5.72, 5.75, 5.96, 5.3, 5.98, 5.56, 5.61, 5.14, 4.69, 4.34, 5.37, 4.8, 5.08, 4.98, 4.5, 3.92, 4.65, 4.39, 3.65, 3.72, 4.64, 4.18, 4.77, 4.8, 5.08, 4.98, 4.5, 3.92, 4.65, 4.39, 3.65, 3.72, 4.64, 4.18, 4.35, 4.35, 3.39],
"USDT_Return": [None, None, None, None, None, None, None, None, None, None, None, None, 3.86, 7.67, 6.37, 9.1, 6.82, 5.54, 5.86, 5.22, 5.71, 3.83, 4.46, 3.86, 3.84, 4.08, 4.68, 4.36, 5.52, 2.44, 3.21, 2.98, 2.69, 4.08, 4.03, 3.3, 3.72, 4.08, 4.68, 4.36, 5.52, 2.44, 3.21, 2.98, 2.69, 4.08, 4.03, 3.3, 3.72, 4.08, 3.72],
}
# Ensure the lengths of the lists match the number of months
num_months = len(data["Date"])
data["BTC_Return"] += [0] * (num_months - len(data["BTC_Return"]))
data["ETH_Return"] += [0] * (num_months - len(data["ETH_Return"]))
data["USDT_Return"] += [0] * (num_months - len(data["USDT_Return"]))
# Create the DataFrame
df = pd.DataFrame(data)
# Initialize variables
initial_clients = 0
total_clients = 4000
clients_march_2024 = 1500
initial_liquidity = 0
total_deposits_BTC = 1100
total_deposits_ETH = 8500
total_deposits_USDT = 10_000_000
monthly_fixed_expenses = 110_000
monthly_leisure_expenses = 50_000
total_funds_march_2024 = 100_000_000 # Fictitious
# Financial flows simulation
df['BTC_Funds'] = total_deposits_BTC
df['ETH_Funds'] = total_deposits_ETH
df['USDT_Funds'] = total_deposits_USDT
df['Total_Funds'] = df['BTC_Funds'] + df['ETH_Funds'] + df['USDT_Funds']
df['Real_Liquidity'] = initial_liquidity
# Simulation logic month by month
for i in range(1, len(df)):
# Calculate fictitious returns
btc_return = df.at[i, 'BTC_Return'] / 100
eth_return = df.at[i, 'ETH_Return'] / 100 if df.at[i, 'ETH_Return'] is not None else 0
usdt_return = df.at[i, 'USDT_Return'] / 100 if df.at[i, 'USDT_Return'] is not None else 0
# Update funds
df.at[i, 'BTC_Funds'] = df.at[i-1, 'BTC_Funds'] * (1 + btc_return)
df.at[i, 'ETH_Funds'] = df.at[i-1, 'ETH_Funds'] * (1 + eth_return)
df.at[i, 'USDT_Funds'] = df.at[i-1, 'USDT_Funds'] * (1 + usdt_return)
# Calculate total fictitious funds
df.at[i, 'Total_Funds'] = df.at[i, 'BTC_Funds'] + df.at[i, 'ETH_Funds'] + df.at[i, 'USDT_Funds']
# Update real liquidity by subtracting monthly expenses
if i >= 16: # May 2021 and after
df.at[i, 'Real_Liquidity'] = df.at[i-1, 'Real_Liquidity'] - monthly_fixed_expenses - monthly_leisure_expenses
else:
df.at[i, 'Real_Liquidity'] = df.at[i-1, 'Real_Liquidity'] - monthly_leisure_expenses
# Export the DataFrame to an Excel file
output_path = "/mnt/data/Simulation_Ponzi_Crypto4Winners.xlsx"
df.to_excel(output_path, index=False)