Railgun Shield
Shield ERC20 tokens from public wallet to Railgun private balance. Requires turnkey (for signing) and railgun (for mnemonic) connectors.
Catalog action EVM Onchain wallet Gas send
Shield ERC20 tokens from public wallet to Railgun private balance. Requires turnkey (for signing) 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
| Field | Value |
|---|---|
| Action ID | railgun-shield |
| Category | EVM Onchain |
| Connector | wallet |
| Requires gas | Yes |
| Funds movement | send |
| Tags | blockchain, privacy, railgun, shield, zk |
Payload Schema
| Field | Type | Required | Description |
|---|---|---|---|
chainId | number | Yes | Chain ID. Supported: Ethereum (1), BNB Chain (56), Polygon (137), Arbitrum (42161) |
tokenAddress | string | Yes | ERC20 token contract address to shield |
amount | string | Yes | Amount to shield in smallest unit (wei) as string |
railgunAddress | string | Yes | Railgun address to receive shielded tokens (0zk...) |
Result Schema
| Field | Type | Required | Description |
|---|---|---|---|
status | string | Yes | - |
transactionHash | string | No | Transaction hash of the shield operation |
blockNumber | number | No | Block number where the transaction was confirmed |
gasUsed | string | No | Gas used for the shield transaction |
Examples
json{ "type": "railgun-shield", "payload": { "chainId": 1, "tokenAddress": "0x0000000000000000000000000000000000000000", "amount": "1000000", "railgunAddress": "0zk1q8p9example..." }, "children": [], "connector": { "type": "wallet", "id": "conn_wallet" }}
bashcurl -X POST "https://api.b3os.org/v1/actions/railgun-shield/test" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "inputs": { "chainId": 1, "tokenAddress": "0x0000000000000000000000000000000000000000", "amount": "1000000", "railgunAddress": "0zk1q8p9example..." }}'
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.
