Author

Topic: [ANN] Open Source - Bitcoin Wallet as a Service (Read 284 times)

hero member
Activity: 692
Merit: 569
Feel free to get back with suggestions or comments
I'm a little bit confused about the name and scope of the project.

Is it an SPV Bitcoin wallet that runs as a daemon and is interfaced through an HTTP API? (And has the extra feature of batched transactions)
Is the API supposed to be user-facing or is it supposed to be used by yourself / an application you are developing (such as exchange, online casino, etc.)?

Because 'as a service' usually suggests that it's hosted by one entity and accessible by many others (who are then using this service). These can in turn be developers as well, or end users.
But if you host it for yourself / for your application or whatever, it doesn't really fit the classical SaaS definition.

Yes it may not fit the classical Saas defintion. However, there is a big push towards self hosted services that provide API access. This is for independence and security reasons. Bitcoin Wallet services, there are similar other projects, feel free to have a look at
https://www.reddit.com/r/Bitcoin/comments/v7z40w/bitcoin_wallet_as_a_service_an_open_source_list/
hero member
Activity: 882
Merit: 5834
not your keys, not your coins!
Feel free to get back with suggestions or comments
I'm a little bit confused about the name and scope of the project.

Is it an SPV Bitcoin wallet that runs as a daemon and is interfaced through an HTTP API? (And has the extra feature of batched transactions)
Is the API supposed to be user-facing or is it supposed to be used by yourself / an application you are developing (such as exchange, online casino, etc.)?

Because 'as a service' usually suggests that it's hosted by one entity and accessible by many others (who are then using this service). These can in turn be developers as well, or end users.
But if you host it for yourself / for your application or whatever, it doesn't really fit the classical SaaS definition.
newbie
Activity: 8
Merit: 0
I am interested to know what is the use case of actually sending fee to admin user in each transaction vs just cutting  5% off the send amounts. Admin user can withdraw anytime as anyway he is having complete access to wallet. Note that if you create extra send output for each payment you are increasing the tx size which would result in higher tx fee as well.

Some services like a Bitcoin exchanges, mixers or marketplaces or shops could use this feature.
If the A wan'ts to pay B 0.01 BTC, A needs to add 0.001 (for a fee) to the sendet amount.
But is the fee just is 5%, the admin would make more income (bigger bitcoin amount = more fees income for the admin)
and the A don't need to pay more than he has.

Btw, could you add multisignature address support, so the admin can't access the funds.
hero member
Activity: 692
Merit: 569
Nice work, I modified the source code a bit for my needs.

Could you implement a fee system?
For example: User A wan'ts to make a TX to user B,
the admin (user C) get's 5% of the sendet amount.

Yes Fee system would be quite easy to implement. Feel free to create a pull request with configuration or create an Issue on the github repo.

I am interested to know what is the use case of actually sending fee to admin user in each transaction vs just cutting  5% off the send amounts. Admin user can withdraw anytime as anyway he is having complete access to wallet. Note that if you create extra send output for each payment you are increasing the tx size which would result in higher tx fee as well.
hero member
Activity: 692
Merit: 569
3. Mentioning exact/tested version of Python library used would be great. Who knows if the library suddenly change their API.
3. It needs python3. As mentioned it internally uses Electrum-4.2.1 library so all dependencies of electrum apply. Thanks for the suggestion, we will mention that as well

I can see it needs Python 3.8 and Electrum 4.2.1 from installation guide. But to be specific, i mean dependency of Wallet Service. For example,

Code:
pip install sqlalchemy==1.4.39 requests==2.28.1 ...


Yes its inside the Installation section
Quote
pip install sqlalchemy requests sanic cryptocode
newbie
Activity: 8
Merit: 0
Nice work, I modified the source code a bit for my needs.

Could you implement a fee system?
For example: User A wan'ts to make a TX to user B,
the admin (user C) get's 5% of the sendet amount.
hero member
Activity: 692
Merit: 569
hero member
Activity: 692
Merit: 569
Few thought and question,
1. I see few API has wallet_password parameter and i couldn't find anything about HTTPS/secure connection. Is it right to assume developer must setup HTTPS by themselves (e.g. by using reverse proxy)?
2. Does the software open/load all wallets all the time?
3. Mentioning exact/tested version of Python library used would be great. Who knows if the library suddenly change their API.


1. Yes the developer must use HTTPS by themselves. You can also use reverse proxy or just bind the service only to localhost so that only your webapp can access it
2. The wallet is loaded only when API command is executed.
3. It needs python3. As mentioned it internally uses Electrum-4.2.1 library so all dependencies of electrum apply. Thanks for the suggestion, we will mention that as well



Feel free to get back with suggestions or comments
Are there any fees for this wallet service or is it completely free?
It's not clear to me if I can use this wallet standalone or I need to use Blockonomics merchant page.
I saw on Blockonomics website there is 1%, with first 20 payments being free, but I am not sure if that is for complete package or not.


It is open source and completely free and you are in custody of the private keys. To clarify architecture, it is just a webapp service layer on top of electrum wallet. So you don't need to depend on anything else other than electrum. Note that electrum internally uses SPV servers to get blockchain data

Blockonomics can be optionally used to receive bitcoin to the same wallet (as blockonomics uses  wallet xpub to help you accept BTC). This is just for convenience and will give you more merchant analytics and web UI (for which you have to pay the 1% fee). But this not at all necessary.  This service itself  is completely independent. There is no link / call to blockonomics servers anywhere in the source code   

[moderator's note: consecutive posts merged]
legendary
Activity: 2212
Merit: 7064
Feel free to get back with suggestions or comments
Are there any fees for this wallet service or is it completely free?
It's not clear to me if I can use this wallet standalone or I need to use Blockonomics merchant page.
I saw on Blockonomics website there is 1%, with first 20 payments being free, but I am not sure if that is for complete package or not.
legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
Few thought and question,
1. I see few API has wallet_password parameter and i couldn't find anything about HTTPS/secure connection. Is it right to assume developer must setup HTTPS by themselves (e.g. by using reverse proxy)?
2. Does the software open/load all wallets all the time?
3. Mentioning exact/tested version of Python library used would be great. Who knows if the library suddenly change their API.
hero member
Activity: 692
Merit: 569
About
Open Source Wallet as a Service that provides easy to use REST API endpoints for sending/receiving bitcoin

How is this different
  • Supports automatic batching to minimize fee- Very useful when sending funds out in time of high network congestion
  • Gets up running instantly - No need to wait for days to sync blocks
  • Is lightweight and can run on simple 5$ VPS - Unlike bitcoin core and similar disk / memory heavy daemons

Github Source
https://github.com/blockonomics/wallet_service

Feel free to get back with suggestions or comments

Jump to: