Railgun Unshield logo

Catalog action EVM Onchain wallet Gas receive

Unshield ERC20 tokens from Railgun private balance to public address (generates ZK proof, ~20-30s). Requires turnkey (for gas) and railgun (for mnemonic) connectors.

This action can require a wallet connector, gas, token movement, or an external side effect. Test with simulation or a controlled amount before using it in a live workflow.

At a Glance

FieldValue
Action IDrailgun-unshield
CategoryEVM Onchain
Connectorwallet
Requires gasYes
Funds movementreceive
Tagsblockchain, privacy, railgun, unshield, zk

Payload Schema

FieldTypeRequiredDescription
chainIdnumberYesChain ID. Supported: Ethereum (1), BNB Chain (56), Polygon (137), Arbitrum (42161)
tokenAddressstringYesERC20 token contract address to unshield
amountstringYesAmount to unshield in smallest unit (wei) as string
recipientAddressstringYesPublic recipient address (0x...)

Result Schema

FieldTypeRequiredDescription
statusstringYes-
transactionHashstringNoTransaction hash of the unshield operation
blockNumbernumberNoBlock number where the transaction was confirmed
gasUsedstringNoGas used for the unshield transaction
proofTimenumberNoTime taken to generate ZK proof in milliseconds

Examples

json
{ "type": "railgun-unshield", "payload": { "chainId": 1, "tokenAddress": "0x0000000000000000000000000000000000000000", "amount": "1000000", "recipientAddress": "0x0000000000000000000000000000000000000000" }, "children": [], "connector": { "type": "wallet", "id": "conn_wallet" }}

Payload fields can use workflow expressions such as {{$trigger.body.amount}}, {{$nodes.fetch.result.price}}, and {{$props.asset}} when the value should come from a trigger, prior node, or reusable workflow prop.

Ask a question... ⌘I