2020-05-04 08:24:20 +00:00
---
2020-05-25 08:29:11 +00:00
permalink: /spec/13
2020-05-15 09:15:52 +00:00
parent: Draft specs
2020-05-25 08:29:11 +00:00
title: 13/3RD-PARTY-USAGE
2020-05-04 08:24:20 +00:00
---
2020-05-04 08:14:18 +00:00
2020-05-25 08:29:11 +00:00
# 13/3RD-PARTY
2020-05-12 10:45:29 +00:00
> Version: 0.1
>
> Status: Draft
>
> Authors: Volodymyr Kozieiev <volodymyr@status.im>
2020-05-15 09:15:52 +00:00
# Third party APIs used for core functionality
2020-05-04 08:14:18 +00:00
## Table of Contents
2020-05-21 09:44:13 +00:00
1. [Abstract ](#abstract )
2020-05-04 08:14:18 +00:00
2. [Definitions ](#definitions )
2020-05-04 08:24:20 +00:00
3. [Why 3rd party API can be a problem? ](#why-3rd-party-api-can-be-a-problem )
2020-05-12 10:45:29 +00:00
4. [3rd party APIs used by Status ](#3rd-party-apis-used-by-current-status-app )
2020-05-04 08:24:20 +00:00
* [Infura ](#infura )
* [Etherscan ](#etherscan )
* [CryptoCompare ](#cryptocompare )
* [Collectibles ](#collectibles )
* [Iubenda ](#iubenda )
5. [Changelog ](#changelog )
2020-05-25 12:18:39 +00:00
6. [Copyright ](#copyright )
2020-05-04 08:14:18 +00:00
## Abstract
2020-05-21 09:44:13 +00:00
2020-06-03 22:02:45 +00:00
This specification discusses 3rd party APIs that Status relies on. These APIs provide various capabilities such as:
2020-05-15 09:15:52 +00:00
- communicate with the Ethereum network
- allow users to see address and transaction details on external website
- get fiat/crypto exchange rates
- get information about collectibles
2020-05-12 10:45:29 +00:00
- hosts privacy policy
2020-05-04 08:14:18 +00:00
## Definitions
| Term | Description |
| ------------- |-------------|
| Fiat money | Currency which established as money, often by government regulation, but that has no intrinsic value
| Full node | Any computer, connected to the Ethereum network, which fully enforces all the consensus rules of Ethereum.
| Crypto-collectible | A cryptographically unique, non-fungible digital asset . Unlike cryptocurrencies, which require all tokens to be identical, each crypto-collectible token is unique or limited in quantity.
## Why 3rd party API can be a problem?
2020-06-03 22:02:45 +00:00
Relying on 3rd party APIs interferes with `censorship resistance` Status principle. Since Status aims to avoid suppression of information it is important to reduce amount of 3rd parties crucial for app functionality.
2020-05-04 08:14:18 +00:00
2020-05-12 10:45:29 +00:00
## 3rd party APIs used by current Status app
2020-05-04 08:14:18 +00:00
### Infura
##### What is it?
2020-05-15 09:15:52 +00:00
Infura hosts a collection of full nodes for the Ethereum network and provides an API to access both the Ethereum and IPFS networks without having to run a full node.
2020-05-04 08:14:18 +00:00
##### How Status use it?
Status works on mobile devices and therefore can't rely on local node. So all communication to Ethereum network happens via Infura.
##### Concerns
2020-06-03 22:02:45 +00:00
Making a HTTP request means that a user leaks metadata, which can be used in various attacks if an attacker hacks the service.
2020-05-15 09:15:52 +00:00
Infura hosts on centralized providers. If these fail or the provider cuts off service, then Status features requiring Ethereum calls will.
2020-05-04 08:14:18 +00:00
### Etherscan
##### What is it?
2020-05-15 09:15:52 +00:00
Etherscan is a service that allows user to explore and search the Ethereum blockchain for transactions, addresses, tokens, prices and other activities taking place on Ethereum.
2020-05-04 08:14:18 +00:00
##### How Status use it?
2020-05-15 09:15:52 +00:00
Status Wallet allows users to view details of addresses and transactions on Etherscan.
2020-05-04 08:14:18 +00:00
##### Concerns
If Etherscan fails user won't be able to view address or transaction details with it. But inside the app this info will still be available.
### CryptoCompare
##### What is it?
CryptoCompare is a service that shows live streaming prices, charts and analysis from top crypto exchanges.
##### How Status use it?
Status regularly fetches crypto prices from CryptoCompare. Using that info Status calculates fiat value for transaction or wallet assets.
##### Concerns
2020-06-03 22:02:45 +00:00
Making a HTTP request means that a user leaks metadata, which can be used in various attacks if an attacker hacks the service.
2020-05-04 08:14:18 +00:00
If CryptoCompare fails Status won't be able to show fiat equivalent of crypto in wallet.
### Collectibles
There is a set of services that used for getting information about collectibles:
- https://api.pixura.io/graphql
- https://www.etheremon.com/api
- https://us-central1-cryptostrikers-prod.cloudfunctions.net/cards/
- https://api.cryptokitties.co/
##### Concerns
2020-06-03 22:02:45 +00:00
Making a HTTP request means that a user leaks metadata, which can be used in various attacks if an attacker hacks the service.
2020-05-04 08:14:18 +00:00
### Iubenda
2020-05-19 16:40:48 +00:00
2020-05-04 08:14:18 +00:00
##### What is it?
2020-05-19 16:40:48 +00:00
2020-05-04 08:14:18 +00:00
Service that helps in creating documents that make websites and apps compliant with the law across multiple countries and legislations.
##### How Status use it?
Privacy policy of Status hosted on Iubenda.
##### Concerns
If Iubenda fails Status users won't be able to navigate to app's privacy policy.
2020-05-04 08:24:20 +00:00
## Changelog
| Version | Comment |
| :-----: | ------- |
2020-05-18 09:00:44 +00:00
| [0.1.0 ](https://github.com/status-im/specs/blob/master/docs/draft/9-3rd-party.md ) | Initial Release |
2020-05-04 08:24:20 +00:00
## Copyright
Copyright and related rights waived via [CC0 ](https://creativecommons.org/publicdomain/zero/1.0/ ).