#solana #spl-token #ciphertext #math #elgamal #confidential-transfer #on-chain-programs

spl-token-confidential-transfer-ciphertext-arithmetic

Solana Program Library Confidential Transfer Ciphertext Arithmetic

7 unstable releases (3 breaking)

0.4.1 Nov 3, 2025
0.4.0 Aug 12, 2025
0.3.1 Aug 12, 2025
0.3.0 Mar 26, 2025
0.1.0 Aug 27, 2024

#2 in #ciphertext

Download history 50126/week @ 2025-08-27 48449/week @ 2025-09-03 58984/week @ 2025-09-10 44969/week @ 2025-09-17 44027/week @ 2025-09-24 43551/week @ 2025-10-01 49062/week @ 2025-10-08 54251/week @ 2025-10-15 53485/week @ 2025-10-22 48383/week @ 2025-10-29 57909/week @ 2025-11-05 55123/week @ 2025-11-12 57792/week @ 2025-11-19 47147/week @ 2025-11-26 60107/week @ 2025-12-03 45591/week @ 2025-12-10

218,353 downloads per month
Used in 245 crates (via spl-token-2022)

Apache-2.0

16KB
248 lines

Token 2022

Programs

The token-2022 repo contains two on-chain programs, the token-2022 program in program, which you can build / test / format using the following commands:

make build-sbf-program
make test-program
make format-check-program
make clippy-program

There's also the ElGamal pubkey registry program in confidential/elgamal-registry, which you can build and test with the following commands:

make build-sbf-confidential-elgamal-registry
make test-confidential-elgamal-registry
make format-check-confidential-elgamal-registry
make clippy-confidential-elgamal-registry

IDL

The token-2022 program has the following IDL.

Generating clients

Once your program's IDL has been generated, you can generate clients for them using the following commands.

pnpm install # only need to run this once
pnpm generate:clients

Managing clients

The following clients are available. You may use the following links to learn more about each client:

Starting and stopping the local validator

The following script is available to start your local validator. In order to run the local validator you must also have the token-2022 and elgamal registry programs built.

make build-sbf-program # you only need to run this once
make build-sbf-confidential-elgamal-registry # you only need to run this once
make restart-test-validator

Finally, you may stop the local validator using the following command.

make stop-test-validator

Dependencies

~11MB
~160K SLoC