Important updates
"Are my coins really worth $5?" and other FAQ's
Getting started
To get started with Wallet you need to be registered & logged into whatever platform you are accessing the bot on. For example on Freenode IRC ensure that you have registered and identified with NickServ on Freenode. You can register using the following command:
/msg NickServ REGISTER <password> <email-address>
Once registered & logged in, you are ready to go. There's no need to create an account with Wallet. You can increase your account balance in two ways; receiving coins through faucet/tips/soaks/games, or through depositing directly from a wallet or exchange. (See deposit command)
Coins
To view all the coins that Wallet current supports use the following command:
.coins list
<Wallet> Bill48105: Supported coins: BTC CORG DOGE DOGET GRLC LDOGE LTC MNC PIGGY ROGER SOON SYS VTC XMR XVG XZC - Usage: .ltc balance -or- .balance $LTC
NOTE: The default trigger prefix is . (dot) but it might vary depending
on how you access Wallet. For example if the prefix is ! you'd use:
!coins list
Or on reddit you just mention the bot:
/u/walletbot coins list
Since Wallet supports multiple coins, there is a global default coin of DOGE and each channel has ability to set their own default coin as well. But you can always choose an available coin when issuing commands:
.btc balance
<Wallet> Bill48105: • Your balance is: 0.0000006 BTC (≈0.03 USD)
.tip Bill48105 0.1 XMR
<Wallet> Bill48105 tipped 0.1 XMR (≈$27.87) to Bill48105 [abcdef].info $btc
<Wallet> Bill48105: Bitcoin (BTC) • Ver: 160000 • Proto: 70015 • Blocks: 671364 • Diff: 21724.13B • Conn: 8 • Last: ≈31.04 min • Avg: ≈6.79 min • Confirm: ≈1 hr 34 min
reddit:
/u/walletbot balance $ltc
NOTE: You can select the coin in any 1 of the 3 ways shown on most platforms.
Commands and coins are NOT case sensitive.
Help
You can get a list of available commands issuing the help command:
.help
<Wallet> Bill48105: I'm a cool multi-coin multi-platform bot by Bill48105. Docs: https://bill48105.github.io/wallet/ | My core commands: .balance .deposit .faucet .ping .soak .tip .val .withdraw | .help <games|share|misc|other> to see others | .help <cmd> for more details.
You can help get detailed help & example usage on a particular command:
.help coins
<Wallet> Bill48105: Help: .coins <list|set> - list shows available coins. set saves current coin as default
Deposit
To deposit into your account use the following commands to receive your deposit addresses:
.deposit
.btc deposit
reddit:
/u/walletbot deposit $ltc
Withdraw
To withdraw coins from your account use the following commands: (Minimum & fee vary by coin)
.withdraw <address> <amount|all>
.ltc withdraw <address> <amount|all>
.xmr withdraw <address> <amount|all>
reddit:
u/walletbot withdraw <address> <amount|all> $DOGE
Balances
To see how many coins are in your account use the following commands:
.balances
.roger balance
.bal $ROGER
Soak
A soak allows a user to choose a specific amount of coins to be distributed evenly among the recently active users within a channel.
Example: When there are 10 active users in a channel and a user decides to soak 100 coins each active user will receive 10 coins each.
To soak use the command: (<minutes> is optional - Default is try to get last 10 users)
.soak <amount> <minutes>
.ltc soak $0.10 (Soaks 10 cents worth of ltc)
.soak 100 $ROGER 1440 (Soaks 100 ROGER to all people active in last 24 hours)
Soak walkthrough
This walkthrough will show and explain what happens when a soak occurs in the channel. Often times new users are confused about what the response from Wallet means after a soak so this walkthrough aims to breakdown the response and explain each part thoroughly.
A user soaks 10 DOGE (default coin) in the channel as so.
.soak 5
Wallet then outputs something that looks like the following:
<Wallet> user1 soaked 0.5 DOGE each: 10 users [abcdef]
Breakdown of the response
Wallet will first split the soak evenly between all active users, 50 in this case so each user will receive 0.2 coins each.
<Wallet> user1 soaked 50 with 0.2 DOGE each
Scraps & Community funded @bonuspot
Any left over coins that cannot be divided as whole coins will go to the community @bonuspot as scraps, 0 coins in this case. Scraps go to @bonuspot balance and are used to fund community features such as faucet, confetti ducks, games, etc.
Soaked users
The last part of the syntax is the users who are included in the soak, these are users who are active in the channel either by talking within the last X minutes. This allows users to be notified when they are included in soaks.
user2 user2 user3 user4 user5
If the list is to large the bot will only display a random subset & a code that you can use whogot command to lookup who was included
user2 user2 user3 user4 user5 (+15 more) [abcde]
.whogot abcde
<wallet> user1 -> user15 + 17 others.
Reserve
Reserves are secondary balances separate from the one used for tipping and soaking. Your reserve can be useful to put away coins that are not show in your balance by default (privacy when doing balance in channel) or since coins can -only- be used with 'release' command, helps prevent accidental use like .soak all etc
Balances
.balance reserve
<wallet> Bill48105: Your reserve balance is 117 DOGE
.ltc balance reserve
.balance reserve $roger
Adding to Reserve
.reserve <amount>
.btc reserve 0.0001
.reserve 0.001 $LTC
Releasing from Reserve
.release <amount>
.ltc release 0.00001
.release 10 ROGER
2 Factor Authentication (2FA)
2FA is an optional yet recommended piece of security offered to
users.
2FA runs in 1 of 4 modes that can be set on a per-user basis:
- Disabled
- Classic (release from reserve only)
- Default (any command that moves coins)
- Full (ALL commands except unlock, ping & help)
WARNING! Only run set in PRIVATE! (PM/DM/messages etc)
While you can run confirm in a channel it's best to do in private as
well
.secret <set|confirm>
Actions: set clear
- set: Bot PM's your 16 char TOTP 2FA (ie Google Authenticator, authy etc) key.
- confirm <2FA code (6 digit no spaces)> Use code from your 2FA app (NOT YOUR SECRET) to activate 2FA.
Unlocking 2FA
To unlock 2FA to release coins from your reserve you must use the following command: (Your reserves will remain open for 120 seconds or the number of seconds specified. 0 unlocks for 1 day)
.unlock <2FA code (6 digit no spaces)> <seconds>
Locking immediately
The bot auto locks after the specified time but you can force a lock:
.lock
Tip
You can send another user a tip using the following command:
.tip <user> <amount>
.ltc tip <user> <amount>
reddit reply:
/u/walletbot tip <amount> <coin>
Jackpot
The jackpot command lets users donate to the community @bonuspot with a chance to multiply their donation sharing with active users with a soak or reward:.jackpot <amount>
Random
Will randomly tip <amount> to random user(s).
- You can specify <multiple> users, defaults to 1.
.random <amount>
.random <amount>x<multiple>
Value
Val compares two coins or currencies.
.val <amount> <coin|currency> <coin|currency>
(If not amount is entered then a shorter summary is shown)
HINT: Most coins have automatic shortcut!
.doge
.btc
Rankings
User rankings can be viewed in several different ways.
- View the top 10 users.
- View your rank for <days>, defaults to 1
.top10 <days>
.top20 <days>
.myrank <days>
Reward
Shares a proportional percentage of the <amount> to the top 10 or so suers.
- Can specify <days>
.reward <amount>
.reward <amount> <minutes>
Active
You can check the active count with:
.active
Whosent
You can check who has tipped or shared coins with you using the following command:
.whosent
Idletime
You can check your idletime available in each <channel> via PM:
/msg Wallet idletime <channel>
You can also check your idletime from the channel directly.
.idletime
Last Seen
To check the last time a <user> spoke in the channel use the following command:
.seen <user>
Countdown
Displays the countdown to the bot's birthday as well as the dogecoin birthday.
.countdown
Donations
Donations can be made to help fund the bot & various other
approved funds.
DOGE funds include:
- Wallet (Goes to bot developer & owner Bill48105)
- @devfund (Goes to DOGECOIN official devs)
- @bonuspot (Goes to shared community pot used to fund faucet games etc)
- @dogecoinfah (Goes to soco's dogecoin folding@home)
- @androidwallet (Goes to Langerhans Android wallet fund)
(NOTE: You can specify a fund or if none is specified one is chosen randomly)
.donate <fund> <amount>
Exchange Check
The bot allows you to check the exchange rate of many currencies directly with commands. The available coins are as follows:
.btc
.doge
.roger
Miscellaneous Commands
The bot can do many many more interesting things. Here are just a few of the fun commands available:
.8ball <Question>
.c ℉ to convert to ℃
.f ℃ to convert to ℉
See .help command where commands are broken down into "core" and various groups by type.
Maintaining Account & Dormancy Policy
The bot does not require creation of an account or logging in because it relies on the authentication of each platform and then uses the services of that platform to ensure you are logged in and account you are logged in as. This is convenient but also poses some security risks for each user to consider:
IT IS HIGHLY RECOMMENDED ALL USERS SETUP & USE 2FA ON THE BOT!
- If your user account on that platform is hacked or compromised, whoever logs in as you will be seen as you for bot use, including having access to your balances.
- If you lose access to your user account on a given platform, you will lose access to that account on the bot, including access to your balances.
- If a platform suspends, locks, or deletes your user account, you will lost access to that account on the bot, including access to your balances.
- If a platform allows users to register previously used accounts, the bot will use that account for bot access including potentially accessing the balances of a previous user.
So what does all of that mean? Your bot account is only as secure as the account you login as on any given platform.. You should protect your accounts with best-practice strong passwords (never re-used!), and utilize advanced security features such as 2FA if they offer it. But in addition it's highly recommended that you setup & enable TOTP 2FA on the bot too! Why? Not all platforms offer or support 2FA but that 2FA only protects login to that account and DOES NOT protect against account re-use abuse or or other attacks on your bot account since once someone is logged into a given platform, the bot assumes that user also has access to your bot account.
To help mitigate these attacks and help keep your bot account safe the bot has the following dormancy & recovery policy:
- Bot accounts of users without 2FA enabled not accessed for 90 days will be auto locked.
- Bot accounts of users with 2FA enabled not accessed for 6 months will be auto locked.
- All bot accounts of users not accessed for 1 year will be automatically purged as dormant.
Accounts may be unlocked or recovered from dormancy, depending on the status of your platform account. The factors vary by platform but include such things as the age (date of registration), but mostly if you can provide reasonable proof that a bot account is yours. Since the bot does not collect personal information from users, the best way to do that is having had setup 2FA on the bot BEFORE the lock or dormancy happens..
"Are they MY coins when they're on the bot?"
Well not really.. Why not?:
The holder of the wallet & keys is in control of the coins.
In short: If they're not in your wallet, they're not technically yours..
"Wait what?!"
Put another way:
Never store coins outside your own control you are not willing to lose.
This is true of ANY online wallet or service, including bots.
Let's explain.. When you deposit coins into the bot, when
someone tips you coins on the bot, all user balances on the bot are
"off chain". Meaning they are tracked outside of the normal wallet
chain allowing for instant transfers without fees. For that
convenience you're putting your trust in whoever holds your coins
while "off chain", including the understanding that while reasonable
effort to track and protect your balances, and reasonable effort to
provide use of the bot including withdrawal of your balance to an
address on the chain (your own wallet, exchange etc), there
is no guarantee against loss no matter the cause.
So what are best practices for wallets, online wallets, or
bots?
- Diversify your balances between wallets you hold & online services/bots.
- Hardware wallets are safest. Official wallets next. Phone wallets are risky.
- Keep balances in online services/bots at minimum needed for use
- Assess the risk of ANY wallet. Even your own wallet has risks. BACKUP!
- Keep your keys/passphrases private and stored safely. BACKUP!
- Yes backing up is THAT important when managing your own wallet.
Credits
The bot wouldn't be possible without the work of others who made
& support the OS, libraries, crypto currency wallets, online
platforms, and various tools to make & maintain it.
Here is a list with links as thanks for their efforts:
- Ubuntu
- Python
- Discord
- Freenode
- Telegram
- Matrix
- Keybase
- Rizon
- Dogecoin
- Rapptz discord.py
- szastupov aiotg
- PRAW
- matrix-nio
More to come!
FAQ
- "Are my coins really worth $5?" - The bot uses market data from multiple exchanges & aggregate sources to ESTIMATE what your coins MIGHT be worth. So the short answer is maybe. The longer answer is more complicated. Basically things are worth what someone will give you for it at a given point in time, be it manure or cryptocurrency. No the bot is not offering you that, nor it is guaranteeing you could get that. Because what you might get depends on many factors from transfer/trade fees to the market at any given moment, which market pair you traded with, among other things.
- "Why does xtip warn me about value?" - When you create a person to person cross-tip swap with xtip, the bot uses current market data to ESTIMATE what the coins you use are worth to calculate APPROXIMATION of how many of the coins you want. Since the value (as in what people are offering, asking or actually traded for) of coins can vary between exchanges, the bot uses the average of the most recent data which normally is normally minimal effect for common popular coins with plenty of volume & arbitrage to keep gaps between markets narrow. But for some coins the gaps can be HUGE, resulting in confusion of value & resulting in the bot alerting you to discrepancies during xtip. The notice is not meant as an error but rather a "heads up" that you might get more (or less) using a different path from coin1 to coin2. (Say going to BTC or LTC first then to coin2 vs directly) It's up to you if you are concerned with the potential gap the bot is alerting you to.
- "What's this about market gaps then?" - The simplest example is say you wanted to buy or sell BTC, if you go to 5 exchanges you'll see each one has a different price. In fact some people take advantage of this and buy on 1 cheaper exchange and sell on another higher priced one for a profit, aka arbitrage trading. But realize these gaps happen within any given exchange too, between market PAIRS. DOGE for example might be traded in USD, BTC, LTC & others. The price is given in that pair's base coin/fiat so to buy/sell DOGE on BTC it's BTC, on LTC it's LTC etc. Because those markets are independent of each other their prices fluctuate to the point there ends up a gap in the USD value of each. When a coin has a BTC pair with 1 satoshi floor where there's no sub-satoshi option, it's often the case where the market gap for some coins is HUGE.
- "How does the bot estimate the USD/$ value of coins then?" - The bot uses available market data from multiple sources. Where a USD pair exists for a coin, the data from multiple sources is averaged & used. Otherwise a coin that does, such as BTC, must be used as an intermediary path to get to USD. Why? Because that's how a person would normally do it.. If you had DOGE and no USD pair existed you'd would trade your DOGE for BTC then trade your BTC for USD. So doing that to estimate value is logical. The caveat is that which coin you use as intermediary can make a huge difference in the net result.. Market gaps (value of a coin on 1 market vs another) come into play but specifically the "satoshi floor" effect can REALLY make for huge discrepancies.
- "Wait, what 'satoshi floor' effect?" - Since BTC has historically been the most common trading pair most every coin is traded in it. Bitcoin units go down to 1 satoshi, or 0.00000001 BTC worth, but some coins are worth less than 1 satoshi based on the current price on other markets. Say a coin is worth 0.001 DOGE (1/1000th) and DOGE is worth 0.00000100 BTC (1/1,000,00th). So that coin is worth 1/10th less than 1 satoshi, the lowest fraction of Bitcoin. Some exchanges support sub-sat markets so the satoshi floor effect doesn't happen. But for exchanges that honor 8 places, it can cause HUGE market gaps since a coin will be worth 1 satoshi on BTC pair but 1/10th of a satoshi on another, with millions of sell orders at 1 sat that go unfilled, while there's volume on the other market being more common. Some argue the market with highest trading volume is the actual value, while others claim the BTC value is since the market exists with orders & BTC is traditionally the "de facto" market.
** INVITING THE BOT **
While Wallet bot is available on many platforms, some utilize specific requirement & processes to add or invite bots to servers/channels. In addition, the bot will be restricted where it's available to help manage resources & avoid issues on certain platforms. Below is a list of some details:
- Discord: Use this link to add to your server: Invite (Must have server pre-approved!)
- Others: Contact Bill48105
For platforms like Discord that support self-adding the bot using invite link, you must request approval in advance or the bot will automatically leave if you attempt to use it where not authorized.
** WHAT'S NEW **
- Optional PM/DM deposit alerts (use 'alerts' command to toggle)
- More reliable IRC module
- join command for approved IRC channels
** IMPORTANT DISCORD UPDATE **
December 2021
Big changes at Discord regarding bots.. Here's a few links you can read about it but basically a lot is up in the air at this point as far as all bots including Wallet and if they'll still work at all depending on what library is used, if functionality from commands to bridging to moderation tools will still work, if bots will be approved in time or which bots Discord feels has proven an actual need for message intents, etc. The intention is to keep Wallet available on Discord and retain all functionality but that may not be possible. More will be known the closer we get to the deadline but in the meantime please refer to the Best Practices section of the bot docs.(It's highly recommended you have 2FA setup on Wallet to help identify you for recover if it comes to that)
Info on the changes:
Danny (Rapptz) Discord.py Announcement
Linus Tech Tips Discord.py Deprecated Discussion
** IMPORTANT FREENODE UPDATE **
June 2021
Wallet bot had continuously been on freenode for over 6 years with 1000's of users in dozens of channels. Unfortunately in June 2021 freenode staff migrated to new IRC software with little notice, wiping all user & channel registrations in the process. Since Wallet bot relies on the underlying platform to verify users are logged in and which account they are logged in with, doing so essentially wiped all user freenode balances as Wallet is no longer able to verify those users & link them to the correct bot account. So Wallet was immediately shutdown on freenode to protect user bot balances from being accessed by others. If there is enough demand, Wallet may be re-launched on freenode at a future time. In the meantime former freenode users can access & use Wallet & all Wallet features they've grown to love on one of the following platforms:<Wallet> Bill48105: Status: • discord: On • libera: On •
telegram: On • keybase: On • matrix: On • reddit: On • slack: On •
hmail: On • rizon: On • oftc: On • twitch: On • freenode: Off
"WHAT ABOUT MY COINS?!"
Efforts have been underway to manually verify users & migrate balances to one of the other platforms. Users who had 2FA enabled on their freenode account on Wallet are getting priority migration as that makes the process more reliable & simpler. (Another reason to get 2FA enabled ASAP on ALL platforms for situations such as this..) For those who did not, the process is more time-consuming & arduous but they're being worked thru as well. In either case, reach out to Bill48105 on one of the available platforms.
WARNING: DO NOT SHARE PERSONAL INFO WITH ANYONE!
Especially not your 2FA secret, freenode password, to be sent coins to recover, etc! You will NOT be asked for those things, even by "Bill48105" or anyone else related to Wallet. Be sure you verify you are speaking with the ACTUAL Bill48105 in one of the official coin or bot channels and do not assume you are.
TERMS OF SERVICE - Updated April 2022
The bot is provided as-is without warranty or guarantee of suitability to use as a community service made & supported by volunteers. Use of the bot should be seen as a privilege & not a right and access to the bot can be disabled or terminated at any time for any reason, without prior warning or reason provided at the time of termination. In the event your access to the bot is disabled, you can request a review of the circumstances that lead to your access being terminated with restoration at the sole discretion of the bot operators. In the event your access has been terminated, you may request a list of your balances & be provided access for withdrawal of any non-dust balances (greater than minimum required to withdraw), or they will be considered a donation to the community pots and/or to bot operators. If your access to the bot is terminated due to abuse, scamming, scheming, theft, then you forfeit access to coins in your balances. If your access is limited due to technical issue or other reason you did not cause, access will be restored as soon as possible to do so safely. In the event of bug or other issue where coins were deposited or transferred into your account by mistake, that transaction could be reversed.
PRIVACY POLICY - Updated April 2022
Just like other users, the bot may be able to see/read what you or other users say in channels or areas where the bot has joined or has read access to. That ability is required for bot functionality and is only used for such, along with diagnostics & logging required to support the bot & its use. The data collected & stored is not shared for other purposes. You can opt out of the bot having access to what is said by adjusting the channel permissions (as available), requesting a given channel be added to "ignore" list, removing the bot (ie kicking it), or by requesting you or a specific account be added to "ignore" list. Note that any of the above will disable functionality of the bot. (ie. commands will no longer work)