Welcome to the ArcBlock OCAP (Open Chain Access Protocol) documentation!

OCAP is an open-source protocol that provides an abstract layer for accessing underlying blockchains and enables your application to work across different blockchains in a unified way.

OCAP uses GraphQL as the unified language to provide the capability to read/write data on the blockchains:

  • query is used to read blockchain data, such as blocks, transactions and accounts;
  • mutation is used to write data to blockchain, such as sending signed transaction and call contract;
  • subscription is used to listen blockchain data updates, such as new block/transaction stream;

Bitcoin and Ethereum are supported by OCAP currently, and we are working hard to support more public blockchains.

Getting Started

If you have no idea about what GraphQL is, but want to quickly try various APIs provided by OCAP service, query data with playground is a very good starting point.

More familiar with postman? checkout query data with postman, or just start writing some javascript with query data with javascript.

If you know the basis about GraphQL, and want to start building something on top of OCAP immediately, checkout the OCAP DApp bootstrapping instructions below:

To learn the supported SDK we built, checkout the OCAP SDK.

Want to see something built on top of OCAP by arcblockers? checkout tools for OCAP.

For a list of applications built on top of OCAP service by developers during our hackathon, checkout the ArcBlock Hackathon Github Organization.

Learn OCAP

For a detailed introduction to OCAP, checkout About OCAP, for more details on how OCAP works, see the respective documentation for OCAP Core and Architecture.


To contribute to the documentation, see this file for details of the build process and considerations when making changes.

Last Updated: 11/30/2018, 10:39:27 AM