BSV Blockchain Association announces the availability of ARC Public Beta

ARC is the new generation of transaction processor replacing mAPI.

The BSV Blockchain Association is pleased to announce that the ARC service has now entered public beta. ARC is a transaction processor for Bitcoin which operates on a microservices architecture, aiming to replace mAPI. It provides a flexible and scalable solution that can be customised according to several specific use cases.

The name ARC is an acronym derived from “authoritative” (it talk directly to the nodes), “response” (it responds to queries etc.) plus “component”.

“ARC is the new generation of transaction processor replacing mAPI,” said Thomas Giacomo, Director at the BSV Association. “It is installed by miners and these miners provide the ARC endpoints to application builders to send transactions to the chain.”

Giacomo explained that ARC has been in a closed beta for several months, with the team using that time to ensure that the infrastructure is reliable and that all aspects get the green light. “The main difference between mAPI and ARC is that ARC processes and broadcasts the transactions directly P2P to the network without relying directly on a node.

“For that reason, and because it is microservice-based, it is expected to be far more scalable than mAPI. It will also be more scalable because it will be aligned with other infrastructure changes such as the Overlay Node, LiteClient and Teranode,” he said.

Scalability and microservices

With mAPI, builders would send transactions to a miner’s mAPI endpoints and onto their respective mining nodes, which would then broadcast them to the BSV network. However, if that node is busy then the builders might face a degradation in service responsiveness, said Giacomo.

“With ARC as the transactions are sent peer-to-peer directly to the network, there is no single node dependency- improving its robustness. ARC is horizontally scalable in that each instance receives transactions with enough information to validate and propagate them independently. This allows operators to spin up more instances according to the transaction volume they receive – improving its scalability”.

The microservices are as follows:

  • API: The API microservice serves as the primary entry point for transactions within the ARC system. It handles authentication, validation, and the transmission of transactions to Metamorph. The API communicates with one or more instances of Metamorph using client-based, round-robin load balancing.
  • Metamorph: Metamorph is responsible for processing transactions sent by the API to the Bitcoin network. It also ensures the re-transmission of transactions if they are not acknowledged by the network within a specific timeframe. Metamorph is designed to scale horizontally, with each instance operating independently and maintaining its transaction store.
  • BlockTx: BlockTx is another microservice, processes mined blocks from the Bitcoin network and disseminates transaction status updates to subscribed Metamorph instances. BlockTx’s primary role is to avoid redundant processing of large blocks. It does not store transaction data; instead, it only stores transaction IDs and the corresponding block height.
  • Callbacker: Callbacker is a straightforward microservice that delivers callbacks to clients upon the acceptance of a transaction by the Bitcoin network. To register a callback, clients must include the X-Callback-Url header in their requests. The Callbacker then sends a POST request to the specified URL, with the transaction ID included in the request body.

Launch and roadmap

Giacomo said that ARC will officially launch into public beta at the end of July 2023. He added that it is the goal to have application builders shift from mAPI to Arc endpoints by the end of the year, with mAPI ideally phased out by the start of the year.

“We are following a lean startup approach where we launch quickly and then listen to customer feedback. This means that we will build additional features based directly on what we hear from our community.

“We are also making sure that we adapt ARC to all the other components of the BSV Blockchain infrastructure which is launching this year – including LiteClient, overlay node and Teranode. All these different components have to be aligned with each other so that we can hit our 1 million tx/a second objective.”

Giacomo extended his congratulations to the ARC team who made this launch possible in such a short space of time and who were deeply involved in developing the project. Special congratulations to Simon Ordish, Siggi Oskarsson, Frank Dickob, Michael Boeckli, Farzan Fatemifar and Darren Kellenschwiller among others. “ARC is a really cool product which will allow the BSV Blockchain to deliver what it has committed to deliver – 1 million tx/a second.”

You can learn more about the ARC project and access the associated documentation here.