Overview
Browse all 100+ Zafeguard blockchain components — EVM, Bitcoin, Litecoin, Dogecoin, Dash, Solana, MPC, DeFi, HTTP, price oracles, and workflow logic components with full input/output schemas.
Overview
Zafeguard ships 100+ components across ten categories — including four UTXO chains (Bitcoin, Litecoin, Dogecoin, Dash), EVM, Solana, MPC key management, price oracles, HTTP, and workflow logic. Every component is a stateless, versioned executable unit with a typed input/output contract.
Component flags
Some components carry advisory flags you'll see in the dashboard and the SDK:
- Enterprise-only — gated behind the
ENTERPRISEplan. Adding to a workflow or invoking directly returns HTTP403for any other plan; upgrade your workspace to unlock. - Deprecated — still runs, but a replacement is recommended. Existing workflows keep working; the deprecation notice tells you what to migrate to.
A handful of flow-control components (such as SEQUENCER) accept any number of named output edges — add them on the canvas as you wire them up.
Component categories
| Category | Components | Description |
|---|---|---|
| HTTP & APIs | 1 | Generic HTTP requests to any REST endpoint |
| EVM (Ethereum) | 24 | Transactions, contract reads, Gnosis Safe, Uniswap, cross-chain bridges, utilities |
| Bitcoin | 7 | Transactions, UTXO selection, address derivation, balance queries |
| Litecoin | 7 | UTXO transactions for Litecoin (P2PKH / SegWit / Taproot) |
| Dogecoin | 7 | UTXO transactions for Dogecoin (P2PKH) |
| Dash | 7 | UTXO transactions for Dash (P2PKH) |
| Solana | 12 | Transactions, SPL tokens, program instructions, address derivation |
| MPC & Key Management | 9 | Threshold signing, key generation, encryption, BIP-32 child derivation |
| Price Oracles | 6 | Median USD spot prices for BTC, LTC, DOGE, DASH, any ERC-20 (or native) on any EVM chain, and any SPL token (or SOL) on Solana — sourced from 12 UTXO providers + 5 EVM providers + 7 Solana providers |
| Workflow Logic | 13 | FOR_EACH iteration, BRANCH conditional, SEQUENCER fan-out, RETURN, FORWARDER, distributed locks, array variables, object utilities, triggers |
| Utilities | 7 | Random values, hash functions, constants, OBJECT_BUILDER, JSON_FORMATTER |
All components
HTTP & APIs
| Module | Description |
|---|---|
API_CALL | Make any HTTP/HTTPS request with custom headers, method, and body |
EVM (Ethereum)
| Module | Description |
|---|---|
READ_EVM_CONTRACT | Call a read-only contract function via eth_call |
DECODE_EVM_FUNCTION_RESULT | ABI-decode raw bytes returned from a contract call |
EVM_KECCAK256 | Compute keccak256 hash of a hex string |
BUILD_EVM_CALLDATA | ABI-encode a function call into calldata |
BUILD_EVM_TRANSFER_CALLDATA | One-shot helper for native ETH or ERC-20 transfers |
BUILD_EVM_ERC20_APPROVE_CALLDATA | Encode an ERC-20 approve(spender, amount) call — upstream step for bridges and swaps |
BRIDGE_EVM_TOKENS | Bridge tokens across EVM chains in one source-chain transaction — decentralized, on-chain quotes only, auto-routed to the cheapest path |
BUILD_EVM_TRANSACTION | Construct an unsigned EVM transaction (gas estimation included) |
SIGN_EVM_TRANSACTION | Combine unsigned transaction + signature into a signed tx |
BROADCAST_EVM_TRANSACTION | Broadcast a signed transaction and return the tx hash |
WAIT_FOR_EVM_TRANSACTION | Wait until a transaction is confirmed on-chain |
GET_EVM_ACCOUNT_BALANCE | Fetch native or ERC-20 token balance for an address |
GET_EVM_CHAIN_ID | Retrieve the chain ID from a JSON-RPC endpoint |
COMPUTE_EVM_ADDRESS | Derive an EVM address from a compressed public key |
VALIDATE_EVM_ADDRESS | Validate an EVM address format + EIP-55 checksum |
ERC20_ABI_CONSTANT | Returns the standard ERC-20 ABI as a constant |
EVM_ZERO_ADDRESS_CONSTANT | Returns 0x0000000000000000000000000000000000000000 |
BUILD_EVM_GNOSIS_SAFE_DEPLOYMENT_CALLDATA | Build a Safe deployment transaction |
GET_EVM_GNOSIS_SAFE_NONCE | Fetch current nonce from a deployed Safe |
GET_EVM_GNOSIS_SAFE_ADDRESS | Predict the counterfactual Safe address |
IS_EVM_GNOSIS_SAFE_DEPLOYED | Check if a Safe has been deployed |
BUILD_EVM_GNOSIS_SAFE_SIGNATURE | Compute EIP-712 Safe transaction signature |
BUILD_EVM_GNOSIS_SAFE_TRANSACTION_CALLDATA | Assemble a Safe multisig transaction |
BUILD_EVM_GNOSIS_SAFE_OWNER_CALLDATA | Encode add/remove/swap owner calldata |
BUILD_EVM_MULTICALL_CALLDATA | Bundle multiple calls into a single multicall |
BUILD_EVM_MULTICALL_ITEM | Construct a single item for a multicall batch |
GET_UNISWAP_SWAP_QUOTE | Fetch a live swap quote from Uniswap V3 |
BUILD_EVM_UNISWAP_SWAP_CALLDATA | Build calldata for a Uniswap V3 swap transaction |
GET_EVM_DERIVATION_PATH | Generate a BIP-44 derivation path for an address index |
Bitcoin
| Module | Description |
|---|---|
BROADCAST_BITCOIN_TRANSACTION | Broadcast a raw transaction to the Bitcoin network |
BUILD_BITCOIN_TRANSACTION | Build an unsigned PSBT with UTXO selection and fee estimation |
SIGN_BITCOIN_TRANSACTION | Apply signatures to a PSBT and finalize the raw transaction |
COMPUTE_BITCOIN_SIGNATURE_HASH | Compute a Bitcoin message or raw SHA-256 signature hash |
COMPUTE_BITCOIN_ADDRESS | Derive a Bitcoin address from a public key |
GET_BITCOIN_ACCOUNT_BALANCE | Fetch total UTXO balance for a Bitcoin address |
GET_BITCOIN_DERIVATION_PATH | Generate a BIP-44/49/84/86 derivation path |
Litecoin
| Module | Description |
|---|---|
BROADCAST_LITECOIN_TRANSACTION | Broadcast a raw transaction to the Litecoin network |
BUILD_LITECOIN_TRANSACTION | Build an unsigned PSBT with UTXO selection and fee estimation |
SIGN_LITECOIN_TRANSACTION | Apply signatures to a PSBT and finalize the raw transaction |
COMPUTE_LITECOIN_SIGNATURE_HASH | Compute a Litecoin message or raw SHA-256 signature hash |
COMPUTE_LITECOIN_ADDRESS | Derive a Litecoin address (P2PKH / SegWit / Taproot) from a public key |
GET_LITECOIN_ACCOUNT_BALANCE | Fetch total UTXO balance for a Litecoin address |
GET_LITECOIN_DERIVATION_PATH | Generate a BIP-44/49/84/86 derivation path (coin type 2) |
Dogecoin
| Module | Description |
|---|---|
BROADCAST_DOGECOIN_TRANSACTION | Broadcast a raw transaction to the Dogecoin network |
BUILD_DOGECOIN_TRANSACTION | Build an unsigned PSBT with UTXO selection and fee estimation |
SIGN_DOGECOIN_TRANSACTION | Apply signatures to a PSBT and finalize the raw transaction |
COMPUTE_DOGECOIN_SIGNATURE_HASH | Compute a Dogecoin message or raw SHA-256 signature hash |
COMPUTE_DOGECOIN_ADDRESS | Derive a Dogecoin P2PKH address from a public key |
GET_DOGECOIN_ACCOUNT_BALANCE | Fetch total UTXO balance for a Dogecoin address |
GET_DOGECOIN_DERIVATION_PATH | Generate a BIP-44 derivation path (coin type 3) |
Dash
| Module | Description |
|---|---|
BROADCAST_DASH_TRANSACTION | Broadcast a raw transaction to the Dash network |
BUILD_DASH_TRANSACTION | Build an unsigned PSBT with UTXO selection and fee estimation |
SIGN_DASH_TRANSACTION | Apply signatures to a PSBT and finalize the raw transaction |
COMPUTE_DASH_SIGNATURE_HASH | Compute a Dash message or raw SHA-256 signature hash |
COMPUTE_DASH_ADDRESS | Derive a Dash P2PKH address from a public key |
GET_DASH_ACCOUNT_BALANCE | Fetch total UTXO balance for a Dash address |
GET_DASH_DERIVATION_PATH | Generate a BIP-44 derivation path (coin type 5) |
Solana
| Module | Description |
|---|---|
BROADCAST_SOLANA_TRANSACTION | Broadcast a signed transaction to the Solana network |
BUILD_SOLANA_TRANSACTION | Build an unsigned Solana transaction with SOL transfer and/or instructions |
SIGN_SOLANA_TRANSACTION | Apply Ed25519 signatures to an unsigned Solana transaction |
BUILD_SOLANA_INSTRUCTION | Construct a custom program instruction |
BUILD_SOLANA_ACCOUNT_META_ITEM | Wrap a public key into an AccountMeta for program instructions |
BUILD_SOLANA_TRANSFER_INSTRUCTION | Build SOL or SPL token transfer instructions |
BUILD_SOLANA_SIGNATURE_PAIR_ITEM | Wrap a public key + signature into a SignaturePair for multi-signing |
BUILD_SOLANA_NONCE_ACCOUNT_INSTRUCTION | Build instructions to create a durable nonce account |
COMPUTE_SOLANA_ADDRESS | Derive a Solana address from an Ed25519 public key |
CONVERT_SOLANA_PUBLIC_KEY | Convert a base58 Solana public key to hex |
GET_SOLANA_ACCOUNT_BALANCE | Fetch SOL or SPL token balance for an account |
GET_SOLANA_DERIVATION_PATH | Generate a BIP-44 Solana derivation path |
MPC & Key Management
| Module | Description |
|---|---|
GENERATE_KEY_SHARE | Create a new threshold key share (SECP256k1 or ED25519) |
COMPUTE_PUBLIC_KEY | Derive the public key from a key share at a derivation path |
SIGN_WITH_KEY_SHARE | Sign a message hash using a stored key share |
IMPORT_KEY_SHARE | Import an age-encrypted wrapped key share |
EXPORT_KEY_SHARE | Export a key share encrypted to a recipient's age public key |
REWRAPPING_KEY_SHARE | Re-encrypt a key share to a new age identity |
RECOVER_PRIVATE_KEY | Reconstruct a raw private key from a key share (threshold ≥ required) |
GENERATE_AGE_ENCRYPTION | Generate a fresh age identity (public key + encrypted private key) |
GET_NODE_RECIPIENT_KEY | Fetch the MPC node's age public key for secure key wrapping |
DERIVE_ROOT_PRIVATE_KEY | Derive a BIP-32 child key from a recovered root private key + chain code |
Price Oracles
| Module | Description |
|---|---|
GET_BITCOIN_USD_PRICE | Median BTC/USD price aggregated across 12 public sources |
GET_LITECOIN_USD_PRICE | Median LTC/USD price aggregated across 12 public sources |
GET_DOGECOIN_USD_PRICE | Median DOGE/USD price aggregated across 12 public sources |
GET_DASH_USD_PRICE | Median DASH/USD price aggregated across 12 public sources |
GET_EVM_USD_PRICE | Median USD price for any ERC-20 token (or chain's native gas token) on any EVM chain. Supported chain set is discovered dynamically from upstream sources |
GET_SOLANA_USD_PRICE | Median USD price for any SPL token (or native SOL) on Solana |
Workflow Logic
| Module | Description |
|---|---|
FOR_EACH | Iterate over an array, executing the downstream subgraph for each item |
ARRAY_BUILDER | Collect multiple inputs into a typed array |
BRANCH | Conditional routing — true / false sequence outputs based on a boolean |
RETURN | Emit a value as the workflow's tracked result |
SEQUENCER | Fan-out one inbound edge to five named outbound edges |
FORWARDER | Pass-through anchor node for tidier canvas wiring |
CREATE_ARRAY_VARIABLE | Create or reset a workflow-scoped array variable |
APPEND_ARRAY_VARIABLE | Push a value onto an array variable |
GET_ARRAY_VARIABLE | Read the current value of an array variable |
MERGE_ARRAYS | Concatenate any number of arrays into one |
GET_OBJECT_VALUE | Extract a value from an object by key |
FIND_ARRAY_OBJECT | Find the first object in an array by matching a key |
ACQUIRE_LOCK | Serialise concurrent runs on a shared lock ID |
RELEASE_LOCK | Release a previously acquired lock |
ON_API_CALLED | Trigger: start a workflow when an HTTP request is received |
STRING_CONSTANT | Emit a static string value as a workflow output |
Utilities
| Module | Description |
|---|---|
RANDOM_UUID | Generate a cryptographically random UUID v4 |
RANDOM_HEX | Generate a cryptographically random hex string |
RANDOM_NUMBER | Generate a cryptographically random integer |
ERC20_ABI_CONSTANT | Returns the standard ERC-20 ABI |
EVM_ZERO_ADDRESS_CONSTANT | Returns the EVM zero address |
OBJECT_BUILDER | Compose an object from dynamic input ports |
JSON_FORMATTER | Emit a JSON template with {{placeholder}} substitution from inputs |
How components work
Typed ports
Every component defines inputs and outputs with JSON Schema types. The visual builder enforces type compatibility when you wire components together. Incompatible connections show a warning.
Billing model
Components are billed in two ways:
| Type | How it's charged |
|---|---|
PER_COMPONENT | Fixed credits per execution (regardless of duration) |
PER_EXECUTION_TIME | Credits proportional to wall-clock execution time |
Check each component's billing field for the exact amount.
Dynamic variables
Some components support dynamic variables — inputs or outputs that you define at design time. This lets you pass arbitrary data between workflow components even when the static schema doesn't have a matching field.
Execution attempts
Transient failures (network errors, chain-RPC timeouts) are retried automatically up to 3 times. The executionAttempt field in run stage results shows which attempt succeeded.
Discover components via API
The full live catalog (including third-party integrations) is always available:
curl https://api.zafeguard.com/v1/system/componentsThis endpoint is public — no auth required.
This returns the complete ComponentResponse[] with current billing amounts, schemas, and metadata.