Thirdweb Engine: Write Contract
Execute a write transaction on a smart contract via your Thirdweb Engine. Queues the transaction and returns a queueId for tracking. Use get-transaction-status to poll for confirmation. Ideal for: state-changing contract calls, token transfers, minting.
Catalog action Integrations thirdweb-engine
Execute a write transaction on a smart contract via your Thirdweb Engine. Queues the transaction and returns a queueId for tracking. Use get-transaction-status to poll for confirmation. Ideal for: state-changing contract calls, token transfers, minting.
At a Glance
| Field | Value |
|---|---|
| Action ID | thirdweb-engine-write-contract |
| Category | Integrations |
| Connector | thirdweb-engine |
| Requires gas | No |
| Funds movement | None declared |
| Tags | smart-contract, integration, contract, write, transaction, onchain |
Payload Schema
| Field | Type | Required | Description |
|---|---|---|---|
chain | string | Yes | Chain ID (e.g. '8453' for Base, '1' for Ethereum) |
contractAddress | string | Yes | Contract address to write to |
functionName | string | Yes | Solidity function name or full signature (e.g. "transfer" or "function transfer(address to, uint256 amount)") |
args | array | Yes | Function arguments |
backendWalletAddress | string | No | Backend wallet to send from (overrides connector default) |
value | string | No | Native currency amount in wei to send with the transaction |
Result Schema
| Field | Type | Required | Description |
|---|---|---|---|
queueId | string | Yes | Engine queue ID for tracking the transaction |
Examples
json{ "type": "thirdweb-engine-write-contract", "payload": { "chain": "example-chain", "contractAddress": "0x0000000000000000000000000000000000000000", "functionName": "example-functionName", "args": [] }, "children": [], "connector": { "type": "thirdweb-engine", "id": "conn_thirdweb_engine" }}
bashcurl -X POST "https://api.b3os.org/v1/actions/thirdweb-engine-write-contract/test" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "inputs": { "chain": "example-chain", "contractAddress": "0x0000000000000000000000000000000000000000", "functionName": "example-functionName", "args": [] }}'
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.
