Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Submitter Configuration

The Submitter node publishes PRISM DID operations to the Cardano blockchain.
It is typically used for creating, updating, or deactivating DIDs.

DLT Sink

The Submitter node requires a DLT sink to sign and submit transactions.
Select the sink type with the --dlt-sink-type flag:

--dlt-sink-type <TYPE>    or    NPRISM_DLT_SINK_TYPE=<TYPE>

Supported values:

ValueDescription
cardano-walletUses an external Cardano wallet service to sign and submit transactions
embedded-walletUses a built-in subprocess-based wallet — no external wallet service required

Cardano Wallet

Uses a Cardano wallet service to sign and submit transactions containing DID operations.

FlagEnvironment VariableDescription
--cardano-wallet-base-urlNPRISM_CARDANO_WALLET_BASE_URLBase URL of the Cardano wallet service
--cardano-wallet-wallet-idNPRISM_CARDANO_WALLET_WALLET_IDWallet ID to use for transactions
--cardano-wallet-passphraseNPRISM_CARDANO_WALLET_PASSPHRASEPassphrase for the wallet
--cardano-wallet-payment-addrNPRISM_CARDANO_WALLET_PAYMENT_ADDRPayment address for transactions

Important: When the submitter publishes a DID operation, it creates a transaction from the configured wallet to the specified payment address. Make sure you use your own payment address. Using an incorrect or third-party address may result in permanent loss of funds.


Embedded Wallet

Uses a companion binary to sign and submit transactions without running a separate Cardano wallet service. The submitter spawns the binary as a subprocess for each transaction — it builds the transaction, signs it with the provided mnemonic, and submits it to the network.

Transactions are submitted via a Cardano Submit API endpoint (--embedded-wallet-submit-api-url) or through Blockfrost (default). Blockfrost is also used to resolve UTXOs during the build step.

FlagEnvironment VariableDescription
--embedded-wallet-binNPRISM_EMBEDDED_WALLET_BINPath to the embedded wallet binary
--embedded-wallet-mnemonicNPRISM_EMBEDDED_WALLET_MNEMONICMnemonic phrase for the wallet (mutually exclusive with --embedded-wallet-mnemonic-file)
--embedded-wallet-mnemonic-fileNPRISM_EMBEDDED_WALLET_MNEMONIC_FILEPath to a file containing the mnemonic phrase (mutually exclusive with --embedded-wallet-mnemonic)
--embedded-wallet-submit-api-urlNPRISM_EMBEDDED_WALLET_SUBMIT_API_URLCardano Submit API URL (omit to submit via Blockfrost)
--embedded-wallet-blockfrost-urlNPRISM_EMBEDDED_WALLET_BLOCKFROST_URLBlockfrost API URL for private instances (default: https://cardano-mainnet.blockfrost.io/api/v0)
--embedded-wallet-blockfrost-api-keyNPRISM_EMBEDDED_WALLET_BLOCKFROST_API_KEYBlockfrost API key for public instances (takes precedence over --embedded-wallet-blockfrost-url when set)

Note: When --embedded-wallet-blockfrost-api-key is set, it takes precedence over --embedded-wallet-blockfrost-url for Blockfrost requests. The submitter uses the default public Blockfrost URL for both UTXO resolution and submission in this case. To submit via a Cardano Submit API endpoint instead of Blockfrost, set --embedded-wallet-submit-api-url.

Note: For network parameters (mainnet, preprod, etc.), use the shared --cardano-network flag documented in the Indexer configuration.

Security recommendation: Prefer --embedded-wallet-mnemonic-file over --embedded-wallet-mnemonic in production deployments. Environment variables can leak via /proc/<pid>/environ, process listings, crash dumps, or log output. Loading the mnemonic from a file allows you to restrict file permissions (e.g., chmod 600) and use container secret mounts (Docker/Kubernetes secrets). Supplying both flags simultaneously is treated as a configuration error and will prevent the node from starting.


DLT Sink Comparison

Cardano Wallet

The traditional approach that requires a full Cardano wallet service running alongside the node. The wallet handles key management, transaction construction, and submission. This is a good option when you already operate a Cardano wallet as part of your infrastructure, but it adds operational overhead of maintaining an additional service.

Embedded Wallet

A lightweight alternative that eliminates the need for an external wallet service. It uses a companion binary to construct and sign transactions as a subprocess. By default, transactions are submitted via Blockfrost; a Cardano Submit API endpoint can be configured as an alternative. This is the recommended option for most deployments due to its simpler operational model.


Next Steps:

  • CLI Options: Full list of flags and environment variables.