Frequently Asked Questions

Do you have a question related to how we operate?
Find below a collection of frequently asked questions.

Browse by category:
GeneralData, Metrics & IndexTechnical       Account & Billing

General

We are currently serving the following publicly accessible blockchains as block validators (including their test networks):
EnergyWebChain (EWC), Lition, xDAI, and more to be announced soon!
We also help to secure additional private networks (e.g. Quorum-based) – if you are interested to learn more about that please get in touch.
There are also crypto ecosystems where we are proud members of and helping with our professionally managed nodes:
Chainlink (oracle node operator & dashboard tools), TheGraph (query indexer & curator)

Just subscribe to our newsletter (c.f. sign-up form in the footer) and for more regular updates follow us on Twitter and LinkedIn.

Definitely!
The Universal Search and Block Explorer for our various networks are the front-end visualization of the data in our Anyblock Index.
So in order to integrate something in these tools, we have to index the network (run a node, drain the data through our real-time processing, storing it in our index, adopt the frontends).
Particularly for Ethereum variants we have done this a lot so it is a known process, but still means some effort – and usually the network pays for this service. Some also procure our RPC/data services for their community in bulk, in order to grow their ecosystem and make it easier for developers to build on their networks.
Get in touch to talk about the details for your network and community!

Check our Anyblock network status page.
You can find the list of our indexed blockchains, links to our respective block explorers as well as the status of data freshness for our various services (RPC blockheight, ElasticSearch, SQL if applicable – and an alternative explorer).
We are actually part of additional private blockchains not listed here – if you are interested to learn more about that please get in touch by email or through our contact form.

Please refer to the Anyblock link list.

Sorry to hear that, but unfortunately, we cannot help you.
Depending on your circumstances, these organizations might be able to help:

Data, Metrics & Index

We have some basic token KPIs available online for all our known tokens (> 200k) – just put in the token contract address in our token metrics page. (This works for any of our indexed Ethereum-based blockchains. Just choose the right network from the dropdown.)

If you want to work with specific token data, first make sure that we have the contract ABI in our system by entering the address into our Anyblock Explorer. (Again, check the dropdown for your desired blockchain network.)

If you see the token metadata (name, symbol, type etc.), you are good to go, otherwise do send us the ABI along with the contract address and network to contact@anyblockanalytics.com (or upload it yourself, if you are have a premium account).

Once the data is automatically reprocessed with the ABI (maximum few minutes) you are ready to go, events should be translated etc. – and you can start querying via our API or SQL.

Please note that currently we do not yet have token account balances or prices implemented, but working on it in Q1-2020.

The answer is differentiated by the data access method:
To visualize Elasticsearch API queries, you would generally visualize via some form of code. Our public dashboards are an example based on Python/Dash/Plotly.
For SQL there are also great software tools readily available. Almost any business intelligence or visualization software supports SQL (e.g. Tableau). The examples you see on our dashboard website are created using Metabase, which is super easy to use even for non-technical users.
We offer data science, hosting and development in both worlds as options on top of our SaaS plans – please get in touch with us to discuss details and get a demo!

Technical

Because smart contract events in Ethereum can have n parameters in different formats and we index everything on the blockchain into a generic data model, we use jsonb arrays in Postgres as a data structure.
If you want to produce charts and dashboards for example to visualize token metrics (such as this dashboard), you need to break up the array into separate columns to work with them, as explained in this tutorial.
Below are two examples taken from the above mentioned dashboard to further illustrate how to work with these json arrays of blockchain data:
(1) EXP1 Daily Trading Volume:

SELECT 
CAST(timestamp AS date) AS day,
SUM(CAST(args->2->'scaled' AS NUMERIC)) AS volume 
FROM event 
WHERE 
address = '0x14Bc49398e846d09C3df96E61b1258735C3b7ab4'
AND event = 'Transfer'
AND timestamp > {{ start_date }} [[AND timestamp < {{ end_date }}]]
GROUP BY CAST(timestamp AS date)

(2) EXP1 Token Holder Balances:

SELECT
	address,
	sent,
	received,
	(received - sent) AS balance
FROM (
	SELECT 
		COALESCE(to_address, from_address) AS address,
		COALESCE(sent, 0) AS sent,
		COALESCE(received, 0) AS received
	FROM (
		SELECT 
			args->1->>'hex' AS to_address,
			SUM(CAST(args->2->'scaled' AS NUMERIC)) AS received 
		FROM event 
		WHERE 
			address = '0x14Bc49398e846d09C3df96E61b1258735C3b7ab4'
			AND event = 'Transfer'
		GROUP BY to_address
	) AS "to"
	FULL JOIN (
		SELECT 
			args->0->>'hex' AS from_address,
			SUM(CAST(args->2->'scaled' AS NUMERIC)) AS sent
		FROM event 
		WHERE 
			address = '0x14Bc49398e846d09C3df96E61b1258735C3b7ab4'
			AND event = 'Transfer'
		GROUP BY from_address
	) AS "from" ON "to".to_address = "from".from_address
) AS "clean"
ORDER BY balance DESC

(3) EXP1 Current Holders:

SELECT
COUNT(*)
FROM (
	SELECT
		COALESCE(to_address, from_address) AS address,
		COALESCE(sent, 0) AS sent,
		COALESCE(received, 0) AS received
	FROM (
		SELECT
			args->1->>'hex' AS to_address,
			SUM(CAST(args->2->'scaled' AS NUMERIC)) AS received
		FROM event
		WHERE
			address = '0x14Bc49398e846d09C3df96E61b1258735C3b7ab4'
			AND event = 'Transfer'
		GROUP BY to_address
	) AS "to"
	FULL JOIN (
		SELECT
			args->0->>'hex' AS from_address,
			SUM(CAST(args->2->'scaled' AS NUMERIC)) AS sent
		FROM event
		WHERE
			address = '0xB97048628DB6B661D4C2aA833e95Dbe1A905B280'
			AND event = 'Transfer'
		GROUP BY from_address
	) AS "from" ON "to".to_address = "from".from_address
) AS "clean"
WHERE (received - sent) > 0

(Please note that we will provide dedicated API endpoints to query ANY real-time and historic token balances in Q1-2021, as this SQL method with JOIN is not scalable for larger sets of token holders or transactions.)


You can find the list in your account backend.
This list is structured by technology base – which is why there are two main categories ETH-Endpoints and BTC-Endpoints, meaning based on Ethereum and Bitcoin technology and including all our networks respectively, such as: Litecoin, ETC, xDAI, POA, EWC etc.

Use the “track_total_hits” parameter which will return the exact number of results instead of just “more than 10.000”. Only use that if you really need the count. If you’re scrolling through all results anyway, you can omit that parameter as it comes with an additional performance hit.

Scrolling through the results using e.g. from and size is way slower than using the ElasticSearch scroll API.

Ethereum addresses can be written plain and checksummed – and it is easy to see which is which as a checksummed address will have some letters capitalized while plain addresses only have lowercase letters (details here).
If your queries work but don’t return any results, in many cases this is the problem!

We generally offer both but in separate fields, but for historic reasons the “from” and “to” address of traces in the SQL interface are only lowercase (in Elastic they are checksum-cased). Some of the addresses in the event and call table/indices might have lower case.

To be on the safe side, search in Elastic either like this:

“$addressfield”: “lowercased-address”

or

“$addressfield.raw”: “ChecksumCased-Address”

And in SQL like:

SELECT * FROM event WHERE address IN (‘lowercase-address’,’ChecksumCased-Address’)

If you want to work with specific contract data, first make sure that we have the contract ABI in our system by entering the address into our Anyblock Explorer: (check the dropdown for your desired blockchain network)

If you see the ABI there you are good to go, otherwise do send us the ABI along with the contract address and network to contact@anyblockanalytics.com (or upload it yourself, if you have a premium account).

Once the data is automatically reprocessed with the ABI (maximum few minutes) you are ready to go, new and all past events should be translated etc. – and you can start querying via our API or SQL.

The API rate limit is the main differentiator between our different pricing tiers. Right now there is only ONE rate limit that is applied to all API/RPC calls. So if you do 20 ElasticSearch queries, fetch the Gas Price 10 times, and do 500 RPC calls, you have made 530 calls in total against your rate limit. If the limit is reached, none of those will work until the automatic reset.
All requests by users under your company’s account are adding up towards that company’s rate limit.
You can see the different values for the different tiers on our pricing overview page.
And we are working on an automated way of showing you the current level of your usage in your account area, where you will soonish also be able to upgrade with the click of a button. Until then please never hesitate to contact us via email: support@anyblockanalytics.com

We do realize the maximum flexibility we provide with setting up triggers etc. makes the configuration of your alerts a little tricky at times. However, you can find details in our alerting documentation – based on user feedback, most useful are our alerting examples for different use cases, combined with the alerting schema to adapt it to your circumstances.

Account & Billing

We don’t. Our partner Stripe handles your credit card information – it never enters our system directly.

Yes, we use the services of our partner Stripe. Stripe is hosting a secure payment page where you enter your sensitive information. Stripe is a PCI-certified payment services provider respected highly around the world.

If you paid online via a credit card, you can obtain a copy of all your invoices if you go to “Manage your billing” and click the little arrow next to the date of your transaction in the billing history.
If you’re paying via a wire transfer, just send us an email to contact@anyblockanalytics.com.

If you paid via credit card, you can click the “Manage Billing” button in the Subscription tab in your account. You can edit your billing address right there.
If you’re paying via a wire transfer, just send us an email to contact@anyblockanalytics.com – stating the email address of your account, your new billing address, and if you want the change to happen immediately or at a later date. We will upgrade your account accordingly and confirm via email.

  • Go to the Subscription tab in your account.
  • Select the plan you want to subscribe to.
    (Please note: you’ll get a 10% discount if you select the annual billing!)
  • Proceed to complete the payment in the Stripe checkout.

Interested or questions?

 

Freddy Zwanzger
(Co-Founder & Chief Data Officer)
freddy@anyblockanalytics.com
+49 6131 3272372

    

Pin It on Pinterest