The Arkade server provider.
Only getInfo is required: it is what resolves the server key and
checkpoint closure, and it is all a client needs to derive, register and
inspect contracts. submitTx/finalizeTx are needed solely to
broadcast, so a client built without them throws at .send() — the same
deferred, explicit failure an absent indexer gives getUtxos() and an
absent emulator gives a covenant spend. That lets a caller that already
holds the server info (wallet.getArkadeInfo()) connect without a
provider of its own, and without a second /v1/info round-trip.
OptionalcontractThe wallet's contract manager. When set, contracts created from this
client can ArkadeContract.register themselves into the standard
contract pipeline (persistence, watching, events), and
ArkadeContract.getUtxos reads repository-backed state
(offline-first) for registered contracts instead of querying the
indexer directly. Obtain it via wallet.getContractManager().
OptionalemulatorThe co-signing (introspector/emulator) service. Optional: only required for
contracts whose functions have an arkadeScript (covenant paths). Pure
tapscript contracts (multisig/timelock/hashlock) don't need it.
OptionalemulatorCo-sign with this emulator key (33-byte compressed hex) instead of the
one pinned for network.
Needed when a network's emulator key has rotated ahead of this SDK, for a
self-hosted emulator, or on a network with no pinned key at all (signet,
testnet, a hand-built Network — those throw without it). Setting it
means trusting that operator as co-signer in place of the network's.
OptionalidentitySigner for paths that require a user signature; optional for watch-only.
OptionalindexerIndexer — enables getUtxos/getBalance and coin auto-selection, and
resolves the previous ark txs a covenant spend must carry (see
attachPrevArkTxs). Required for covenant spends.
OptionalnetworkNetwork for address derivation. Defaults to the network the server
reports on getInfo — or the SDK default when the server names none.
Options for Arkade.connect.