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, there are typically 3 kinds of data on a blockchain:

  • account, identified by address in public, can have balance, transaction history data related
  • transaction, records details of a transfer between multiple accounts, identified by transaction hash
  • block, records a serials of tranasctions, identified by block height or block hash

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