Bitcoin Forum
April 27, 2024, 10:05:37 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2] 3 »  All
  Print  
Author Topic: We are working on an API for Bitcoin!  (Read 676 times)
xuzerBTC (OP)
Jr. Member
*
Offline Offline

Activity: 32
Merit: 41


View Profile
April 14, 2023, 06:21:26 PM
 #21

Hello. I run this website  where I get some blockdata from mempool.space

This tool below shows the balance of multiple addresses.
I am struggling to find an api which would allow to check dozens or hundreds of addresses

https://bitcoindata.science/bitcoin-balance-check.html

However,  this is just a hobby and I have no money to support your project

But maybe some partnership could benefit us both.

Take a look if I can use your api.

I had 6k unique visitors last month

Right now we return the total balance for multi addresses. Let me see what we can do. I try to implement it in the next couple of days. Then we can talk about a possible partnership.
1714255537
Hero Member
*
Offline Offline

Posts: 1714255537

View Profile Personal Message (Offline)

Ignore
1714255537
Reply with quote  #2

1714255537
Report to moderator
1714255537
Hero Member
*
Offline Offline

Posts: 1714255537

View Profile Personal Message (Offline)

Ignore
1714255537
Reply with quote  #2

1714255537
Report to moderator
"If you don't want people to know you're a scumbag then don't be a scumbag." -- margaritahuyan
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714255537
Hero Member
*
Offline Offline

Posts: 1714255537

View Profile Personal Message (Offline)

Ignore
1714255537
Reply with quote  #2

1714255537
Report to moderator
1714255537
Hero Member
*
Offline Offline

Posts: 1714255537

View Profile Personal Message (Offline)

Ignore
1714255537
Reply with quote  #2

1714255537
Report to moderator
OmegaStarScream
Staff
Legendary
*
Offline Offline

Activity: 3458
Merit: 6099



View Profile
April 16, 2023, 11:02:55 AM
 #22

I understand that the API is currently free, but I would imagine there are still some limits on how many requests one can make per second or minute?

Also, regarding this: https://btc-docs.merapi.io/#lock-on-address

It says "incoming" transactions. Do you have something similar for outgoing transactions?


█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
xuzerBTC (OP)
Jr. Member
*
Offline Offline

Activity: 32
Merit: 41


View Profile
April 16, 2023, 01:29:46 PM
Last edit: April 16, 2023, 03:01:11 PM by xuzerBTC
 #23

I understand that the API is currently free, but I would imagine there are still some limits on how many requests one can make per second or minute?



No limit ATM, But eventually we are going to do that. note that we are running the service on a not-very-powerful server, soon we plan to migrate that to a much better set of servers.

Also, regarding this: https://btc-docs.merapi.io/#lock-on-address

It says "incoming" transactions. Do you have something similar for outgoing transactions?



Yes, try https://btc-docs.merapi.io/#spent-to-address
and I am going to make some changes to the documentation, it has many typos which don't look good(Sorry for that!)

Update:
I made some changes to the docs and some links were changed.
so, these two are the new ones:
https://btc-docs.merapi.io/#lock-to-address
https://btc-docs.merapi.io/#spent-from-address
xuzerBTC (OP)
Jr. Member
*
Offline Offline

Activity: 32
Merit: 41


View Profile
April 16, 2023, 03:04:53 PM
 #24

Hello. I run this website  where I get some blockdata from mempool.space

This tool below shows the balance of multiple addresses.
I am struggling to find an api which would allow to check dozens or hundreds of addresses

https://bitcoindata.science/bitcoin-balance-check.html

However,  this is just a hobby and I have no money to support your project

But maybe some partnership could benefit us both.

Take a look if I can use your api.

I had 6k unique visitors last month

added this:
https://btc-docs.merapi.io/#get-balance-of-multiple-addresses-seperately

Please check this out, and let me know what you think.


P.S
Please send an email to me so we can catch up.
arabspaceship123
Full Member
***
Offline Offline

Activity: 868
Merit: 190


I'm a web developer. Hire me for your work.


View Profile WWW
April 18, 2023, 05:06:48 PM
 #25

https://btc.merapi.io/swagger doesn't work. Web server is down Cloudflare 521.

██████████   ARABSPACESHIP 123     سفينة الفضاء العربية ١٢٣   ██████
|  | ||     |   
avatar & signature available to rent   |     || |  |

█████████████████  
Hire me to design your websites   █████████████████
xuzerBTC (OP)
Jr. Member
*
Offline Offline

Activity: 32
Merit: 41


View Profile
April 19, 2023, 06:32:33 AM
 #26

https://btc.merapi.io/swagger doesn't work. Web server is down Cloudflare 521.

Sorry for that, it was a server failure! trying to migrate to a better servers soon.
OmegaStarScream
Staff
Legendary
*
Offline Offline

Activity: 3458
Merit: 6099



View Profile
April 22, 2023, 03:04:23 PM
 #27

Is the API down at the moment? I'm trying to use Socket to watch an address and I keep getting a timeout error. I'm basically doing the exact same as you are doing in the documentation, just in Python instead:

Code:
import socketio

sio = socketio.Client()
sio.connect('https://btc.merapi.io/global')

@sio.on('spent-address-X_ADDRESS')
def on_spent_address(data):
    print(data)

sio.wait()


█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
xuzerBTC (OP)
Jr. Member
*
Offline Offline

Activity: 32
Merit: 41


View Profile
April 22, 2023, 03:16:22 PM
Merited by OmegaStarScream (2)
 #28

Is the API down at the moment? I'm trying to use Socket to watch an address and I keep getting a timeout error. I'm basically doing the exact same as you are doing in the documentation, just in Python instead:

Code:
import socketio

sio = socketio.Client()
sio.connect('https://btc.merapi.io/global')

@sio.on('spent-address-X_ADDRESS')
def on_spent_address(data):
    print(data)

sio.wait()



I am really sorry for that, yes it is down. The server has crashed down for some reasons and the support team is not responding to my tickets. I will let you know when it is back online.
P.S
It is my first priority to find a better server so we don't face such issues in future.
OmegaStarScream
Staff
Legendary
*
Offline Offline

Activity: 3458
Merit: 6099



View Profile
April 22, 2023, 03:24:58 PM
 #29

I am really sorry for that, yes it is down. The server has crashed down for some reasons and the support team is not responding to my tickets. I will let you know when it is back online.
P.S
It is my first priority to find a better server so we don't face such issues in future.

What are you currently using? Have you considered using AWS API Gateway? There's a free tier available, so that's 1 million API calls received free (per month) for the first year.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
xuzerBTC (OP)
Jr. Member
*
Offline Offline

Activity: 32
Merit: 41


View Profile
April 24, 2023, 05:31:21 PM
 #30

I am really sorry for that, yes it is down. The server has crashed down for some reasons and the support team is not responding to my tickets. I will let you know when it is back online.
P.S
It is my first priority to find a better server so we don't face such issues in future.

What are you currently using? Have you considered using AWS API Gateway? There's a free tier available, so that's 1 million API calls received free (per month) for the first year.

we are using a server from a datacenter (not AWS, too expensive for us ATM), the ideal situation is to use a set of servers to handle data loss and service outage.

the service is up BTW
witcher_sense
Legendary
*
Offline Offline

Activity: 2310
Merit: 4313

🔐BitcoinMessage.Tools🔑


View Profile WWW
April 25, 2023, 07:54:27 AM
 #31

My question is about the design of your API, particularly I am interested in why you have decided to use POST methods for some operations, for example:

1. Get UTXO of multiple addresses
2. Get balance of multiple addresses
3. Get history of addresses
4. Get transactions by IDs

Can't this information be obtained via simple GET request that doesn't imply modification of server data? For example, the list of addresses or transaction IDs could be included in a request URL directly as a query string. Or is it done for privacy purposes to prevent others to intercept potentially sensitive information? Sorry, if my question doesn't make sense, I am still new in API development.

Would you mind adding some additional functionality to make the life of developers and regular user even easier? For example, I would like to have an option to specify fields when making a GET request, search addresses by first characters, sort them by balance or filter them by specific condition.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
xuzerBTC (OP)
Jr. Member
*
Offline Offline

Activity: 32
Merit: 41


View Profile
April 25, 2023, 08:56:40 AM
 #32

My question is about the design of your API, particularly I am interested in why you have decided to use POST methods for some operations, for example:

1. Get UTXO of multiple addresses
2. Get balance of multiple addresses
3. Get history of addresses
4. Get transactions by IDs

Can't this information be obtained via simple GET request that doesn't imply modification of server data? For example, the list of addresses or transaction IDs could be included in a request URL directly as a query string. Or is it done for privacy purposes to prevent others to intercept potentially sensitive information? Sorry, if my question doesn't make sense, I am still new in API development.

The ideal situation is to use get method(as you see in most of the endpoints), but sometimes the data is too big(bigger than 2048 characters which is the Get limit), that is why for the methods that possibly require more than the Get limit size, we used Post method.

Would you mind adding some additional functionality to make the life of developers and regular user even easier? For example, I would like to have an option to specify fields when making a GET request, search addresses by first characters, sort them by balance or filter them by specific condition.

When you say specify fields, you mean the returned data should be what you exactly need?(based on the specified fields), in this case, it is doable but not that common, if I misunderstood your question, please clarify.
And regarding the search feature, this is interesting and of course doable, and makes sense if we remove addresses with zero balance periodically(otherwise it would be a too big dataset), the thing is it adds extra costs to our infrastructure, so let me see if it is possible to do it for now or we should postpone it to the future where we have some funds. BTW , if you don't mind me asking, do you have any specific use case for it?

witcher_sense
Legendary
*
Offline Offline

Activity: 2310
Merit: 4313

🔐BitcoinMessage.Tools🔑


View Profile WWW
April 26, 2023, 01:10:21 PM
 #33

When you say specify fields, you mean the returned data should be what you exactly need?(based on the specified fields), in this case, it is doable but not that common, if I misunderstood your question, please clarify.
Fields parameter is only applicable for "get all" type of API endpoints. In my opinion, it makes API more flexible, particularly it becomes easier for developers to massage the fetched data, save processing power and internet traffic. Currently, you have many endpoints to retrieve different information about a single bitcoin address (like details, UTXO, history, balance, etc). You could also add another endpoint that retrieves the information about all the funded addresses in the blockchain. Without fields specified, a response may contain full information about each address. But with fields, the following will occur:

Request:
Code:
curl `https://btc.merapi.io/addresses?fields=balance`

Response:
Code:
[
{
    "address": "bc1qd073gqts3cmquwqh9cha39y5lrvuffjfp5zef9",
    "scripthash": "86d0f61cd7154038ef031e4b91abdb04fd9835b02c8bb39706d34945a949d040",
    "confirmed": 36453,
    "unconfirmed": 1000,
    "summary": 37453,
    "count": 34,
},
{
...
}

]


BTW , if you don't mind me asking, do you have any specific use case for it?
Not yet, but look at the link under my avatar: it a simple web application for signing and verification of bitcoin messages with backend written in Python. In the future, I am planning to rewrite it in Javascript or something and add some other interesting features besides message manipulations. Your API may come in handy.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
xuzerBTC (OP)
Jr. Member
*
Offline Offline

Activity: 32
Merit: 41


View Profile
April 26, 2023, 02:40:46 PM
 #34

When you say specify fields, you mean the returned data should be what you exactly need?(based on the specified fields), in this case, it is doable but not that common, if I misunderstood your question, please clarify.
Fields parameter is only applicable for "get all" type of API endpoints. In my opinion, it makes API more flexible, particularly it becomes easier for developers to massage the fetched data, save processing power and internet traffic. Currently, you have many endpoints to retrieve different information about a single bitcoin address (like details, UTXO, history, balance, etc). You could also add another endpoint that retrieves the information about all the funded addresses in the blockchain. Without fields specified, a response may contain full information about each address. But with fields, the following will occur:

Request:
Code:
curl `https://btc.merapi.io/addresses?fields=balance`

Response:
Code:
[
{
    "address": "bc1qd073gqts3cmquwqh9cha39y5lrvuffjfp5zef9",
    "scripthash": "86d0f61cd7154038ef031e4b91abdb04fd9835b02c8bb39706d34945a949d040",
    "confirmed": 36453,
    "unconfirmed": 1000,
    "summary": 37453,
    "count": 34,
},
{
...
}

]


BTW , if you don't mind me asking, do you have any specific use case for it?
Not yet, but look at the link under my avatar: it a simple web application for signing and verification of bitcoin messages with backend written in Python. In the future, I am planning to rewrite it in Javascript or something and add some other interesting features besides message manipulations. Your API may come in handy.


I see! We are going to consider adding the 'fields' parameter in the future but note that internet traffic is not that high since we are using Gzip to compress responses.


Also, we are going to add the search for address by first characters in the next couple of weeks. Going to update you regarding this.
And please keep in touch if you have any questions,  other suggestions or feedback.
xuzerBTC (OP)
Jr. Member
*
Offline Offline

Activity: 32
Merit: 41


View Profile
May 01, 2023, 02:31:02 PM
Last edit: May 05, 2023, 08:15:46 PM by xuzerBTC
Merited by OmegaStarScream (1)
 #35

Update:

We had some problems in the last couple of days since we have been changing servers. We will return online with a stable infrastructure in a few days.

May, 5th
Update 2: the services are moved and are syncing, it takes around 3 days till it is fully synced.
xuzerBTC (OP)
Jr. Member
*
Offline Offline

Activity: 32
Merit: 41


View Profile
May 14, 2023, 06:24:25 AM
 #36

The service is transferred to the new servers and is fully synced! Give it a try!
bettercrypto
Sr. Member
****
Offline Offline

Activity: 1316
Merit: 268


★Bitvest.io★ Play Plinko or Invest!


View Profile WWW
May 14, 2023, 03:55:31 PM
 #37

Hello everyone!

We are thrilled to announce Merapi.io, an API for Bitcoin BTC that we believe can be a valuable tool for developers building applications using Bitcoin network data.

Merapi.io is a flexible and user-friendly API that allows developers to interact with the Bitcoin network and leverage Bitcoin as a payment method.

Try Merapi.io and experience how easy it is to build powerful Bitcoin applications. You can check out our documentation at https://btc-docs.merapi.io/#introduction and the Swagger at https://btc.merapi.io/swagger.

We would love to hear your feedback about Merapi.io. Our team has put a lot of effort into making Merapi.io a valuable resource for developers working with Bitcoin, and we hope you'll give it a try.

Thank you for considering Merapi.io for your development needs. We look forward to hearing from you!


P.S
This is our donation address in case anyone wants to support our project
Bitcoin:
bc1q5rc6wwmz2053k70d5cqge7xgdv48hmevpr8sme

Zcash:
t1V9QMioEB9vxEfzXTwoJM2y7mmYsQwYQPN

Best,
Merapi Team

Is this merapi you say can be used to build exchanges, wallets, Dapps, and block explorers? I'm just asking because I'm not that familiar with such things.

      And besides the topic you made is based on my understanding I'm just not sure, is this merapi made to change the way people interact with the bitcoin blockchain? I just thought.



BIG WINNER!
[15.00000000 BTC]


▄████████████████████▄
██████████████████████
██████████▀▀██████████
█████████░░░░█████████
██████████▄▄██████████
███████▀▀████▀▀███████
██████░░░░██░░░░██████
███████▄▄████▄▄███████
████▀▀████▀▀████▀▀████
███░░░░██░░░░██░░░░███
████▄▄████▄▄████▄▄████
██████████████████████
▀████████████████████▀
▄████████████████████▄
██████████████████████
█████▀▀█▀▀▀▀▀▀██▀▀████
█████░░░░░░░░░░░░░▄███
█████░░░░░░░░░░░░▄████
█████░░▄███▄░░░░██████
█████▄▄███▀░░░░▄██████
█████████░░░░░░███████
████████░░░░░░░███████
███████░░░░░░░░███████
███████▄▄▄▄▄▄▄▄███████
██████████████████████
▀████████████████████▀
▄████████████████████▄
███████████████▀▀▀▀▀▀▀
███████████▀▀▄▄█░░░░░█
█████████▀░░█████░░░░█
███████▀░░░░░████▀░░░▀
██████░░░░░░░░▀▄▄█████
█████░▄░░░░░▄██████▀▀█
████░████▄░███████░░░░
███░█████░█████████░░█
███░░░▀█░██████████░░█
███░░░░░░████▀▀██▀░░░░
███░░░░░░███░░░░░░░░░░
▀██░▄▄▄▄░████▄▄██▄░░░░
▄████████████▀▀▀▀▀▀▀██▄
█████████████░█▀▀▀█░███
██████████▀▀░█▀░░░▀█░▀▀
███████▀░▄▄█░█░░░░░█░█▄
████▀░▄▄████░▀█░░░█▀░██
███░▄████▀▀░▄░▀█░█▀░▄░▀
█▀░███▀▀▀░░███░▀█▀░███░
▀░███▀░░░░░████▄░▄████░
░███▀░░░░░░░█████████░░
░███░░░░░░░░░███████░░░
███▀░██░░░░░░▀░▄▄▄░▀░░░
███░██████▄▄░▄█████▄░▄▄
▀██░████████░███████░█▀
▄████████████████████▄
████████▀▀░░░▀▀███████
███▀▀░░░░░▄▄▄░░░░▀▀▀██
██░▀▀▄▄░░░▀▀▀░░░▄▄▀▀██
██░▄▄░░▀▀▄▄░▄▄▀▀░░░░██
██░▀▀░░░░░░█░░░░░██░██
██░░░▄▄░░░░█░██░░░░░██
██░░░▀▀░░░░█░░░░░░░░██
██░░░░░▄▄░░█░░░░░██░██
██▄░░░░▀▀░░█░██░░░░░██
█████▄▄░░░░█░░░░▄▄████
█████████▄▄█▄▄████████
▀████████████████████▀




Rainbot
Daily Quests
Faucet
xuzerBTC (OP)
Jr. Member
*
Offline Offline

Activity: 32
Merit: 41


View Profile
May 14, 2023, 04:04:28 PM
 #38


The short answer is yes! They can build all that and many other things which an RPC on a node might not provide most efficiently and in a production mode(in the case of exchanges, I am not sure they feel comfortable using an API to handle their accounts, though.) And, I guess you are being modest and know more about that! :-)

And besides the topic you made is based on my understanding I'm just not sure, is this merapi made to change the way people interact with the bitcoin blockchain? I just thought.
And, No! they can interact with Bitcoin Blockchain as they prefer. This is not a new method(blockchair is providing APIs for example), we are just providing endpoints that can deliver what developers require but don't find or it is more costly or less efficient on a node.
xuzerBTC (OP)
Jr. Member
*
Offline Offline

Activity: 32
Merit: 41


View Profile
May 15, 2023, 08:02:56 AM
Merited by witcher_sense (4)
 #39

My question is about the design of your API, particularly I am interested in why you have decided to use POST methods for some operations, for example:

1. Get UTXO of multiple addresses
2. Get balance of multiple addresses
3. Get history of addresses
4. Get transactions by IDs

Can't this information be obtained via simple GET request that doesn't imply modification of server data? For example, the list of addresses or transaction IDs could be included in a request URL directly as a query string. Or is it done for privacy purposes to prevent others to intercept potentially sensitive information? Sorry, if my question doesn't make sense, I am still new in API development.

Would you mind adding some additional functionality to make the life of developers and regular user even easier? For example, I would like to have an option to specify fields when making a GET request, search addresses by first characters, sort them by balance or filter them by specific condition.


We added the search address option(the documentation is not updated yet)
you can try it with something like this:
https://btc.merapi.io/address/search?q=bitcoin
xuzerBTC (OP)
Jr. Member
*
Offline Offline

Activity: 32
Merit: 41


View Profile
May 16, 2023, 07:45:48 PM
Last edit: May 17, 2023, 10:40:25 AM by xuzerBTC
 #40

We changed the domain, and the service is available at https://btc-docs.blockread.io/
Sorry for this change!


Pages: « 1 [2] 3 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!