# Multisig + Timelock batch proposal creation through the API

**URL:** <https://forum.openzeppelin.com/t/multisig-timelock-batch-proposal-creation-through-the-api/36081>\
**Category:** Defender\
**Created:** [May 8, 2023, 10:48am UTC](https://forum.openzeppelin.com/t/multisig-timelock-batch-proposal-creation-through-the-api/36081 "2023-05-08T10:48:45Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![gnpensuro](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/gnpensuro/32/10750_2.png) [@gnpensuro](https://forum.openzeppelin.com/u/gnpensuro)\
**Post date:** [May 8, 2023, 10:48am UTC](https://forum.openzeppelin.com/t/multisig-timelock-batch-proposal-creation-through-the-api/36081/1 "2023-05-08T10:48:45Z")

</div>

Creating batch timelocked proposals through a multisig does not seem to be supported on defender, is it on the plans?

**💻 Environment**

```auto
   "@openzeppelin/contracts": "^4.7.3",
   "defender-admin-client": "^1.42.0",

```

**📝Details**

Through the UI we can create a proposal with an execution strategy of multisig + timelock, although that is only available for single-step proposals.

This does not seem to be possible through the API using defender-admin-client.

So I have 2 questions:

1. Is there plans to allow this sort of proposals to be created through the API
2. Is there plans to support batch timelocked proposals that need to be scheduled with a multisig

We can currently do timelocked batch proposals through a multisig by creating a custom proposal with a single `scheduleBatch` call to schedule the batch execution and then creating a second proposal to execute the batch using an EOA, a relayer or whatever. But this is a UX nightmare for the multisig owners that have to effectively do a blind signing on defender.

---

<div class="post-metadata">

**Author:** ![jeff\_steadefi](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/jeff_steadefi/32/20489_2.png) [@jeff\_steadefi](https://forum.openzeppelin.com/u/jeff_steadefi)\
**Post date:** [March 14, 2024, 1:44am UTC](https://forum.openzeppelin.com/t/multisig-timelock-batch-proposal-creation-through-the-api/36081/2 "2024-03-14T01:44:48Z")

</div>

Hello @gnpensuro , curious if you ever found a solution to this issue?

---

<div class="post-metadata">

**Author:** ![gnpensuro](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/gnpensuro/32/10750_2.png) [@gnpensuro](https://forum.openzeppelin.com/u/gnpensuro)\
**Post date:** [March 14, 2024, 2:19pm UTC](https://forum.openzeppelin.com/t/multisig-timelock-batch-proposal-creation-through-the-api/36081/3 "2024-03-14T14:19:47Z")

</div>

Hi @jeff_steadefi ! We're still using our workaround of creating two separate proposals:

- A "schedule" proposal that goes through the multisig to schedule the batch in the TimelockController
- An "execute" proposal that executes the proposal on the timelock after the lock time has elapsed

This has the advantage of allowing anyone in our team to execute the proposal once it's been scheduled, because the "execute" proposal simply goes through a relayer and doesn't require any wallets.

There's probably a way to do this much better with the new IasCode functionality they added to Defender, but we haven't really looked into it yet.

It also seems they removed the integration for multisigs in Defender 2.0, it now simply redirects you to Safe Wallet for proposal approvals and execution 🤷

---

<div class="post-metadata">

**Author:** ![jeff\_steadefi](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/jeff_steadefi/32/20489_2.png) [@jeff\_steadefi](https://forum.openzeppelin.com/u/jeff_steadefi)\
**Post date:** [April 1, 2024, 12:38am UTC](https://forum.openzeppelin.com/t/multisig-timelock-batch-proposal-creation-through-the-api/36081/4 "2024-04-01T00:38:40Z")

</div>

@gnpensuro thanks for the response and yeah.. not sure why Defender 2.0 removed the integration for multisigs 😕

Could I ask how you do this:

- A "schedule" proposal that goes through the multisig to schedule the batch in the TimelockController

As yes, the execution of proposals can indeed be done thru relayers, but it's the creation of the proposals that is really tedious through the UI, especially when done so in bulk..
