Waves wallet
Author: p | 2025-04-24
Waves Wallet listing TGE // Waves Wallet withdrawal start // Waves Wallet Listing February // Waves Wallet Airdrop Telegram Airdrop Link.Waves Wallet
GitHub - BatmanMochi/Wave-wallet: Wave Wallet.
The right crypto wallet for your Waves Looking for a Waves Wallet to buy and store your Waves? Join 7+ million customers who trust Ledger hardware wallets to securely store their crypto and use them on the day-to-day basis. Mobile & Desktop App Secured by Hardware Wallet Trusted by over 7 million customers Ledger Secured Solution How to secure your Waves ? Whether you’re looking to keep your crypto safe for long-term or manage them on a daily basis, Ledger has the right product for you. Ledger hardware wallet Ledger hardware wallet stores your private keys and signs transactions offline, making them resistant to malicious attacks and threats. Pair the Ledger crypto wallet with Ledger Live App to manage your Waves on the go. Ledger Live App Ledger Live App is a gateway to manage your assets, checking your real-time balance, tracking transaction histories, and more. How to create a Waves wallet? 1 Get a Ledger Nano Select and purchase a Ledger hardware wallet of your choice. Beginner in the crypto world? Get started with Ledger Nano S Plus. Prefer a Bluetooth connection? Try with Ledger Nano X.Get Ledger Nano 2 Download Ledger Live Download and install the Ledger Live app in a couple of clicks on desktop and mobile.Coupled with a Ledger, it makes the most secured wallet for your Waves. 3 Start your Waves journey securely Add a Waves account with a couple of clicks. Choose among different providers and easily manage your Waves. And not only Waves. With Ledger Live, you can manage thousands of crypto and a large variety of NFTs. The best Waves hardware wallet Waves at your fingertips Manage your Waves With Ledger Live coupled with a Ledger, you can:Securely execute transactions by physically validating them with your Ledger Hardware WalletManage your Waves as well as thousands of other crypto assetsTrack your portfolio*Buy, send/receive, swap, stake, and other crypto transaction services are provided by third-parties provider, which availability may vary based on jurisdiction/territory. What is Waves? The Waves blockchain is designed to enable users to create and launch custom crypto tokens. With Waves, creating and trading crypto tokens is made easy as extensive smart contract programming is not required.Instead, users can create and manage tokens through scripts that run in their accounts on the Waves blockchain.The objective is to make token development similar to launching a traditional web application. This is achieved by running programs and applications as attachments to transactions and giving new assets a unique identifier. It’s worth noting that scripts can only be attached at the asset’s creation stage.These tokens are meant to be traded within the Waves ecosystem, which includes its decentralized exchange (Waves.Exchange). This exchange is specifically built to enable the trade of tokens created on the Waves blockchain with other WAVES tokens. Choice of 6,000,000+ customers “Ledger = peace of mind. I'm sure some of us know that unsettling feeling when you know you need a Ledger but haven't quite organized yourself to get it sorted. If I Keeper Walleten | ruKeeper Wallet is a browser extension that enables secure interaction with Waves-enabled web services.Seed phrases and private keys are encrypted and stored within the extension and cannot be accessed by online dApps and services, making sure that users' funds are always protected from hackers and malicious websites. Completion of a transaction doesn't require entering any sensitive information.Keeper Wallet is designed for convenience, so users can sign transactions with just one click. Users can create multiple wallets and switch between them easily. And if a user ever forgets the password to the account, it can be recovered from the seed phrase.Waves protocol documentationKeeper Wallet APIOn browser pages that operate under http/https (not local pages with file:// protocol) with Keeper Wallet extension installed, KeeperWallet global object becomes available.In KeeperWallet you will find the following methods:publicStatenotificationencryptMessagedecryptMessageonauthsignTransactionsignAndPublishTransactionsignTransactionPackagesignOrdersignAndPublishOrdersignCancelOrdersignAndPublishCancelOrdersignRequestsignCustomDataresourceIsApprovedresourceIsBlockedverifyCustomDataAll methods except for on operate asynchronously and return Promises.In code, you can use TypeScript types.In Keeper Wallet, for greater security and ease of use, each new website using API has to be allowed by the user. At the first attempt to use API (except on), the user will see a request to allow the website to access Keeper Wallet. If the user agrees to allow access, the website is considered trusted and can use API on its pages. Otherwise, the website is blocked, and the error message {message: "Api rejected by user", code: 12} will be displayed in response to all requests. The user won't see new notifications. To grant access, the user has to mark the website as trusted in the interface.Description of methodspublicStateIf a website is trusted, Keeper Wallet public data are returned.Example: { console.log(state); //displaying the result in the console /*...processing data */ }) .catch(error => { console.error(error); // displaying the result in the console /*...processing errors */ });">KeeperWallet.publicState() .then(state => { console.log(state); //displaying the result in the console /*...processing data */ }) .catch(error => { console.error(error); // displaying the result in the console /*...processing errors */ });or { try { const state = await KeeperWallet.publicState(); console.log(state); // displaying the result in the console /*... processing data*/ } catch (error) { console.error(error); // displaying the result in the console /*... processing errors */ }};const result = await getPublicState();">const getPublicState = async () => { try { const state = await KeeperWallet.publicState(); console.log(state); // displaying the result in the console /*... processing data*/ } catch (error) { console.error(error); // displaying the result in the console /*... processing errors */ }};const result = await getPublicState();Response:{ "initialized": true, "locked": true, "account": { "name": "foo", "publicKey": "bar", "address": "waves address", "networkCode": "network byte", "balance": { "available": "balance in waves", "leasedOut": "leased balance" } }, "network": { "code": "W", "server": " "matcher": " }, "messages": [], "txVersion": { "3": [ 2 ], "4": [ 2 ], "5": [ 2 ], ... }}Response fields:initialized – boolean: Keeper Wallet is initialized.locked – boolean: Keeper Wallet is locked (password required).account – current account if the user allowed access to the website, null otherwise.network – current Waves network, node andwaves-wallet/wallet: Desktop wallet for Waves blockchain - GitHub
Matcher addresses.messages – signature request statuses.txVersion – available transaction versions for each type.Possible errors:{ message: "Init Keeper Wallet and add account" } – Keeper Wallet is not initialized.{ message: "Add Keeper Wallet account" } – Keeper Wallet accessed, but there are no accounts.{ message: "User denied message" } – the user denied the website operation with Keeper Wallet.notificationA method for sending a user a message from the site. You can send message only 1 time in 30 sec for trusted sites with send permission.notification facilitates input of the following data:title – string, 20 chars max (required field).message – string, 250 chars max (optional field).Example:KeeperWallet.notification({ title: 'Hello!', message: 'Congratulation!!!',});Response: Promise.Possible errors:{message: "Incorrect notification data", data: "title has more than 20 characters", code: "19"} – incorrect notification title.{message: "Incorrect notification data", data: null, code: "19"} – incorrect notification data.{message: "Can't sent notification", data: {msg: "Min notification interval 30s. Wait 28.017s."}, code: "18"} – try to send later, you can send 1 message in 30 sec.{message: 'User denied message', data: 'rejected', code: '10'} — the user rejected the request.{message: 'User denied message', data: 'rejected_forever', code: '10'} — the user rejected the request and blocked the website.{ message: "Api rejected by user", code: 12 } — the website was previously blocked by the user or sending messages is not allowed.encryptMessageYou can encrypt string messages to account in Waves network.You need have recipient publicKey.KeeperWallet.encryptMessage(*string to encrypt*, *public key in base58 string*, *prefix: a secret app string for encoding*)Example: { console.log(encryptedMessage);});">KeeperWallet.encryptMessage( 'My message', '416z9d8DQDy5MPTqDhvReRBaPb19gEyVRWvHcewpP6Nc', 'my app',).then(encryptedMessage => { console.log(encryptedMessage);});Possible errors:{ message: "Init Keeper Wallet and add account" } – Keeper Wallet is not initialized.{ message: "App is locked" } – Keeper Wallet is locked (password required).{ message: "Add Keeper Wallet account" } – Keeper Wallet accessed, but there are no accounts.{ message: "User denied message" } – the user denied the website operation with Keeper Wallet.decryptMessageYou can decrypt string messages from account in Waves network to you.You need to have user's public key and the encrypted message.KeeperWallet.decryptMessage(*string to decrypt*, *public key in base58 string*, *prefix: a secret app string for encoding*)Example: { console.log(message);});">KeeperWallet.decryptMessage( '**encrypted msg**', '416z9d8DQDy5MPTqDhvReRBaPb19gEyVRWvHcewpP6Nc', 'my app',).then(message => { console.log(message);});Possible errors:{ message: "Init Keeper Wallet and add account" } – Keeper Wallet is not initialized.{ message: "App is locked" } – Keeper Wallet is locked (password required).{ message: "Add Keeper Wallet account" } – Keeper Wallet accessed, but there are no accounts.{ message: "User denied message" } – the user denied the website operation with Keeper Wallet.onAllows subscribing to Keeper Wallet events.Supports events:update – subscribe for updates of the state.Example: { //state object as from KeeperWallet.publicState});">KeeperWallet.on('update', state => { //state object as from KeeperWallet.publicState});If a website is not trusted, events won't be displayed.authThis is a method for obtaining a signature of authorization data while verifying Waves' user. If the the signature is valid, be sure that the given blockchain account belongs to that user.Example: { console.log(auth); //displaying the result on the console /*...processing data */ }) .catch(error => { console.error(error); // displaying the result on. Waves Wallet listing TGE // Waves Wallet withdrawal start // Waves Wallet Listing February // Waves Wallet Airdrop Telegram Airdrop Link.Waves WalletWaves Wallet Final Eligibility Caritaria // Wave Wallet - YouTube
Did it all again, I'd start with having a Ledger.” Janet Onagah @Janet_Oganah "I got hacked in January and lost 1000s worth of NFTs. I felt disgusted, lost, and willing to quit. Until my friend told me he's ordering a Ledger. So, we bought the duo deal. Since then, I've been sleeping." PrimeNic.eth @primenic_eth “I use multiple Ledgers. Different colours = different uses.Public Wallet. Never touch long term storage. Day to day fund holdings. A back up just in case.” "I have 3 Ledgers. Hot Wallet: minting/drawings etc. Main wallet: store most NFTs. Vault wallet: cold storage of crypto." “I have 5 Ledger total. My personal NFT bag. 1 for testing. And 1 for each of my 3 daughters.” Fanzo 🧢 11.11.22 @iSocialFanz "If I could, I would name my Ledger Hagrid. Cause it's the keeper of my keys." Petrica Butusina @PetricaButusina "My Ledger is already called "Stew". As it is the steward who looks after my crypto & NFTs, so I can sleep at night." Lkmland Crypto 💫 @LkmlandCrypto "Ledger makes cold storage downright easy. My NFTs land infinitely safer and I don’t have to feel as paranoid about connecting to new smart contracts." Cryptocurrencies similar to Waves supported by our hardware wallet Bitcoin, Ethereum, USDT, Solana and more… FAQ Find answers to some of the most common questions. How to secure Waves tokens? When you first buy token, you’re issued with two keys: public and private.A public key serves as an address that can be shared with other parties to perform transactions.A private key represents a randomly generated number that signs transactions and protects your assets from malicious attacks. If it gets compromised or lost, you won’t be able to access your wallet to spend, withdraw, or transfer your cryptos.To safeguard and keep track of your keys, you can use online or offline wallets. Online wallets, also known as hot wallets, store private keys on systems or devices that are connected to the internet. Hot wallets are easy and convenient to use, however, they come with several drawbacks. Besides being susceptible to attacks and a honeypot for hackers, with hot wallets, the custody of private keys is often entrusted to a third party such as a crypto exchange, which means you never have full control over your funds. The safer choice are specialized hardware wallets that store private keys offline. Stealing private keys from a hardware wallet would require physical access to the wallet and corresponding PIN or the recovery phrase. What’s more, with hardware wallet, you don’t need to rely on third party custodians. Can Ledger Nano wallet protect my Waves coins? Ledger Nano is the industry-leading hardware wallet. With more than five million customers, Ledger Nano wallets have several layers of security that protect private keys, and hence your assets:Your private keys are stored on secure element chips.A PIN code and a 24-word recovery phrase are required to access the wallet.Ledger Nano hardware wallets have been built using highly durable materials for protection against physical damage.With Full isolation between private keys and your computer/mobile, Ledger Nano wallets keep your keys secure and give you complete control over your cryptocurrencies. How to secure Waves tokens? When you first buy token, you’re issued with two keys: public and private.A public key serves as an address that can be shared with other parties to perform transactions.A private key represents a randomly generated number that signs transactions and protects your assets from malicious attacks. If it gets compromised or lost, you won’t be able to access your wallet to spend, withdraw, or transfer your cryptos.To safeguard and keep track of your keys, you can use online or offline wallets. Online wallets, also known as hot wallets, store private keys on systems or devices that are connected to the internet. Hot wallets are easy and convenient to use, however, they come with several drawbacks. Besides being susceptible to attacks and a honeypot for hackers, with hot wallets, the custody of private keys is often entrusted to a third party such as a crypto exchange, which means you never have full control over your funds. The safer choice are specialized hardware wallets that store private keys offline. Stealing private keys from a hardware wallet would require physical access to the wallet and corresponding PIN or the recovery phrase. What’s more, with hardware wallet, you don’t need to rely on third party custodians. Can Ledger Nano wallet protect my Waves coins? Ledger Nano is the industry-leading hardware wallet. With more than five million customers, Ledger Nano wallets have several layers of security that protect private keys, and hence your assets:Your private keys are stored on secure element chips.A PIN code and a 24-word recovery phrase are required to access the wallet.Ledger Nano hardware wallets have been built using highly durable materials for protection against physical damage.With full isolation between private keys and your computer/mobile, Ledger Nano wallets keep your keys secure and give you complete control over your cryptocurrencies.Waves (ERC20) (WAVES) Wallet - Buy Crypto in NOW Wallet
AssetId: 'WAVES', tokens: '0.001', }, recipient: 'test', },};KeeperWallet.signTransaction(txData) .then(data => { //data – a line ready for sending to Waves network's node (server) }) .catch(error => { //Processing errors });API returns lines, not an object, as in JavaScript precision is lost in operation with 8-byte integers.In the example, we are signing a transaction for transferring WAVES to the alias test in Waves network.Response:{ "version": 2, "assetId": "", "amount": 156700000, "feeAssetId": "", "fee": 100000, "recipient": "recipient", "attachment": "", "timestamp": 1548770230589, "senderPublicKey": "public key", "proofs": ["signature"], "type": 4}Possible errors:{message: "User denied message", code: 10} – the user denied the request.{ message: "Api rejected by user", code: 12 } — the website was previously blocked by the user.{message: "Invalid data", data: "Reason", code: 9} – invalid/incomplete request data.signAndPublishTransactionThis is similar to signTransaction, but it also broadcasts a transaction to the blockchain. See the description of supported transaction types in Transactions section below.Example: { //data - a line ready for sending to Waves network's node (server) }) .catch(error => { //processing errors });">const txData = { type: 4, data: { amount: { assetId: 'WAVES', tokens: '1.567', }, fee: { assetId: 'WAVES', tokens: '0.001', }, recipient: 'test', },};KeeperWallet.signAndPublishTransaction(txData) .then(data => { //data - a line ready for sending to Waves network's node (server) }) .catch(error => { //processing errors });Response: a reply from Waves network returns as a line containing the entire past transaction.Possible errors:Same as signTransaction.{message: "Failed request", data: "Error description", code: 15} – a request was signed but not broadcasted.signTransactionPackageA package transaction signature. Sometimes several transactions need to be simultaneously signed, and for users' convenience, up to seven transactions at ones could be signed. See the description of supported transaction types in Transactions section below.Example:const name = 'For Test';const tx = [ { type: 4, data: { amount: { assetId: 'WAVES', tokens: '1.567', }, fee: { assetId: 'WAVES', tokens: '0.001', }, recipient: 'test', }, }, { type: 4, data: { amount: { assetId: 'WAVES', tokens: '0.51', }, fee: { assetId: 'WAVES', tokens: '0.001', }, recipient: 'merry', }, },];KeeperWallet.signTransactionPackage(tx, name);Sign two transaction:Transfer 1.567 WAVES to the alias test.Transfer 0.1 WAVES to the alias merry.Response: a unit of two lines – transactions that are signed and ready to broadcast.Possible errors:Same as in signTransaction.TransactionsEvery user of Waves network has a state (balances, assets, data, scripts), and every past transaction changes this data. More about transactionsIn Keeper Wallet API transaction format is different from Node REST API. signTransaction, signAndPublishTransaction, and signTransactionPackage accept transactions as follows:{ type: number, //transaction type data: { ... //transaction data }}Keeper Wallet supports the following types of transactions:Issue transaction (type 3)Transfer transaction (type 4)Reissue transaction (type 5)Burn transaction (type 6)Lease transaction (type 8)Lease Cancel transaction (type 9)Create Alias transaction (type 10)Mass Transfer transaction (type 11)Data transaction (type 12)Set Script transaction (type 13)Sponsor Fee transaction (type 14)Set Asset Script transaction (type 15)Invoke Script transaction (type 16)Update Asset Info transaction (type 17)Legend keys:* - optional field, data is automatically supplied from KeeperWallet.[x,y] – length limit from x to y.[,x] – length limit to x.[y,] –Top Waves (WAVES) Wallets - CoinCarp
The console /*...processing errors */ });">const authData = { data: 'Auth on my site' };KeeperWallet.auth(authData) .then(auth => { console.log(auth); //displaying the result on the console /*...processing data */ }) .catch(error => { console.error(error); // displaying the result on the console /*...processing errors */ });or { try { const state = await KeeperWallet.auth(authData); console.log(state); // displaying the result on the console /*... processing data */ } catch (error) { console.error(error); // displaying the result on the console /*... processing errors */ }};const authData = { data: 'Auth on my site' };getAuthData(authData);">const getAuthData = async authData => { try { const state = await KeeperWallet.auth(authData); console.log(state); // displaying the result on the console /*... processing data */ } catch (error) { console.error(error); // displaying the result on the console /*... processing errors */ }};const authData = { data: 'Auth on my site' };getAuthData(authData);auth facilitates input of the following data:name – name of the service (optional field).data – a string line with any data (required field).referrer – a websites' full URL for redirect (optional field).icon – path to the logo relative to the referrer or origin of the website (optional field).successPath – relative path to the website's Auth API (optional field).Example: { //data – data from Keeper Wallet //verifying signature and saving the address... console.log(data); }) .catch(error => { //processing the error });">const authData = { data: 'Generated string from server', name: 'My test App', icon: '/img/icons/waves_logo.svg', referrer: ' successPath: 'login',};KeeperWallet.auth(authData) .then(data => { //data – data from Keeper Wallet //verifying signature and saving the address... console.log(data); }) .catch(error => { //processing the error });If the verification is successful, Keeper Wallet returns to the Promise an object containing data for signature verification:host – host that requested a signature.name – name of an application that requested a signature.prefix – prefix participating in the signature.address – address in Waves network.publicKey – user's public key.signature – user's signature.version – API version.Possible errors:{message: "Invalid data", data: "[{"field":"data","type":"string","message":"field is required"}]", code: 9} – signature data contain errors.{message: "User denied message", code: 10} – the user denied the request.{ message: "Api rejected by user", code: 12 } — the website was previously blocked by the user.How to check signature validitySigned data consists of three parts: prefix (WavesWalletAuthentication string) + host + provided data. All strings are converted to length bytes + value bytes as in Data Transactions. Prefix string and the host is required for security purposes if malicious service tries to use data and signature.We also suggest address validation in case the signature and public key is valid but the address was swapped.TypeScript example code { const chain = typeof chainId === 'string' ? chainId : String.fromCharCode(chainId); const address = libs.crypto.address({ publicKey }, chain); return verifyAuthData({ publicKey, address, signature }, data);};// Obtaining the signatureconst data = await KeeperWallet.auth({ data: '123' });authValidate(data, { host: data.host, data: '123' }); // true">import { verifyAuthData, libs } from '@waves/waves-transactions';const authValidate = ( data: { host: string; data: string }, signature: string, publicKey: string, chainId: string | number,): boolean => { const chain. Waves Wallet listing TGE // Waves Wallet withdrawal start // Waves Wallet Listing February // Waves Wallet Airdrop Telegram Airdrop Link.Waves Wallet Desktop wallet for Waves blockchain. Contribute to waves-wallet/wallet development by creating an account on GitHub.The Best Waves (WAVES) Wallets for WAVES Token in 2025
A virtual wallet that stores information from a credit card, a debit card, coupons, and loyalty cards on a mobile device What is a Mobile Wallet?A mobile wallet is a type of virtual wallet that stores credit card numbers, debit card numbers, and loyalty card numbers. It is accessible through an app installed on a mobile device, such as a smartphone or tablet.Customers use mobile wallets to make in-store payments, and it is a convenient payment method compared to paying with cash or carrying physical credit cards. Mobile wallets are accepted as a method of payment in stores that are listed with mobile service providers.The most popular mobile wallets include Google Pay, Apple Pay, and Samsung Pay. The wallets are integrated into mobile devices, or users can download the application from app stores.SummaryA mobile wallet is a virtual wallet that stores information from a credit card, a debit card, coupons, and loyalty cards on a mobile device.Mobile wallets allow users to make in-store payments without having to carry cash or physical credit cards.The most popular mobile wallets include Google Pay, Apple Pay, Samsung Pay, and PayPal.Understanding Mobile WalletsThe information stored in a mobile wallet is encrypted, making it difficult for cybercriminals to execute fraudulent activities with them. While physical credit and debit cards can be stolen or duplicated, mobile wallets are difficult to steal since they come with encrypted keys that may not reveal any useful information.Once a customer installs a mobile wallet on their mobile device, they are required to provide their credit card details, reward cards, and coupons. The information is then linked to an accepted personal identification format, such as a key or a scannable QR code.When a customer makes an in-store payment, the mobile app uses near-field communication (NFC) technology to communicate between devices. The NFC uses a QR code, key, or another personal identification format to process the payment at the payment terminal. The action is triggered when the user taps or waves the NPC-enabled device at the merchant’s point-of-service terminal.Types of Mobile WalletsThe following are the main types of mobile wallets:1. Open walletsAn open wallet is used directly by a bank or through a third party. Open wallets allow customers to use the funds in the mobile wallet for making payments for transactions or withdrawing the funds deposited to the account in cash. An example of an open mobile wallet is PayPal, which allows users to make payments for in-store and online purchases and still withdraw the funds in cash.2. Closed walletsClosed wallets are linked to specific merchants, and users can only use the funds to make payments for transactions initiated with the specific merchant. Users cannot use the money to make payments for transactions with other merchants and third-party service providers or withdraw the funds in cash. An example of a closed wallet is Amazon Pay.3. Semi-closed walletsSemi-closed mobile wallets allow users to use the funds in the wallet to make payments for transactions with multiple merchants, as long as there is anComments
The right crypto wallet for your Waves Looking for a Waves Wallet to buy and store your Waves? Join 7+ million customers who trust Ledger hardware wallets to securely store their crypto and use them on the day-to-day basis. Mobile & Desktop App Secured by Hardware Wallet Trusted by over 7 million customers Ledger Secured Solution How to secure your Waves ? Whether you’re looking to keep your crypto safe for long-term or manage them on a daily basis, Ledger has the right product for you. Ledger hardware wallet Ledger hardware wallet stores your private keys and signs transactions offline, making them resistant to malicious attacks and threats. Pair the Ledger crypto wallet with Ledger Live App to manage your Waves on the go. Ledger Live App Ledger Live App is a gateway to manage your assets, checking your real-time balance, tracking transaction histories, and more. How to create a Waves wallet? 1 Get a Ledger Nano Select and purchase a Ledger hardware wallet of your choice. Beginner in the crypto world? Get started with Ledger Nano S Plus. Prefer a Bluetooth connection? Try with Ledger Nano X.Get Ledger Nano 2 Download Ledger Live Download and install the Ledger Live app in a couple of clicks on desktop and mobile.Coupled with a Ledger, it makes the most secured wallet for your Waves. 3 Start your Waves journey securely Add a Waves account with a couple of clicks. Choose among different providers and easily manage your Waves. And not only Waves. With Ledger Live, you can manage thousands of crypto and a large variety of NFTs. The best Waves hardware wallet Waves at your fingertips Manage your Waves With Ledger Live coupled with a Ledger, you can:Securely execute transactions by physically validating them with your Ledger Hardware WalletManage your Waves as well as thousands of other crypto assetsTrack your portfolio*Buy, send/receive, swap, stake, and other crypto transaction services are provided by third-parties provider, which availability may vary based on jurisdiction/territory. What is Waves? The Waves blockchain is designed to enable users to create and launch custom crypto tokens. With Waves, creating and trading crypto tokens is made easy as extensive smart contract programming is not required.Instead, users can create and manage tokens through scripts that run in their accounts on the Waves blockchain.The objective is to make token development similar to launching a traditional web application. This is achieved by running programs and applications as attachments to transactions and giving new assets a unique identifier. It’s worth noting that scripts can only be attached at the asset’s creation stage.These tokens are meant to be traded within the Waves ecosystem, which includes its decentralized exchange (Waves.Exchange). This exchange is specifically built to enable the trade of tokens created on the Waves blockchain with other WAVES tokens. Choice of 6,000,000+ customers “Ledger = peace of mind. I'm sure some of us know that unsettling feeling when you know you need a Ledger but haven't quite organized yourself to get it sorted. If I
2025-03-25Keeper Walleten | ruKeeper Wallet is a browser extension that enables secure interaction with Waves-enabled web services.Seed phrases and private keys are encrypted and stored within the extension and cannot be accessed by online dApps and services, making sure that users' funds are always protected from hackers and malicious websites. Completion of a transaction doesn't require entering any sensitive information.Keeper Wallet is designed for convenience, so users can sign transactions with just one click. Users can create multiple wallets and switch between them easily. And if a user ever forgets the password to the account, it can be recovered from the seed phrase.Waves protocol documentationKeeper Wallet APIOn browser pages that operate under http/https (not local pages with file:// protocol) with Keeper Wallet extension installed, KeeperWallet global object becomes available.In KeeperWallet you will find the following methods:publicStatenotificationencryptMessagedecryptMessageonauthsignTransactionsignAndPublishTransactionsignTransactionPackagesignOrdersignAndPublishOrdersignCancelOrdersignAndPublishCancelOrdersignRequestsignCustomDataresourceIsApprovedresourceIsBlockedverifyCustomDataAll methods except for on operate asynchronously and return Promises.In code, you can use TypeScript types.In Keeper Wallet, for greater security and ease of use, each new website using API has to be allowed by the user. At the first attempt to use API (except on), the user will see a request to allow the website to access Keeper Wallet. If the user agrees to allow access, the website is considered trusted and can use API on its pages. Otherwise, the website is blocked, and the error message {message: "Api rejected by user", code: 12} will be displayed in response to all requests. The user won't see new notifications. To grant access, the user has to mark the website as trusted in the interface.Description of methodspublicStateIf a website is trusted, Keeper Wallet public data are returned.Example: { console.log(state); //displaying the result in the console /*...processing data */ }) .catch(error => { console.error(error); // displaying the result in the console /*...processing errors */ });">KeeperWallet.publicState() .then(state => { console.log(state); //displaying the result in the console /*...processing data */ }) .catch(error => { console.error(error); // displaying the result in the console /*...processing errors */ });or { try { const state = await KeeperWallet.publicState(); console.log(state); // displaying the result in the console /*... processing data*/ } catch (error) { console.error(error); // displaying the result in the console /*... processing errors */ }};const result = await getPublicState();">const getPublicState = async () => { try { const state = await KeeperWallet.publicState(); console.log(state); // displaying the result in the console /*... processing data*/ } catch (error) { console.error(error); // displaying the result in the console /*... processing errors */ }};const result = await getPublicState();Response:{ "initialized": true, "locked": true, "account": { "name": "foo", "publicKey": "bar", "address": "waves address", "networkCode": "network byte", "balance": { "available": "balance in waves", "leasedOut": "leased balance" } }, "network": { "code": "W", "server": " "matcher": " }, "messages": [], "txVersion": { "3": [ 2 ], "4": [ 2 ], "5": [ 2 ], ... }}Response fields:initialized – boolean: Keeper Wallet is initialized.locked – boolean: Keeper Wallet is locked (password required).account – current account if the user allowed access to the website, null otherwise.network – current Waves network, node and
2025-03-26Matcher addresses.messages – signature request statuses.txVersion – available transaction versions for each type.Possible errors:{ message: "Init Keeper Wallet and add account" } – Keeper Wallet is not initialized.{ message: "Add Keeper Wallet account" } – Keeper Wallet accessed, but there are no accounts.{ message: "User denied message" } – the user denied the website operation with Keeper Wallet.notificationA method for sending a user a message from the site. You can send message only 1 time in 30 sec for trusted sites with send permission.notification facilitates input of the following data:title – string, 20 chars max (required field).message – string, 250 chars max (optional field).Example:KeeperWallet.notification({ title: 'Hello!', message: 'Congratulation!!!',});Response: Promise.Possible errors:{message: "Incorrect notification data", data: "title has more than 20 characters", code: "19"} – incorrect notification title.{message: "Incorrect notification data", data: null, code: "19"} – incorrect notification data.{message: "Can't sent notification", data: {msg: "Min notification interval 30s. Wait 28.017s."}, code: "18"} – try to send later, you can send 1 message in 30 sec.{message: 'User denied message', data: 'rejected', code: '10'} — the user rejected the request.{message: 'User denied message', data: 'rejected_forever', code: '10'} — the user rejected the request and blocked the website.{ message: "Api rejected by user", code: 12 } — the website was previously blocked by the user or sending messages is not allowed.encryptMessageYou can encrypt string messages to account in Waves network.You need have recipient publicKey.KeeperWallet.encryptMessage(*string to encrypt*, *public key in base58 string*, *prefix: a secret app string for encoding*)Example: { console.log(encryptedMessage);});">KeeperWallet.encryptMessage( 'My message', '416z9d8DQDy5MPTqDhvReRBaPb19gEyVRWvHcewpP6Nc', 'my app',).then(encryptedMessage => { console.log(encryptedMessage);});Possible errors:{ message: "Init Keeper Wallet and add account" } – Keeper Wallet is not initialized.{ message: "App is locked" } – Keeper Wallet is locked (password required).{ message: "Add Keeper Wallet account" } – Keeper Wallet accessed, but there are no accounts.{ message: "User denied message" } – the user denied the website operation with Keeper Wallet.decryptMessageYou can decrypt string messages from account in Waves network to you.You need to have user's public key and the encrypted message.KeeperWallet.decryptMessage(*string to decrypt*, *public key in base58 string*, *prefix: a secret app string for encoding*)Example: { console.log(message);});">KeeperWallet.decryptMessage( '**encrypted msg**', '416z9d8DQDy5MPTqDhvReRBaPb19gEyVRWvHcewpP6Nc', 'my app',).then(message => { console.log(message);});Possible errors:{ message: "Init Keeper Wallet and add account" } – Keeper Wallet is not initialized.{ message: "App is locked" } – Keeper Wallet is locked (password required).{ message: "Add Keeper Wallet account" } – Keeper Wallet accessed, but there are no accounts.{ message: "User denied message" } – the user denied the website operation with Keeper Wallet.onAllows subscribing to Keeper Wallet events.Supports events:update – subscribe for updates of the state.Example: { //state object as from KeeperWallet.publicState});">KeeperWallet.on('update', state => { //state object as from KeeperWallet.publicState});If a website is not trusted, events won't be displayed.authThis is a method for obtaining a signature of authorization data while verifying Waves' user. If the the signature is valid, be sure that the given blockchain account belongs to that user.Example: { console.log(auth); //displaying the result on the console /*...processing data */ }) .catch(error => { console.error(error); // displaying the result on
2025-03-31Did it all again, I'd start with having a Ledger.” Janet Onagah @Janet_Oganah "I got hacked in January and lost 1000s worth of NFTs. I felt disgusted, lost, and willing to quit. Until my friend told me he's ordering a Ledger. So, we bought the duo deal. Since then, I've been sleeping." PrimeNic.eth @primenic_eth “I use multiple Ledgers. Different colours = different uses.Public Wallet. Never touch long term storage. Day to day fund holdings. A back up just in case.” "I have 3 Ledgers. Hot Wallet: minting/drawings etc. Main wallet: store most NFTs. Vault wallet: cold storage of crypto." “I have 5 Ledger total. My personal NFT bag. 1 for testing. And 1 for each of my 3 daughters.” Fanzo 🧢 11.11.22 @iSocialFanz "If I could, I would name my Ledger Hagrid. Cause it's the keeper of my keys." Petrica Butusina @PetricaButusina "My Ledger is already called "Stew". As it is the steward who looks after my crypto & NFTs, so I can sleep at night." Lkmland Crypto 💫 @LkmlandCrypto "Ledger makes cold storage downright easy. My NFTs land infinitely safer and I don’t have to feel as paranoid about connecting to new smart contracts." Cryptocurrencies similar to Waves supported by our hardware wallet Bitcoin, Ethereum, USDT, Solana and more… FAQ Find answers to some of the most common questions. How to secure Waves tokens? When you first buy token, you’re issued with two keys: public and private.A public key serves as an address that can be shared with other parties to perform transactions.A private key represents a randomly generated number that signs transactions and protects your assets from malicious attacks. If it gets compromised or lost, you won’t be able to access your wallet to spend, withdraw, or transfer your cryptos.To safeguard and keep track of your keys, you can use online or offline wallets. Online wallets, also known as hot wallets, store private keys on systems or devices that are connected to the internet. Hot wallets are easy and convenient to use, however, they come with several drawbacks. Besides being susceptible to attacks and a honeypot for hackers, with hot wallets, the custody of private keys is often entrusted to a third party such as a crypto exchange, which means you never have full control over your funds. The safer choice are specialized hardware wallets that store private keys offline. Stealing private keys from a hardware wallet would require physical access to the wallet and corresponding PIN or the recovery phrase. What’s more, with hardware wallet, you don’t need to rely on third party custodians. Can Ledger Nano wallet protect my Waves coins? Ledger Nano is the industry-leading hardware wallet. With more than five million customers, Ledger Nano wallets have several layers of security that protect private keys, and hence your assets:Your private keys are stored on secure element chips.A PIN code and a 24-word recovery phrase are required to access the wallet.Ledger Nano hardware wallets have been built using highly durable materials for protection against physical damage.With
2025-03-27Full isolation between private keys and your computer/mobile, Ledger Nano wallets keep your keys secure and give you complete control over your cryptocurrencies. How to secure Waves tokens? When you first buy token, you’re issued with two keys: public and private.A public key serves as an address that can be shared with other parties to perform transactions.A private key represents a randomly generated number that signs transactions and protects your assets from malicious attacks. If it gets compromised or lost, you won’t be able to access your wallet to spend, withdraw, or transfer your cryptos.To safeguard and keep track of your keys, you can use online or offline wallets. Online wallets, also known as hot wallets, store private keys on systems or devices that are connected to the internet. Hot wallets are easy and convenient to use, however, they come with several drawbacks. Besides being susceptible to attacks and a honeypot for hackers, with hot wallets, the custody of private keys is often entrusted to a third party such as a crypto exchange, which means you never have full control over your funds. The safer choice are specialized hardware wallets that store private keys offline. Stealing private keys from a hardware wallet would require physical access to the wallet and corresponding PIN or the recovery phrase. What’s more, with hardware wallet, you don’t need to rely on third party custodians. Can Ledger Nano wallet protect my Waves coins? Ledger Nano is the industry-leading hardware wallet. With more than five million customers, Ledger Nano wallets have several layers of security that protect private keys, and hence your assets:Your private keys are stored on secure element chips.A PIN code and a 24-word recovery phrase are required to access the wallet.Ledger Nano hardware wallets have been built using highly durable materials for protection against physical damage.With full isolation between private keys and your computer/mobile, Ledger Nano wallets keep your keys secure and give you complete control over your cryptocurrencies.
2025-04-09