Depositar en SolMask es gratis. El protocolo cobra su comisión al retirar, en dos partes, ambas on-chain y aplicadas por el programa. No hay cargos ocultos, ni spread en la ruta del swap, ni variación por activo. Los números a continuación los aplica el protocolo on-chain.
Depósitos: gratis
Cuando depositas en un pool de SolMask, la cantidad completa entra en la bóveda blindada. No se descuenta nada a la entrada: la cantidad a la que te comprometes en tu nota blindada es exactamente lo que depositaste.
La comisión porcentual de retiro: en el activo retirado
Al retirar, el protocolo cobra un pequeño porcentaje —Config.withdraw_fee_bps, un valor ajustable por el admin y limitado a 100 puntos básicos (1,00%)—. Con los 23 bps recomendados (0,23%) sale fee = cantidad_retirada * 23 / 10_000. La comisión se cobra en el activo que retiras —SOL en un retiro de SOL, USDC en un retiro de USDC— y se acumula en una fee vault de token por pool. El porcentaje va vinculado dentro de la prueba de conocimiento cero del retiro, así que ni tú ni el relayer pueden falsearlo.
La comisión de retiro: 0,003 SOL fijos
El lado del retiro es más simple. Cada transacción de retiro paga una comisión de protocolo que por defecto es de 0,003 SOL —el valor Config.withdraw_fee_lamports (3.000.000 de lamports). No es una constante fija en el código fuente: es un valor on-chain ajustable por el administrador (con un tope de 0,1 SOL), que puede modificarse sin necesidad de un nuevo despliegue. No escala con la cantidad retirada.
Mecánicamente, el relayer que envía tu retiro paga la comisión en SOL desde su propia wallet en el momento de la ejecución, y recupera exactamente esa cantidad mediante una pequeña porción de propina denominada en el activo del depósito, deducida del importe liberado antes de enrutar el resto a tu destinatario. El gas de la red de Solana (la comisión base más el alquiler de cuentas) es un coste aparte que el relayer absorbe, no algo que se sume a tu comisión. No ves esto como una transacción separada; está incluido en la cotización de retiro que aceptaste en la interfaz.
Este diseño es lo que te permite retirar a una wallet recién creada, sin fondos. La wallet que recibe tus fondos no necesita ningún SOL para cubrir el gas, porque el relayer lo está adelantando por ti.
Un ejemplo trabajado, de principio a fin
Digamos que depositas 1,0000 SOL en el pool SOL.
La instrucción de depósito toma 0,0023 SOL como la comisión del 0,23% y enruta 0,9977 SOL a la bóveda del pool. Tu nota blindada registra 0,9977 SOL como la cantidad gastable, porque eso es lo que realmente respalda tu compromiso.
Esperas tu retraso de privacidad. Cuando retiras, el protocolo libera 0,9977 SOL de la bóveda. De eso, 0,003 SOL se paga al recolector de comisiones como la comisión fija de retiro. Los 0,9947 SOL restantes aterrizan en tu dirección de destinatario.
Coste total de un depósito de 1 SOL: 0,0053 SOL, o 53 puntos básicos ida y vuelta. En un depósito de 100 SOL, los porcentajes se aprietan porque la comisión de retiro es fija: 0,23 SOL en el depósito + 0,003 SOL en el retiro son alrededor de 23,3 bps en total. En un depósito de 0,1 SOL, la ida y vuelta es más bien del 3,23% porque la comisión fija domina. SolMask es más rentable para cantidades mayores.
A dónde van finalmente las comisiones
Ambas comisiones finalmente confluyen en una sola cuenta on-chain —Config.fee_collector— que es configurada por el administrador de SolMask en el momento del despliegue. La comisión de retiro va allí directamente, en SOL, en cada retiro. Las comisiones de depósito se acumulan en cuentas fee_vault por pool en el activo nativo del pool, y son barridas por el administrador al recolector de comisiones cuando la bóveda de un pool cruza un sweep_threshold configurable. El barrido es una operación manual, no automática.
El destino del recolector de comisiones está publicado en la PDA Config desplegada. Puedes leerlo tú mismo on-chain si quieres verificar a dónde van las comisiones sin confiar en nuestra palabra.
Para qué pagan las comisiones
La comisión de depósito es el ingreso del protocolo: paga por la infraestructura (el relayer, el indexador, los costes de la ceremonia de configuración confiable) y por el desarrollo continuo. No es una comisión de gas de red: las comisiones reales de prioridad de Solana en tu transacción de depósito son separadas y van a los validadores de la forma normal.
La comisión de retiro es ingreso del protocolo: el relayer se la paga al recolector de comisiones en SOL y la recupera mediante una propina en el activo del depósito. El propio gas de red del relayer es un coste aparte que él absorbe, no algo que la comisión le reembolse. Como la comisión es fija, hace que los retiros muy pequeños sean económicamente poco atractivos pero no penaliza los grandes. Esto es intencional. La economía de los pools de privacidad funciona mejor cuando los tamaños típicos de retiro son lo bastante grandes para absorber una comisión fija sin queja, lo que mantiene el conjunto de anonimato poblado con cantidades significativas en lugar de polvo.
No hay otras comisiones. Ni suscripción, ni impuesto de salida, ni retención en el lado del swap más allá de lo que el propio Jupiter cobra por el enrutamiento entre activos. Lo que ves en la interfaz es lo que pagas.