The ArkService handles the core business logic of the Ark protocol’s batch processing system. Operations encompass onchain batch coordination and settlement, including the coordination of multi-party signing sessions using MuSig2, intent management, as well as offchain VTXO spending operations. It provides a comprehensive set of gRPC and REST endpoints to facilitate client-side coordination.
API references can be found here and a set of tools to handle protobuf specifications can be found here.

API Layer Logic

The ArkService abstracts much of the protocol logic, helping builders focus on client experiences.
Operation CategoryMethodsPurpose
System InformationGetInfoServer parameters and network information
Intent ManagementRegisterIntent, DeleteIntentClient intent registration
Batch ParticipationConfirmRegistration, GetEventStreamMulti-party batch processing coordination
Tree SigningSubmitTreeNonces, SubmitTreeSignaturesMuSig2 multi-signature coordination
Forfeit ManagementSubmitSignedForfeitTxForfeit tx submission and retrieval
Offchain ExecutionSubmitTx, FinalizeTxOffchain tx submission and finalization
Real-time UpdatesGetTransactionsStreamLive tx notifications
Building without the SDKs still requires a solid understanding of how to create, validate, and process batch events.

API Layer Logic Explained

Notes for Builders

The complete ArkService interface is defined in the Protocol Buffers specification and includes all these functions as part of the core gRPC service.
  • All endpoints follow RESTful conventions using HTTP annotations
  • Query GetInfo to verify server compatibility, network type, and version information before establishing connections
  • arkv1.GetEventStream and arkv1.GetTransactionsStream are server-side streaming RPCs for event-driven clients that should be run in background processes to react in real-time
  • All client-side operations involving intent submission should be signed using BIP322-compatible wallets
  • Intent registration and confirmation are critical steps before a client can participate in a settlement
The ArkService is complementary to the IndexerService. Use the ArkService for real-time updates and the IndexerService for historical transaction data and detailed analysis