Cashu TS is a JavaScript library for Cashu wallets written in Typescript.
Wallet Features:
- connect to mint (load keys)
- request minting tokens
- minting tokens
- sending tokens (get encoded token for chosen value)
- receiving tokens
- melting tokens
- check if tokens are spent
- ...
Implemented NUTs:
Supported token formats:
- v1 read
- v2 read (deprecated)
- v3 read/write
Go to the docs for detailed usage.
npm i @cashu/cashu-ts
import { CashuMint, CashuWallet, getEncodedToken } from '@cashu/cashu-ts';
const wallet = new CashuWallet(new CashuMint('{MINT_URL}'));
const { pr, hash } = await wallet.requestMint(200);
//pay this LN invoice
console.log({ pr }, { hash });
async function invoiceHasBeenPaid() {
const proofs = await wallet.requestTokens(200, hash);
//Encoded proofs can be spent at the mint
const encoded = getEncodedToken({
token: [{ mint: '{MINT_URL}', proofs }]
});
console.log(encoded);
}
Contributions are very welcome.
If you want to contribute, please open an Issue or a PR.