cURL
curl --request POST \ --url https://demo-api.mobula.io/api/2/pm/deploy/submit \ --header 'Content-Type: application/json' \ --data ' { "address": "<string>", "signature": "<string>" } '
{ "data": { "to": "<string>", "calldata": "<string>", "chainId": 123, "safeAddress": "<string>" }, "hostname": "<string>", "took": 123 }
Returns calldata for deploying a Safe account on Polymarket. The user must broadcast this transaction themselves on Polygon after signing the typed data from Account Deploy Build.
Show Deploy Calldata
createProxy
0x
curl -X POST "https://api.mobula.io/api/2/pm/deploy/submit" \ -H "Content-Type: application/json" \ -d '{ "address": "0xYourWalletAddress", "signature": "0xabc123..." }'
// 1. Build deploy typed data const buildRes = await fetch('https://api.mobula.io/api/2/pm/deploy/build', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ address: walletAddress }) }); const { data: typedData } = await buildRes.json(); // 2. Sign the typed data const signature = await walletClient.signTypedData(typedData); // 3. Get deployment calldata const submitRes = await fetch('https://api.mobula.io/api/2/pm/deploy/submit', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ address: walletAddress, signature }) }); const { data: deployTx } = await submitRes.json(); // 4. Send the deployment transaction on Polygon const txHash = await walletClient.sendTransaction({ to: deployTx.to, data: deployTx.calldata, chain: polygon });
Deploy submit result
Show child attributes