The ArkService is the primary API layer for interacting with the Arkade server
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.
ArkService
abstracts much of the protocol logic, helping builders focus on client experiences.
Operation Category | Methods | Purpose |
---|---|---|
System Information | GetInfo | Server parameters and network information |
Intent Management | RegisterIntent , DeleteIntent | Client intent registration |
Batch Participation | ConfirmRegistration , GetEventStream | Multi-party batch processing coordination |
Tree Signing | SubmitTreeNonces , SubmitTreeSignatures | MuSig2 multi-signature coordination |
Forfeit Management | SubmitSignedForfeitTx | Forfeit tx submission and retrieval |
Offchain Execution | SubmitTx , FinalizeTx | Offchain tx submission and finalization |
Real-time Updates | GetTransactionsStream | Live tx notifications |
System Information
GetInfo
provides essential server configuration and network parameters. It returns (GetInfoResponse
)Intent Management
BIP322
signatures for proof of ownership:RegisterIntent
allows clients to register new transaction intentsDeleteIntent
enables clients to remove previously registered intentsBatch Participation
ConfirmRegistration
allows selected clients to confirm participation in the next batchGetEventStream
provides clients with real-time batch updates including batch start, finalization, and failure notificationsTree Signing via MuSig2
SubmitTreeNonces
lets clients submit nonces for the MuSig2 sessionSubmitTreeSignatures
lets clients submit partial signatures for aggregationForfeit Management
SubmitSignedForfeitTxs
handles forfeit transaction submission. The Arkade server verifies and finalizes the transaction as part of the batch settlement process.
SIGHASH_ALL | ANYONECANPAY
allowing a connector output to be added once the delegate submits the intent.Offchain Execution
SubmitTx
initiates offchain spending with the user handing in signed Arkade transactions (signed_ark_tx
) and unsigned checkpoint transactions (checkpoint_txs
)FinalizeTx
completes the process by submitting fully signed checkpoint transactionsReal-time Updates
GetTransactionsStream
is a server-side streaming RPC that allows clients to receive real-time notifications for both Commitment and Arkade transactions.Each notification uses TxNotification
, and which includes:txid
) and tx
fields containing the transaction hash and the raw transaction dataspent_vtxos
showing which VTXOs were consumed and spendable_vtxos
showing newly created VTXOsGetInfo
to verify server compatibility, network type, and version information before establishing connectionsarkv1.GetEventStream
and arkv1.GetTransactionsStream
are server-side streaming RPCs for event-driven clients that should be run in background processes to react in real-timeArkService
is complementary to the IndexerService
.
Use the ArkService
for real-time updates and the IndexerService
for historical transaction data and detailed analysis