Safe Transaction Service API Reference
The Safe Transaction Service API Reference is a collection of endpoints that allow to keep track of Safe transactions.
This service is available on multiple networks, at different endpoints.
Contracts
List Contracts
GET
/api/v1/contracts/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/contracts/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Sample Response
_23{_23 "count": 143444,_23 "next": "https://safe-transaction-mainnet.safe.global/api/v1/contracts/?limit=2&offset=2",_23 "previous": null,_23 "results": [_23 {_23 "address": "0x0000000000000000000000000000000000000000",_23 "name": "",_23 "displayName": "",_23 "logoUri": null,_23 "contractAbi": null,_23 "trustedForDelegateCall": false_23 },_23 {_23 "address": "0x0000000000000000000000000000000000000002",_23 "name": "",_23 "displayName": "",_23 "logoUri": null,_23 "contractAbi": null,_23 "trustedForDelegateCall": false_23 }_23 ]_23}
Get Specific Contract
GET
/api/v1/contracts/{address}/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/contracts/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Sample Response
_29{_29 "address": "0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75",_29 "name": "Proxy",_29 "displayName": "",_29 "logoUri": null,_29 "contractAbi": {_29 "abi": [_29 {_29 "type": "constructor",_29 "inputs": [_29 {_29 "name": "_masterCopy",_29 "type": "address"_29 }_29 ],_29 "payable": false,_29 "stateMutability": "nonpayable"_29 },_29 {_29 "type": "fallback",_29 "payable": true,_29 "stateMutability": "payable"_29 }_29 ],_29 "description": "Proxy",_29 "relevance": 100_29 },_29 "trustedForDelegateCall": false_29}
Data-decoder
Get Decoded Data
Returns decoded information using tx service internal ABI information given the tx data as a
0x
prefixed hexadecimal string.
If address of the receiving contract is provided decoded data will be more accurate,
as in case of ABI collision service will know which ABI to use.Request Body
POST
/api/v1/data-decoder/
Sample Request
Try it on Swagger
_10curl -X POST https://safe-transaction-mainnet.safe.global/api/v1/data-decoder/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \_10 -d '{_10 "data": "0x8d80ff0a000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004f6006b175474e89094c44da98b954eedeac495271d0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044095ea7b30000000000000000000000001111111254fb6c44bac0bed2854e76f90643097d0000000000000000000000000000000000000000000c685fa11e01ec80000000001111111254fb6c44bac0bed2854e76f90643097d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004087c025200000000000000000000000000f2f400c138f9fb900576263af0bc7fcde2b1b8a8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001800000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000f2f400c138f9fb900576263af0bc7fcde2b1b8a80000000000000000000000004f3a120e72c76c22ae802d129f599bfdbc31cb810000000000000000000000000000000000000000000c685fa11e01ec8000000000000000000000000000000000000000000000000000000000000da41c43c100000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064eb5625d90000000000000000000000006b175474e89094c44da98b954eedeac495271d0f00000000000000000000000089b78cfa322f6c5de0abceecab66aee45393cc5a0000000000000000000000000000000000000000000c685fa11e01ec800000000000000000000000000000000000000000000000000000000000000080000000000000000000000089b78cfa322f6c5de0abceecab66aee45393cc5a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000448d7ef9bb0000000000000000000000001111111254fb6c44bac0bed2854e76f90643097d00000000000000000000000000000000000000000000000000000da475abf0000000000000000000000000000000000000000000000000000000000065575cda00000000000000000000",_10 "to": "0xBEFA89D90c112A416139F42046Cc2d4A8a308815"_10}'
Sample Response
_68{_68 "method": "multiSend",_68 "parameters": [_68 {_68 "name": "transactions",_68 "type": "bytes",_68 "value": "0x006b175474e89094c44da98b954eedeac495271d0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044095ea7b30000000000000000000000001111111254fb6c44bac0bed2854e76f90643097d0000000000000000000000000000000000000000000c685fa11e01ec80000000001111111254fb6c44bac0bed2854e76f90643097d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004087c025200000000000000000000000000f2f400c138f9fb900576263af0bc7fcde2b1b8a8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001800000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000f2f400c138f9fb900576263af0bc7fcde2b1b8a80000000000000000000000004f3a120e72c76c22ae802d129f599bfdbc31cb810000000000000000000000000000000000000000000c685fa11e01ec8000000000000000000000000000000000000000000000000000000000000da41c43c100000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064eb5625d90000000000000000000000006b175474e89094c44da98b954eedeac495271d0f00000000000000000000000089b78cfa322f6c5de0abceecab66aee45393cc5a0000000000000000000000000000000000000000000c685fa11e01ec800000000000000000000000000000000000000000000000000000000000000080000000000000000000000089b78cfa322f6c5de0abceecab66aee45393cc5a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000448d7ef9bb0000000000000000000000001111111254fb6c44bac0bed2854e76f90643097d00000000000000000000000000000000000000000000000000000da475abf0000000000000000000000000000000000000000000000000000000000065575cda",_68 "valueDecoded": [_68 {_68 "operation": 0,_68 "to": "0x6B175474E89094C44Da98b954EedeAC495271d0F",_68 "value": "0",_68 "data": "0x095ea7b30000000000000000000000001111111254fb6c44bac0bed2854e76f90643097d0000000000000000000000000000000000000000000c685fa11e01ec80000000",_68 "dataDecoded": {_68 "method": "approve",_68 "parameters": [_68 {_68 "name": "usr",_68 "type": "address",_68 "value": "0x1111111254fb6c44bAC0beD2854e76F90643097d"_68 },_68 {_68 "name": "wad",_68 "type": "uint256",_68 "value": "15000000000000000285212672"_68 }_68 ]_68 }_68 },_68 {_68 "operation": 0,_68 "to": "0x1111111254fb6c44bAC0beD2854e76F90643097d",_68 "value": "0",_68 "data": "0x7c025200000000000000000000000000f2f400c138f9fb900576263af0bc7fcde2b1b8a8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001800000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000f2f400c138f9fb900576263af0bc7fcde2b1b8a80000000000000000000000004f3a120e72c76c22ae802d129f599bfdbc31cb810000000000000000000000000000000000000000000c685fa11e01ec8000000000000000000000000000000000000000000000000000000000000da41c43c100000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064eb5625d90000000000000000000000006b175474e89094c44da98b954eedeac495271d0f00000000000000000000000089b78cfa322f6c5de0abceecab66aee45393cc5a0000000000000000000000000000000000000000000c685fa11e01ec800000000000000000000000000000000000000000000000000000000000000080000000000000000000000089b78cfa322f6c5de0abceecab66aee45393cc5a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000448d7ef9bb0000000000000000000000001111111254fb6c44bac0bed2854e76f90643097d00000000000000000000000000000000000000000000000000000da475abf0000000000000000000000000000000000000000000000000000000000065575cda",_68 "dataDecoded": {_68 "method": "swap",_68 "parameters": [_68 {_68 "name": "caller",_68 "type": "address",_68 "value": "0xF2F400C138F9fb900576263af0BC7fCde2B1b8a8"_68 },_68 {_68 "name": "desc",_68 "type": "(address,address,address,address,uint256,uint256,uint256,bytes)",_68 "value": [_68 "0x6B175474E89094C44Da98b954EedeAC495271d0F",_68 "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",_68 "0xF2F400C138F9fb900576263af0BC7fCde2B1b8a8",_68 "0x4f3a120E72C76c22ae802D129F599BFDbc31cb81",_68 "15000000000000000285212672",_68 "14998500000000",_68 "4",_68 "0x"_68 ]_68 },_68 {_68 "name": "data",_68 "type": "bytes",_68 "value": "0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064eb5625d90000000000000000000000006b175474e89094c44da98b954eedeac495271d0f00000000000000000000000089b78cfa322f6c5de0abceecab66aee45393cc5a0000000000000000000000000000000000000000000c685fa11e01ec800000000000000000000000000000000000000000000000000000000000000080000000000000000000000089b78cfa322f6c5de0abceecab66aee45393cc5a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000448d7ef9bb0000000000000000000000001111111254fb6c44bac0bed2854e76f90643097d00000000000000000000000000000000000000000000000000000da475abf00000000000000000000000000000000000000000000000000000000000"_68 }_68 ]_68 }_68 }_68 ]_68 }_68 ]_68}
Delegates
List Delegates
GET
/api/v2/delegates/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v2/delegates/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Sample Response
_10{_10 "count": 0,_10 "next": null,_10 "previous": null,_10 "results": []_10}
Create Delegate
Create a delegate for a Safe address with a custom label. Calls with same delegate but different label or signer will update the label or delegator if different. An EOA is required to sign the following EIP712 data:
_23 {_23 "types": {_23 "EIP712Domain": [_23 {"name": "name", "type": "string"},_23 {"name": "version", "type": "string"},_23 {"name": "chainId", "type": "uint256"},_23 ],_23 "AddDelegate": [_23 {"name": "delegateAddress", "type": "bytes32"},_23 {"name": "totp", "type": "uint256"},_23 ],_23 },_23 "primaryType": "AddDelegate",_23 "domain": {_23 "name": "Safe Transaction Service",_23 "version": "1.0",_23 "chainId": chain_id,_23 },_23 "message": {_23 "delegateAddress": delegate_address,_23 "totp": totp,_23 },_23}
totp
parameter is calculated with T0=0
and Tx=3600
. totp
is calculated by taking the
Unix UTC epoch time (no milliseconds) and dividing by 3600 (natural division, no decimals)Request Body
POST
/api/v2/delegates/
Sample Request
Try it on Swagger
_10curl -X POST https://safe-transaction-mainnet.safe.global/api/v2/delegates/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \_10 -d '{_10 "safe": "0xB88F61E6FbdA83fbfffAbE364112137480398018",_10 "delegate": "0x5A93Fe8eBBf78738468c10894D7f36fA247b71C0",_10 "delegator": "0x5A93Fe8eBBf78738468c10894D7f36fA247b71C0",_10 "signature": "0xae31da115daa589fa3cee016c756d191d4140fc0eb30c1565cdddcad35068300669abda9c56e1c5886d72c599e1af29fc70eedd16be72109aa593699661482121c",_10 "label": "3b3b57b3"_10}'
List Delegates
GET
/api/v2/delegates/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v2/delegates/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Sample Response
_10{_10 "count": 0,_10 "next": null,_10 "previous": null,_10 "results": []_10}
Create Delegate
Create a delegate for a Safe address with a custom label. Calls with same delegate but different label or signer will update the label or delegator if different. An EOA is required to sign the following EIP712 data:
_23 {_23 "types": {_23 "EIP712Domain": [_23 {"name": "name", "type": "string"},_23 {"name": "version", "type": "string"},_23 {"name": "chainId", "type": "uint256"},_23 ],_23 "AddDelegate": [_23 {"name": "delegateAddress", "type": "bytes32"},_23 {"name": "totp", "type": "uint256"},_23 ],_23 },_23 "primaryType": "AddDelegate",_23 "domain": {_23 "name": "Safe Transaction Service",_23 "version": "1.0",_23 "chainId": chain_id,_23 },_23 "message": {_23 "delegateAddress": delegate_address,_23 "totp": totp,_23 },_23}
totp
parameter is calculated with T0=0
and Tx=3600
. totp
is calculated by taking the
Unix UTC epoch time (no milliseconds) and dividing by 3600 (natural division, no decimals)Request Body
POST
/api/v2/delegates/
Sample Request
Try it on Swagger
_10curl -X POST https://safe-transaction-mainnet.safe.global/api/v2/delegates/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \_10 -d '{_10 "safe": "0xB88F61E6FbdA83fbfffAbE364112137480398018",_10 "delegate": "0x5A93Fe8eBBf78738468c10894D7f36fA247b71C0",_10 "delegator": "0x5A93Fe8eBBf78738468c10894D7f36fA247b71C0",_10 "signature": "0xae31da115daa589fa3cee016c756d191d4140fc0eb30c1565cdddcad35068300669abda9c56e1c5886d72c599e1af29fc70eedd16be72109aa593699661482121c",_10 "label": "3b3b57b3"_10}'
Delete Delegate
Removes all delegate/delegator pairs found or combinations of safe/delegate/delegator/delegate. The signature is constructed in the same way as for adding a delegate, but in this case the signer can be either the
delegator
(owner) or the delegate
itself. Check POST /delegates/
.Request Body
DELETE
/api/v2/delegates/{delegate_address}/
Sample Request
Try it on Swagger
_10curl -X DELETE https://safe-transaction-mainnet.safe.global/api/v2/delegates/0x5A93Fe8eBBf78738468c10894D7f36fA247b71C0/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \_10 -d '{_10 "safe": "0xB88F61E6FbdA83fbfffAbE364112137480398018",_10 "delegator": "0x5A93Fe8eBBf78738468c10894D7f36fA247b71C0",_10 "signature": "0xae31da115daa589fa3cee016c756d191d4140fc0eb30c1565cdddcad35068300669abda9c56e1c5886d72c599e1af29fc70eedd16be72109aa593699661482121c"_10}'
Sample Response
_10"Deleted"
Messages
Get Message
GET
/api/v1/messages/{message_hash}/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/messages/0x3b3b57b3/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Sign Message
POST
/api/v1/messages/{message_hash}/signatures/
Sample Request
Try it on Swagger
_10curl -X POST https://safe-transaction-mainnet.safe.global/api/v1/messages/0x3b3b57b3/signatures/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \_10 -d '{_10 "signature": "0xae31da115daa589fa3cee016c756d191d4140fc0eb30c1565cdddcad35068300669abda9c56e1c5886d72c599e1af29fc70eedd16be72109aa593699661482121c"_10}'
List Messages
GET
/api/v1/safes/{address}/messages/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/safes/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/messages/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Sample Response
_10{_10 "count": 0,_10 "next": null,_10 "previous": null,_10 "results": []_10}
Create Signed Message
Create a new signed message for a Safe. Message can be:
- A
string
, soEIP191
will be used to get the hash. - An
EIP712
object
.
Hash will be calculated from the provided
message
. Sending a raw hash
will not be accepted,
service needs to derive it itself.Request Body
POST
/api/v1/safes/{address}/messages/
Sample Request
Try it on Swagger
_10curl -X POST https://safe-transaction-mainnet.safe.global/api/v1/safes/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/messages/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \_10 -d '{_10 "message": "0x1234",_10 "safeAppId": "safeAppId",_10 "signature": "0xae31da115daa589fa3cee016c756d191d4140fc0eb30c1565cdddcad35068300669abda9c56e1c5886d72c599e1af29fc70eedd16be72109aa593699661482121c"_10}'
List Messages
GET
/api/v1/safes/{address}/messages/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/safes/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/messages/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Sample Response
_10{_10 "count": 0,_10 "next": null,_10 "previous": null,_10 "results": []_10}
Create Signed Message
Create a new signed message for a Safe. Message can be:
- A
string
, soEIP191
will be used to get the hash. - An
EIP712
object
.
Hash will be calculated from the provided
message
. Sending a raw hash
will not be accepted,
service needs to derive it itself.Request Body
POST
/api/v1/safes/{address}/messages/
Sample Request
Try it on Swagger
_10curl -X POST https://safe-transaction-mainnet.safe.global/api/v1/safes/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/messages/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \_10 -d '{_10 "message": "0x1234",_10 "safeAppId": "safeAppId",_10 "signature": "0xae31da115daa589fa3cee016c756d191d4140fc0eb30c1565cdddcad35068300669abda9c56e1c5886d72c599e1af29fc70eedd16be72109aa593699661482121c"_10}'
Transactions
Get Module Transaction
:return: module transaction filtered by module_transaction_id
GET
/api/v1/module-transaction/{module_transaction_id}/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/module-transaction/0x3b3b57b3 \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Get Multisig Transaction
GET
/api/v1/multisig-transactions/{safe_tx_hash}/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/multisig-transactions/0xa059b4571d8e6cf551eea796f9d86a414083bdc3d5d5be88486589a7b6214be2/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Delete Queued Multisig Transaction
Delete a queued but not executed multisig transaction. Only the proposer can delete the transaction. Delegates are not valid, if the transaction was proposed by a delegator the owner who delegated to the delegate must be used. An EOA is required to sign the following EIP712 data:
_25 {_25 "types": {_25 "EIP712Domain": [_25 {"name": "name", "type": "string"},_25 {"name": "version", "type": "string"},_25 {"name": "chainId", "type": "uint256"},_25 {"name": "verifyingContract", "type": "address"},_25 ],_25 "DeleteRequest": [_25 {"name": "safeTxHash", "type": "bytes32"},_25 {"name": "totp", "type": "uint256"},_25 ],_25 },_25 "primaryType": "DeleteRequest",_25 "domain": {_25 "name": "Safe Transaction Service",_25 "version": "1.0",_25 "chainId": chain_id,_25 "verifyingContract": safe_address,_25 },_25 "message": {_25 "safeTxHash": safe_tx_hash,_25 "totp": totp,_25 },_25}
totp
parameter is calculated with T0=0
and Tx=3600
. totp
is calculated by taking the
Unix UTC epoch time (no milliseconds) and dividing by 3600 (natural division, no decimals)Request Body
DELETE
/api/v1/multisig-transactions/{safe_tx_hash}/
Sample Request
Try it on Swagger
_10curl -X DELETE https://safe-transaction-mainnet.safe.global/api/v1/multisig-transactions/0xa059b4571d8e6cf551eea796f9d86a414083bdc3d5d5be88486589a7b6214be2/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \_10 -d '{_10 "safeTxHash": "",_10 "signature": "0xae31da115daa589fa3cee016c756d191d4140fc0eb30c1565cdddcad35068300669abda9c56e1c5886d72c599e1af29fc70eedd16be72109aa593699661482121c"_10}'
Sample Response
_10"Deleted"
Get Multisig Transaction
GET
/api/v1/multisig-transactions/{safe_tx_hash}/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/multisig-transactions/0xa059b4571d8e6cf551eea796f9d86a414083bdc3d5d5be88486589a7b6214be2/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Delete Queued Multisig Transaction
Delete a queued but not executed multisig transaction. Only the proposer can delete the transaction. Delegates are not valid, if the transaction was proposed by a delegator the owner who delegated to the delegate must be used. An EOA is required to sign the following EIP712 data:
_25 {_25 "types": {_25 "EIP712Domain": [_25 {"name": "name", "type": "string"},_25 {"name": "version", "type": "string"},_25 {"name": "chainId", "type": "uint256"},_25 {"name": "verifyingContract", "type": "address"},_25 ],_25 "DeleteRequest": [_25 {"name": "safeTxHash", "type": "bytes32"},_25 {"name": "totp", "type": "uint256"},_25 ],_25 },_25 "primaryType": "DeleteRequest",_25 "domain": {_25 "name": "Safe Transaction Service",_25 "version": "1.0",_25 "chainId": chain_id,_25 "verifyingContract": safe_address,_25 },_25 "message": {_25 "safeTxHash": safe_tx_hash,_25 "totp": totp,_25 },_25}
totp
parameter is calculated with T0=0
and Tx=3600
. totp
is calculated by taking the
Unix UTC epoch time (no milliseconds) and dividing by 3600 (natural division, no decimals)Request Body
DELETE
/api/v1/multisig-transactions/{safe_tx_hash}/
Sample Request
Try it on Swagger
_10curl -X DELETE https://safe-transaction-mainnet.safe.global/api/v1/multisig-transactions/0xa059b4571d8e6cf551eea796f9d86a414083bdc3d5d5be88486589a7b6214be2/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \_10 -d '{_10 "safeTxHash": "",_10 "signature": "0xae31da115daa589fa3cee016c756d191d4140fc0eb30c1565cdddcad35068300669abda9c56e1c5886d72c599e1af29fc70eedd16be72109aa593699661482121c"_10}'
Sample Response
_10"Deleted"
List Multisig Confirmations
GET
/api/v1/multisig-transactions/{safe_tx_hash}/confirmations/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/multisig-transactions/0xa059b4571d8e6cf551eea796f9d86a414083bdc3d5d5be88486589a7b6214be2/confirmations/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Sample Response
_10{_10 "count": 0,_10 "next": null,_10 "previous": null,_10 "results": []_10}
Confirm Multisig Transaction
Add a confirmation for a transaction. More than one signature can be used. This endpoint does not support the use of delegates to make a transaction trusted.
Request Body
POST
/api/v1/multisig-transactions/{safe_tx_hash}/confirmations/
Sample Request
Try it on Swagger
_10curl -X POST https://safe-transaction-mainnet.safe.global/api/v1/multisig-transactions/0xa059b4571d8e6cf551eea796f9d86a414083bdc3d5d5be88486589a7b6214be2/confirmations/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \_10 -d '{_10 "signature": "0xae31da115daa589fa3cee016c756d191d4140fc0eb30c1565cdddcad35068300669abda9c56e1c5886d72c599e1af29fc70eedd16be72109aa593699661482121c"_10}'
List Multisig Confirmations
GET
/api/v1/multisig-transactions/{safe_tx_hash}/confirmations/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/multisig-transactions/0xa059b4571d8e6cf551eea796f9d86a414083bdc3d5d5be88486589a7b6214be2/confirmations/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Sample Response
_10{_10 "count": 0,_10 "next": null,_10 "previous": null,_10 "results": []_10}
Confirm Multisig Transaction
Add a confirmation for a transaction. More than one signature can be used. This endpoint does not support the use of delegates to make a transaction trusted.
Request Body
POST
/api/v1/multisig-transactions/{safe_tx_hash}/confirmations/
Sample Request
Try it on Swagger
_10curl -X POST https://safe-transaction-mainnet.safe.global/api/v1/multisig-transactions/0xa059b4571d8e6cf551eea796f9d86a414083bdc3d5d5be88486589a7b6214be2/confirmations/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \_10 -d '{_10 "signature": "0xae31da115daa589fa3cee016c756d191d4140fc0eb30c1565cdddcad35068300669abda9c56e1c5886d72c599e1af29fc70eedd16be72109aa593699661482121c"_10}'
List Transactions
GET
/api/v1/safes/{address}/all-transactions/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/safes/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/all-transactions/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Sample Response
_170{_170 "count": 81,_170 "next": "https://safe-transaction-mainnet.safe.global/api/v1/safes/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/all-transactions/?limit=2&offset=2",_170 "previous": null,_170 "results": [_170 {_170 "safe": "0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75",_170 "to": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",_170 "value": "0",_170 "data": "0x8d80ff0a000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000ce00cd2e72aebe2a203b84f46deec948e6465db51c75000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000247de7edef000000000000000000000000d9db270c1b5e3bd161e8c8503c55ceabee70955200cd2e72aebe2a203b84f46deec948e6465db51c7500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",_170 "operation": 1,_170 "gasToken": "0x0000000000000000000000000000000000000000",_170 "safeTxGas": 48700,_170 "baseGas": 0,_170 "gasPrice": "0",_170 "refundReceiver": "0x0000000000000000000000000000000000000000",_170 "nonce": 49,_170 "executionDate": "2024-04-23T02:38:11Z",_170 "submissionDate": "2024-04-23T02:38:01.015676Z",_170 "modified": "2024-04-23T02:38:11Z",_170 "blockNumber": 19715160,_170 "transactionHash": "0xceeacc3007949920a43a3785e650e0bb86bdd5c20ccb2f6704d25839c81bf306",_170 "safeTxHash": "0xba192fd48af510cf6065b4997a7c4e5f9f320c82bd6951cd32396d714da4b4cf",_170 "proposer": "0xA1b02d8c67b0FDCF4E379855868DeB470E169cfB",_170 "executor": "0xA1b02d8c67b0FDCF4E379855868DeB470E169cfB",_170 "isExecuted": true,_170 "isSuccessful": true,_170 "ethGasPrice": "8709486175",_170 "maxFeePerGas": "9000000000",_170 "maxPriorityFeePerGas": "3086913705",_170 "gasUsed": 58769,_170 "fee": "511847793018575",_170 "origin": "{}",_170 "dataDecoded": {_170 "method": "multiSend",_170 "parameters": [_170 {_170 "name": "transactions",_170 "type": "bytes",_170 "value": "0x00cd2e72aebe2a203b84f46deec948e6465db51c75000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000247de7edef000000000000000000000000d9db270c1b5e3bd161e8c8503c55ceabee70955200cd2e72aebe2a203b84f46deec948e6465db51c7500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",_170 "valueDecoded": [_170 {_170 "operation": 0,_170 "to": "0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75",_170 "value": "0",_170 "data": "0x7de7edef000000000000000000000000d9db270c1b5e3bd161e8c8503c55ceabee709552",_170 "dataDecoded": {_170 "method": "changeMasterCopy",_170 "parameters": [_170 {_170 "name": "_masterCopy",_170 "type": "address",_170 "value": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552"_170 }_170 ]_170 }_170 },_170 {_170 "operation": 0,_170 "to": "0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75",_170 "value": "0",_170 "data": null,_170 "dataDecoded": null_170 }_170 ]_170 }_170 ]_170 },_170 "confirmationsRequired": 1,_170 "confirmations": [_170 {_170 "owner": "0xA1b02d8c67b0FDCF4E379855868DeB470E169cfB",_170 "submissionDate": "2024-04-23T02:38:11Z",_170 "transactionHash": null,_170 "signature": "0x000000000000000000000000a1b02d8c67b0fdcf4e379855868deb470e169cfb000000000000000000000000000000000000000000000000000000000000000001",_170 "signatureType": "APPROVED_HASH"_170 }_170 ],_170 "trusted": true,_170 "signatures": "0x000000000000000000000000a1b02d8c67b0fdcf4e379855868deb470e169cfb000000000000000000000000000000000000000000000000000000000000000001",_170 "transfers": [],_170 "txType": "MULTISIG_TRANSACTION"_170 },_170 {_170 "safe": "0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75",_170 "to": "0xA0b937D5c8E32a80E3a8ed4227CD020221544ee6",_170 "value": "0",_170 "data": "0x0087b83f172fb115f1aa2601f3a45ccdc47cacc02ed0ffa48d07d22d201f548bf49fed23000000000000000000000000cd2e72aebe2a203b84f46deec948e6465db51c7500000000000000000000000000000000ffffffffffffffffffffffffffffffff",_170 "operation": 0,_170 "gasToken": "0x0000000000000000000000000000000000000000",_170 "safeTxGas": 133927,_170 "baseGas": 0,_170 "gasPrice": "0",_170 "refundReceiver": "0x0000000000000000000000000000000000000000",_170 "nonce": 48,_170 "executionDate": "2024-04-23T02:36:47Z",_170 "submissionDate": "2024-04-23T02:36:39.804393Z",_170 "modified": "2024-04-23T02:36:47Z",_170 "blockNumber": 19715153,_170 "transactionHash": "0x3e8d89540a749fc0cc81709004a9047e6199dcec7b4d99d2f660a1d26e6e089c",_170 "safeTxHash": "0xf6846a40fceb0650ed84f1fec8cea5fd18ca9fd14a6bcbf1a7c18c831f47e709",_170 "proposer": "0xA1b02d8c67b0FDCF4E379855868DeB470E169cfB",_170 "executor": "0xA1b02d8c67b0FDCF4E379855868DeB470E169cfB",_170 "isExecuted": true,_170 "isSuccessful": true,_170 "ethGasPrice": "7000000000",_170 "maxFeePerGas": "7000000000",_170 "maxPriorityFeePerGas": "1398475847",_170 "gasUsed": 123205,_170 "fee": "862435000000000",_170 "origin": "{\"url\": \"https://governance.safe.global\", \"name\": \"Safe{DAO} Governance\"}",_170 "dataDecoded": {_170 "method": "claimVestedTokensViaModule",_170 "parameters": [_170 {_170 "name": "vestingId",_170 "type": "bytes32",_170 "value": "0x172fb115f1aa2601f3a45ccdc47cacc02ed0ffa48d07d22d201f548bf49fed23"_170 },_170 {_170 "name": "beneficiary",_170 "type": "address",_170 "value": "0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75"_170 },_170 {_170 "name": "tokensToClaim",_170 "type": "uint128",_170 "value": "340282366920938463463374607431768211455"_170 }_170 ]_170 },_170 "confirmationsRequired": 1,_170 "confirmations": [_170 {_170 "owner": "0xA1b02d8c67b0FDCF4E379855868DeB470E169cfB",_170 "submissionDate": "2024-04-23T02:36:47Z",_170 "transactionHash": null,_170 "signature": "0x000000000000000000000000a1b02d8c67b0fdcf4e379855868deb470e169cfb000000000000000000000000000000000000000000000000000000000000000001",_170 "signatureType": "APPROVED_HASH"_170 }_170 ],_170 "trusted": true,_170 "signatures": "0x000000000000000000000000a1b02d8c67b0fdcf4e379855868deb470e169cfb000000000000000000000000000000000000000000000000000000000000000001",_170 "transfers": [_170 {_170 "type": "ERC20_TRANSFER",_170 "executionDate": "2024-04-23T02:36:47Z",_170 "blockNumber": 19715153,_170 "transactionHash": "0x3e8d89540a749fc0cc81709004a9047e6199dcec7b4d99d2f660a1d26e6e089c",_170 "to": "0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75",_170 "value": "381767577609232226683",_170 "tokenId": null,_170 "tokenAddress": "0x5aFE3855358E112B5647B952709E6165e1c1eEEe",_170 "transferId": "e3e8d89540a749fc0cc81709004a9047e6199dcec7b4d99d2f660a1d26e6e089c108",_170 "tokenInfo": {_170 "type": "ERC20",_170 "address": "0x5aFE3855358E112B5647B952709E6165e1c1eEEe",_170 "name": "Safe Token",_170 "symbol": "SAFE",_170 "decimals": 18,_170 "logoUri": "https://safe-transaction-assets.safe.global/tokens/logos/0x5aFE3855358E112B5647B952709E6165e1c1eEEe.png",_170 "trusted": true_170 },_170 "from": "0xA0b937D5c8E32a80E3a8ed4227CD020221544ee6"_170 }_170 ],_170 "txType": "MULTISIG_TRANSACTION"_170 }_170 ]_170}
List Incoming Transfers
GET
/api/v1/safes/{address}/incoming-transfers/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/safes/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/incoming-transfers/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Sample Response
_49{_49 "count": 33,_49 "next": "https://safe-transaction-mainnet.safe.global/api/v1/safes/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/incoming-transfers/?limit=2&offset=2",_49 "previous": null,_49 "results": [_49 {_49 "type": "ERC20_TRANSFER",_49 "executionDate": "2024-04-23T02:36:47Z",_49 "blockNumber": 19715153,_49 "transactionHash": "0x3e8d89540a749fc0cc81709004a9047e6199dcec7b4d99d2f660a1d26e6e089c",_49 "to": "0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75",_49 "value": "381767577609232226683",_49 "tokenId": null,_49 "tokenAddress": "0x5aFE3855358E112B5647B952709E6165e1c1eEEe",_49 "transferId": "e3e8d89540a749fc0cc81709004a9047e6199dcec7b4d99d2f660a1d26e6e089c108",_49 "tokenInfo": {_49 "type": "ERC20",_49 "address": "0x5aFE3855358E112B5647B952709E6165e1c1eEEe",_49 "name": "Safe Token",_49 "symbol": "SAFE",_49 "decimals": 18,_49 "logoUri": "https://safe-transaction-assets.safe.global/tokens/logos/0x5aFE3855358E112B5647B952709E6165e1c1eEEe.png",_49 "trusted": true_49 },_49 "from": "0xA0b937D5c8E32a80E3a8ed4227CD020221544ee6"_49 },_49 {_49 "type": "ERC20_TRANSFER",_49 "executionDate": "2023-08-24T13:07:47Z",_49 "blockNumber": 17984759,_49 "transactionHash": "0xcde6f0137885841f54da7dbc370e2e60940c4574adc6ed4d8a606eba1f56438b",_49 "to": "0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75",_49 "value": "1000000000000000000",_49 "tokenId": null,_49 "tokenAddress": "0x111111111117dC0aa78b770fA6A738034120C302",_49 "transferId": "ecde6f0137885841f54da7dbc370e2e60940c4574adc6ed4d8a606eba1f56438b191",_49 "tokenInfo": {_49 "type": "ERC20",_49 "address": "0x111111111117dC0aa78b770fA6A738034120C302",_49 "name": "1INCH Token",_49 "symbol": "1INCH",_49 "decimals": 18,_49 "logoUri": "https://safe-transaction-assets.safe.global/tokens/logos/0x111111111117dC0aa78b770fA6A738034120C302.png",_49 "trusted": true_49 },_49 "from": "0xe9ba60EefdbA996a66A7F5415dDa83573a70c492"_49 }_49 ]_49}
List a Safe's Module Transactions
GET
/api/v1/safes/{address}/module-transactions/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/safes/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/module-transactions/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Sample Response
_10{_10 "count": 0,_10 "next": null,_10 "previous": null,_10 "results": []_10}
List a Safe's Multisig Transactions
Returns a paginated list of Multisig Transactions for a Safe. By default only
trusted
multisig transactions are returned.Query Parameters
GET
/api/v1/safes/{address}/multisig-transactions/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/safes/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/multisig-transactions/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Sample Response
_145{_145 "count": 50,_145 "next": "https://safe-transaction-mainnet.safe.global/api/v1/safes/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/multisig-transactions/?limit=2&offset=2",_145 "previous": null,_145 "results": [_145 {_145 "safe": "0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75",_145 "to": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",_145 "value": "0",_145 "data": "0x8d80ff0a000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000ce00cd2e72aebe2a203b84f46deec948e6465db51c75000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000247de7edef000000000000000000000000d9db270c1b5e3bd161e8c8503c55ceabee70955200cd2e72aebe2a203b84f46deec948e6465db51c7500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",_145 "operation": 1,_145 "gasToken": "0x0000000000000000000000000000000000000000",_145 "safeTxGas": 48700,_145 "baseGas": 0,_145 "gasPrice": "0",_145 "refundReceiver": "0x0000000000000000000000000000000000000000",_145 "nonce": 49,_145 "executionDate": "2024-04-23T02:38:11Z",_145 "submissionDate": "2024-04-23T02:38:01.015676Z",_145 "modified": "2024-04-23T02:38:11Z",_145 "blockNumber": 19715160,_145 "transactionHash": "0xceeacc3007949920a43a3785e650e0bb86bdd5c20ccb2f6704d25839c81bf306",_145 "safeTxHash": "0xba192fd48af510cf6065b4997a7c4e5f9f320c82bd6951cd32396d714da4b4cf",_145 "proposer": "0xA1b02d8c67b0FDCF4E379855868DeB470E169cfB",_145 "executor": "0xA1b02d8c67b0FDCF4E379855868DeB470E169cfB",_145 "isExecuted": true,_145 "isSuccessful": true,_145 "ethGasPrice": "8709486175",_145 "maxFeePerGas": "9000000000",_145 "maxPriorityFeePerGas": "3086913705",_145 "gasUsed": 58769,_145 "fee": "511847793018575",_145 "origin": "{}",_145 "dataDecoded": {_145 "method": "multiSend",_145 "parameters": [_145 {_145 "name": "transactions",_145 "type": "bytes",_145 "value": "0x00cd2e72aebe2a203b84f46deec948e6465db51c75000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000247de7edef000000000000000000000000d9db270c1b5e3bd161e8c8503c55ceabee70955200cd2e72aebe2a203b84f46deec948e6465db51c7500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",_145 "valueDecoded": [_145 {_145 "operation": 0,_145 "to": "0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75",_145 "value": "0",_145 "data": "0x7de7edef000000000000000000000000d9db270c1b5e3bd161e8c8503c55ceabee709552",_145 "dataDecoded": {_145 "method": "changeMasterCopy",_145 "parameters": [_145 {_145 "name": "_masterCopy",_145 "type": "address",_145 "value": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552"_145 }_145 ]_145 }_145 },_145 {_145 "operation": 0,_145 "to": "0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75",_145 "value": "0",_145 "data": null,_145 "dataDecoded": null_145 }_145 ]_145 }_145 ]_145 },_145 "confirmationsRequired": 1,_145 "confirmations": [_145 {_145 "owner": "0xA1b02d8c67b0FDCF4E379855868DeB470E169cfB",_145 "submissionDate": "2024-04-23T02:38:11Z",_145 "transactionHash": null,_145 "signature": "0x000000000000000000000000a1b02d8c67b0fdcf4e379855868deb470e169cfb000000000000000000000000000000000000000000000000000000000000000001",_145 "signatureType": "APPROVED_HASH"_145 }_145 ],_145 "trusted": true,_145 "signatures": "0x000000000000000000000000a1b02d8c67b0fdcf4e379855868deb470e169cfb000000000000000000000000000000000000000000000000000000000000000001"_145 },_145 {_145 "safe": "0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75",_145 "to": "0xA0b937D5c8E32a80E3a8ed4227CD020221544ee6",_145 "value": "0",_145 "data": "0x0087b83f172fb115f1aa2601f3a45ccdc47cacc02ed0ffa48d07d22d201f548bf49fed23000000000000000000000000cd2e72aebe2a203b84f46deec948e6465db51c7500000000000000000000000000000000ffffffffffffffffffffffffffffffff",_145 "operation": 0,_145 "gasToken": "0x0000000000000000000000000000000000000000",_145 "safeTxGas": 133927,_145 "baseGas": 0,_145 "gasPrice": "0",_145 "refundReceiver": "0x0000000000000000000000000000000000000000",_145 "nonce": 48,_145 "executionDate": "2024-04-23T02:36:47Z",_145 "submissionDate": "2024-04-23T02:36:39.804393Z",_145 "modified": "2024-04-23T02:36:47Z",_145 "blockNumber": 19715153,_145 "transactionHash": "0x3e8d89540a749fc0cc81709004a9047e6199dcec7b4d99d2f660a1d26e6e089c",_145 "safeTxHash": "0xf6846a40fceb0650ed84f1fec8cea5fd18ca9fd14a6bcbf1a7c18c831f47e709",_145 "proposer": "0xA1b02d8c67b0FDCF4E379855868DeB470E169cfB",_145 "executor": "0xA1b02d8c67b0FDCF4E379855868DeB470E169cfB",_145 "isExecuted": true,_145 "isSuccessful": true,_145 "ethGasPrice": "7000000000",_145 "maxFeePerGas": "7000000000",_145 "maxPriorityFeePerGas": "1398475847",_145 "gasUsed": 123205,_145 "fee": "862435000000000",_145 "origin": "{\"url\": \"https://governance.safe.global\", \"name\": \"Safe{DAO} Governance\"}",_145 "dataDecoded": {_145 "method": "claimVestedTokensViaModule",_145 "parameters": [_145 {_145 "name": "vestingId",_145 "type": "bytes32",_145 "value": "0x172fb115f1aa2601f3a45ccdc47cacc02ed0ffa48d07d22d201f548bf49fed23"_145 },_145 {_145 "name": "beneficiary",_145 "type": "address",_145 "value": "0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75"_145 },_145 {_145 "name": "tokensToClaim",_145 "type": "uint128",_145 "value": "340282366920938463463374607431768211455"_145 }_145 ]_145 },_145 "confirmationsRequired": 1,_145 "confirmations": [_145 {_145 "owner": "0xA1b02d8c67b0FDCF4E379855868DeB470E169cfB",_145 "submissionDate": "2024-04-23T02:36:47Z",_145 "transactionHash": null,_145 "signature": "0x000000000000000000000000a1b02d8c67b0fdcf4e379855868deb470e169cfb000000000000000000000000000000000000000000000000000000000000000001",_145 "signatureType": "APPROVED_HASH"_145 }_145 ],_145 "trusted": true,_145 "signatures": "0x000000000000000000000000a1b02d8c67b0fdcf4e379855868deb470e169cfb000000000000000000000000000000000000000000000000000000000000000001"_145 }_145 ],_145 "countUniqueNonce": 50_145}
Create Multisig Transaction
Creates a Multisig Transaction with its confirmations and retrieves all the information related.
Request Body
POST
/api/v1/safes/{address}/multisig-transactions/
Sample Request
Try it on Swagger
_20curl -X POST https://safe-transaction-mainnet.safe.global/api/v1/safes/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/multisig-transactions/ \_20 -H "Accept: application/json" \_20 -H "content-type: application/json" \_20 -d '{_20 "safe": "0xB88F61E6FbdA83fbfffAbE364112137480398018",_20 "to": "0xBEFA89D90c112A416139F42046Cc2d4A8a308815",_20 "value": "0",_20 "data": "0x8d80ff0a000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004f6006b175474e89094c44da98b954eedeac495271d0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044095ea7b30000000000000000000000001111111254fb6c44bac0bed2854e76f90643097d0000000000000000000000000000000000000000000c685fa11e01ec80000000001111111254fb6c44bac0bed2854e76f90643097d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004087c025200000000000000000000000000f2f400c138f9fb900576263af0bc7fcde2b1b8a8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001800000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000f2f400c138f9fb900576263af0bc7fcde2b1b8a80000000000000000000000004f3a120e72c76c22ae802d129f599bfdbc31cb810000000000000000000000000000000000000000000c685fa11e01ec8000000000000000000000000000000000000000000000000000000000000da41c43c100000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064eb5625d90000000000000000000000006b175474e89094c44da98b954eedeac495271d0f00000000000000000000000089b78cfa322f6c5de0abceecab66aee45393cc5a0000000000000000000000000000000000000000000c685fa11e01ec800000000000000000000000000000000000000000000000000000000000000080000000000000000000000089b78cfa322f6c5de0abceecab66aee45393cc5a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000448d7ef9bb0000000000000000000000001111111254fb6c44bac0bed2854e76f90643097d00000000000000000000000000000000000000000000000000000da475abf0000000000000000000000000000000000000000000000000000000000065575cda00000000000000000000",_20 "operation": 0,_20 "gasToken": "",_20 "safeTxGas": "",_20 "baseGas": "",_20 "gasPrice": "",_20 "refundReceiver": "",_20 "nonce": "",_20 "contractTransactionHash": "",_20 "sender": "",_20 "signature": "0xae31da115daa589fa3cee016c756d191d4140fc0eb30c1565cdddcad35068300669abda9c56e1c5886d72c599e1af29fc70eedd16be72109aa593699661482121c",_20 "origin": ""_20}'
List a Safe's Multisig Transactions
Returns a paginated list of Multisig Transactions for a Safe. By default only
trusted
multisig transactions are returned.Query Parameters
GET
/api/v1/safes/{address}/multisig-transactions/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/safes/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/multisig-transactions/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Sample Response
_145{_145 "count": 50,_145 "next": "https://safe-transaction-mainnet.safe.global/api/v1/safes/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/multisig-transactions/?limit=2&offset=2",_145 "previous": null,_145 "results": [_145 {_145 "safe": "0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75",_145 "to": "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",_145 "value": "0",_145 "data": "0x8d80ff0a000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000ce00cd2e72aebe2a203b84f46deec948e6465db51c75000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000247de7edef000000000000000000000000d9db270c1b5e3bd161e8c8503c55ceabee70955200cd2e72aebe2a203b84f46deec948e6465db51c7500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",_145 "operation": 1,_145 "gasToken": "0x0000000000000000000000000000000000000000",_145 "safeTxGas": 48700,_145 "baseGas": 0,_145 "gasPrice": "0",_145 "refundReceiver": "0x0000000000000000000000000000000000000000",_145 "nonce": 49,_145 "executionDate": "2024-04-23T02:38:11Z",_145 "submissionDate": "2024-04-23T02:38:01.015676Z",_145 "modified": "2024-04-23T02:38:11Z",_145 "blockNumber": 19715160,_145 "transactionHash": "0xceeacc3007949920a43a3785e650e0bb86bdd5c20ccb2f6704d25839c81bf306",_145 "safeTxHash": "0xba192fd48af510cf6065b4997a7c4e5f9f320c82bd6951cd32396d714da4b4cf",_145 "proposer": "0xA1b02d8c67b0FDCF4E379855868DeB470E169cfB",_145 "executor": "0xA1b02d8c67b0FDCF4E379855868DeB470E169cfB",_145 "isExecuted": true,_145 "isSuccessful": true,_145 "ethGasPrice": "8709486175",_145 "maxFeePerGas": "9000000000",_145 "maxPriorityFeePerGas": "3086913705",_145 "gasUsed": 58769,_145 "fee": "511847793018575",_145 "origin": "{}",_145 "dataDecoded": {_145 "method": "multiSend",_145 "parameters": [_145 {_145 "name": "transactions",_145 "type": "bytes",_145 "value": "0x00cd2e72aebe2a203b84f46deec948e6465db51c75000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000247de7edef000000000000000000000000d9db270c1b5e3bd161e8c8503c55ceabee70955200cd2e72aebe2a203b84f46deec948e6465db51c7500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",_145 "valueDecoded": [_145 {_145 "operation": 0,_145 "to": "0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75",_145 "value": "0",_145 "data": "0x7de7edef000000000000000000000000d9db270c1b5e3bd161e8c8503c55ceabee709552",_145 "dataDecoded": {_145 "method": "changeMasterCopy",_145 "parameters": [_145 {_145 "name": "_masterCopy",_145 "type": "address",_145 "value": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552"_145 }_145 ]_145 }_145 },_145 {_145 "operation": 0,_145 "to": "0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75",_145 "value": "0",_145 "data": null,_145 "dataDecoded": null_145 }_145 ]_145 }_145 ]_145 },_145 "confirmationsRequired": 1,_145 "confirmations": [_145 {_145 "owner": "0xA1b02d8c67b0FDCF4E379855868DeB470E169cfB",_145 "submissionDate": "2024-04-23T02:38:11Z",_145 "transactionHash": null,_145 "signature": "0x000000000000000000000000a1b02d8c67b0fdcf4e379855868deb470e169cfb000000000000000000000000000000000000000000000000000000000000000001",_145 "signatureType": "APPROVED_HASH"_145 }_145 ],_145 "trusted": true,_145 "signatures": "0x000000000000000000000000a1b02d8c67b0fdcf4e379855868deb470e169cfb000000000000000000000000000000000000000000000000000000000000000001"_145 },_145 {_145 "safe": "0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75",_145 "to": "0xA0b937D5c8E32a80E3a8ed4227CD020221544ee6",_145 "value": "0",_145 "data": "0x0087b83f172fb115f1aa2601f3a45ccdc47cacc02ed0ffa48d07d22d201f548bf49fed23000000000000000000000000cd2e72aebe2a203b84f46deec948e6465db51c7500000000000000000000000000000000ffffffffffffffffffffffffffffffff",_145 "operation": 0,_145 "gasToken": "0x0000000000000000000000000000000000000000",_145 "safeTxGas": 133927,_145 "baseGas": 0,_145 "gasPrice": "0",_145 "refundReceiver": "0x0000000000000000000000000000000000000000",_145 "nonce": 48,_145 "executionDate": "2024-04-23T02:36:47Z",_145 "submissionDate": "2024-04-23T02:36:39.804393Z",_145 "modified": "2024-04-23T02:36:47Z",_145 "blockNumber": 19715153,_145 "transactionHash": "0x3e8d89540a749fc0cc81709004a9047e6199dcec7b4d99d2f660a1d26e6e089c",_145 "safeTxHash": "0xf6846a40fceb0650ed84f1fec8cea5fd18ca9fd14a6bcbf1a7c18c831f47e709",_145 "proposer": "0xA1b02d8c67b0FDCF4E379855868DeB470E169cfB",_145 "executor": "0xA1b02d8c67b0FDCF4E379855868DeB470E169cfB",_145 "isExecuted": true,_145 "isSuccessful": true,_145 "ethGasPrice": "7000000000",_145 "maxFeePerGas": "7000000000",_145 "maxPriorityFeePerGas": "1398475847",_145 "gasUsed": 123205,_145 "fee": "862435000000000",_145 "origin": "{\"url\": \"https://governance.safe.global\", \"name\": \"Safe{DAO} Governance\"}",_145 "dataDecoded": {_145 "method": "claimVestedTokensViaModule",_145 "parameters": [_145 {_145 "name": "vestingId",_145 "type": "bytes32",_145 "value": "0x172fb115f1aa2601f3a45ccdc47cacc02ed0ffa48d07d22d201f548bf49fed23"_145 },_145 {_145 "name": "beneficiary",_145 "type": "address",_145 "value": "0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75"_145 },_145 {_145 "name": "tokensToClaim",_145 "type": "uint128",_145 "value": "340282366920938463463374607431768211455"_145 }_145 ]_145 },_145 "confirmationsRequired": 1,_145 "confirmations": [_145 {_145 "owner": "0xA1b02d8c67b0FDCF4E379855868DeB470E169cfB",_145 "submissionDate": "2024-04-23T02:36:47Z",_145 "transactionHash": null,_145 "signature": "0x000000000000000000000000a1b02d8c67b0fdcf4e379855868deb470e169cfb000000000000000000000000000000000000000000000000000000000000000001",_145 "signatureType": "APPROVED_HASH"_145 }_145 ],_145 "trusted": true,_145 "signatures": "0x000000000000000000000000a1b02d8c67b0fdcf4e379855868deb470e169cfb000000000000000000000000000000000000000000000000000000000000000001"_145 }_145 ],_145 "countUniqueNonce": 50_145}
Create Multisig Transaction
Creates a Multisig Transaction with its confirmations and retrieves all the information related.
Request Body
POST
/api/v1/safes/{address}/multisig-transactions/
Sample Request
Try it on Swagger
_20curl -X POST https://safe-transaction-mainnet.safe.global/api/v1/safes/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/multisig-transactions/ \_20 -H "Accept: application/json" \_20 -H "content-type: application/json" \_20 -d '{_20 "safe": "0xB88F61E6FbdA83fbfffAbE364112137480398018",_20 "to": "0xBEFA89D90c112A416139F42046Cc2d4A8a308815",_20 "value": "0",_20 "data": "0x8d80ff0a000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004f6006b175474e89094c44da98b954eedeac495271d0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044095ea7b30000000000000000000000001111111254fb6c44bac0bed2854e76f90643097d0000000000000000000000000000000000000000000c685fa11e01ec80000000001111111254fb6c44bac0bed2854e76f90643097d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004087c025200000000000000000000000000f2f400c138f9fb900576263af0bc7fcde2b1b8a8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001800000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000f2f400c138f9fb900576263af0bc7fcde2b1b8a80000000000000000000000004f3a120e72c76c22ae802d129f599bfdbc31cb810000000000000000000000000000000000000000000c685fa11e01ec8000000000000000000000000000000000000000000000000000000000000da41c43c100000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064eb5625d90000000000000000000000006b175474e89094c44da98b954eedeac495271d0f00000000000000000000000089b78cfa322f6c5de0abceecab66aee45393cc5a0000000000000000000000000000000000000000000c685fa11e01ec800000000000000000000000000000000000000000000000000000000000000080000000000000000000000089b78cfa322f6c5de0abceecab66aee45393cc5a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000448d7ef9bb0000000000000000000000001111111254fb6c44bac0bed2854e76f90643097d00000000000000000000000000000000000000000000000000000da475abf0000000000000000000000000000000000000000000000000000000000065575cda00000000000000000000",_20 "operation": 0,_20 "gasToken": "",_20 "safeTxGas": "",_20 "baseGas": "",_20 "gasPrice": "",_20 "refundReceiver": "",_20 "nonce": "",_20 "contractTransactionHash": "",_20 "sender": "",_20 "signature": "0xae31da115daa589fa3cee016c756d191d4140fc0eb30c1565cdddcad35068300669abda9c56e1c5886d72c599e1af29fc70eedd16be72109aa593699661482121c",_20 "origin": ""_20}'
Estimate Gas Costs for a Multisig Transaction
Estimates
safeTxGas
for a Safe Multisig Transaction.Request Body
POST
/api/v1/safes/{address}/multisig-transactions/estimations/
Sample Request
Try it on Swagger
_10curl -X POST https://safe-transaction-mainnet.safe.global/api/v1/safes/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/multisig-transactions/estimations/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \_10 -d '{_10 "to": "0xBEFA89D90c112A416139F42046Cc2d4A8a308815",_10 "value": "0",_10 "data": "0x8d80ff0a000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004f6006b175474e89094c44da98b954eedeac495271d0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044095ea7b30000000000000000000000001111111254fb6c44bac0bed2854e76f90643097d0000000000000000000000000000000000000000000c685fa11e01ec80000000001111111254fb6c44bac0bed2854e76f90643097d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004087c025200000000000000000000000000f2f400c138f9fb900576263af0bc7fcde2b1b8a8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001800000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000f2f400c138f9fb900576263af0bc7fcde2b1b8a80000000000000000000000004f3a120e72c76c22ae802d129f599bfdbc31cb810000000000000000000000000000000000000000000c685fa11e01ec8000000000000000000000000000000000000000000000000000000000000da41c43c100000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064eb5625d90000000000000000000000006b175474e89094c44da98b954eedeac495271d0f00000000000000000000000089b78cfa322f6c5de0abceecab66aee45393cc5a0000000000000000000000000000000000000000000c685fa11e01ec800000000000000000000000000000000000000000000000000000000000000080000000000000000000000089b78cfa322f6c5de0abceecab66aee45393cc5a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000448d7ef9bb0000000000000000000000001111111254fb6c44bac0bed2854e76f90643097d00000000000000000000000000000000000000000000000000000da475abf0000000000000000000000000000000000000000000000000000000000065575cda00000000000000000000",_10 "operation": 0_10}'
Sample Response
_10{_10 "safeTxGas": "42806"_10}
List Transfers
GET
/api/v1/safes/{address}/transfers/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/safes/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/transfers/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Sample Response
_49{_49 "count": 77,_49 "next": "https://safe-transaction-mainnet.safe.global/api/v1/safes/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/transfers/?limit=2&offset=2",_49 "previous": null,_49 "results": [_49 {_49 "type": "ERC20_TRANSFER",_49 "executionDate": "2024-04-23T02:36:47Z",_49 "blockNumber": 19715153,_49 "transactionHash": "0x3e8d89540a749fc0cc81709004a9047e6199dcec7b4d99d2f660a1d26e6e089c",_49 "to": "0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75",_49 "value": "381767577609232226683",_49 "tokenId": null,_49 "tokenAddress": "0x5aFE3855358E112B5647B952709E6165e1c1eEEe",_49 "transferId": "e3e8d89540a749fc0cc81709004a9047e6199dcec7b4d99d2f660a1d26e6e089c108",_49 "tokenInfo": {_49 "type": "ERC20",_49 "address": "0x5aFE3855358E112B5647B952709E6165e1c1eEEe",_49 "name": "Safe Token",_49 "symbol": "SAFE",_49 "decimals": 18,_49 "logoUri": "https://safe-transaction-assets.safe.global/tokens/logos/0x5aFE3855358E112B5647B952709E6165e1c1eEEe.png",_49 "trusted": true_49 },_49 "from": "0xA0b937D5c8E32a80E3a8ed4227CD020221544ee6"_49 },_49 {_49 "type": "ERC20_TRANSFER",_49 "executionDate": "2023-08-24T13:07:47Z",_49 "blockNumber": 17984759,_49 "transactionHash": "0xcde6f0137885841f54da7dbc370e2e60940c4574adc6ed4d8a606eba1f56438b",_49 "to": "0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75",_49 "value": "1000000000000000000",_49 "tokenId": null,_49 "tokenAddress": "0x111111111117dC0aa78b770fA6A738034120C302",_49 "transferId": "ecde6f0137885841f54da7dbc370e2e60940c4574adc6ed4d8a606eba1f56438b191",_49 "tokenInfo": {_49 "type": "ERC20",_49 "address": "0x111111111117dC0aa78b770fA6A738034120C302",_49 "name": "1INCH Token",_49 "symbol": "1INCH",_49 "decimals": 18,_49 "logoUri": "https://safe-transaction-assets.safe.global/tokens/logos/0x111111111117dC0aa78b770fA6A738034120C302.png",_49 "trusted": true_49 },_49 "from": "0xe9ba60EefdbA996a66A7F5415dDa83573a70c492"_49 }_49 ]_49}
Modules
List Safes that use a Specific Module
Return Safes where the module address provided is enabled
GET
/api/v1/modules/{address}/safes/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/modules/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/safes/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Sample Response
_10{_10 "safes": []_10}
Owners
List Safes from a Specific Owner
Return Safes where the address provided is an owner
GET
/api/v1/owners/{address}/safes/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/owners/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/safes/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Sample Response
_10{_10 "safes": []_10}
4337
Get Safe Operation
GET
/api/v1/safe-operations/{safe_operation_hash}/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/safe-operations// \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
List Safe Operations
GET
/api/v1/safes/{address}/safe-operations/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/safes/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/safe-operations/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Sample Response
_10{_10 "count": 0,_10 "next": null,_10 "previous": null,_10 "results": []_10}
Create Safe Operation
Create a new 4337
SafeOperation
for a Safe.:param request: :param address: :param args: :param kwargs: :return:
Request Body
POST
/api/v1/safes/{address}/safe-operations/
Sample Request
Try it on Swagger
_19curl -X POST https://safe-transaction-mainnet.safe.global/api/v1/safes/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/safe-operations/ \_19 -H "Accept: application/json" \_19 -H "content-type: application/json" \_19 -d '{_19 "nonce": "",_19 "initCode": "",_19 "callData": "",_19 "callDataGasLimit": "",_19 "verificationGasLimit": "",_19 "preVerificationGas": "",_19 "maxFeePerGas": "",_19 "maxPriorityFeePerGas": "",_19 "paymasterAndData": "",_19 "signature": "0xae31da115daa589fa3cee016c756d191d4140fc0eb30c1565cdddcad35068300669abda9c56e1c5886d72c599e1af29fc70eedd16be72109aa593699661482121c",_19 "entryPoint": "",_19 "validAfter": "",_19 "validUntil": "",_19 "moduleAddress": ""_19}'
List Safe Operations
GET
/api/v1/safes/{address}/safe-operations/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/safes/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/safe-operations/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Sample Response
_10{_10 "count": 0,_10 "next": null,_10 "previous": null,_10 "results": []_10}
Create Safe Operation
Create a new 4337
SafeOperation
for a Safe.:param request: :param address: :param args: :param kwargs: :return:
Request Body
POST
/api/v1/safes/{address}/safe-operations/
Sample Request
Try it on Swagger
_19curl -X POST https://safe-transaction-mainnet.safe.global/api/v1/safes/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/safe-operations/ \_19 -H "Accept: application/json" \_19 -H "content-type: application/json" \_19 -d '{_19 "nonce": "",_19 "initCode": "",_19 "callData": "",_19 "callDataGasLimit": "",_19 "verificationGasLimit": "",_19 "preVerificationGas": "",_19 "maxFeePerGas": "",_19 "maxPriorityFeePerGas": "",_19 "paymasterAndData": "",_19 "signature": "0xae31da115daa589fa3cee016c756d191d4140fc0eb30c1565cdddcad35068300669abda9c56e1c5886d72c599e1af29fc70eedd16be72109aa593699661482121c",_19 "entryPoint": "",_19 "validAfter": "",_19 "validUntil": "",_19 "moduleAddress": ""_19}'
List User Operations
GET
/api/v1/safes/{address}/user-operations/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/safes/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/user-operations/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Sample Response
_10{_10 "count": 0,_10 "next": null,_10 "previous": null,_10 "results": []_10}
Get User Operation
GET
/api/v1/user-operations/{user_operation_hash}/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/user-operations// \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Safes
Get Safe Status
Get status of the safe
GET
/api/v1/safes/{address}/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/safes/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Sample Response
_14{_14 "address": "0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75",_14 "nonce": 50,_14 "threshold": 1,_14 "owners": [_14 "0x56519083C3cfeAE833B93a93c843C993bE1D74EA",_14 "0xA1b02d8c67b0FDCF4E379855868DeB470E169cfB"_14 ],_14 "masterCopy": "0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",_14 "modules": [],_14 "fallbackHandler": "0x0000000000000000000000000000000000000000",_14 "guard": "0x0000000000000000000000000000000000000000",_14 "version": "1.3.0"_14}
List a Safe's Balances (Deprecated)
Get balance for Ether and ERC20 tokens
Query Parameters
GET
/api/v1/safes/{address}/balances/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/safes/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/balances/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Sample Response
_17[_17 {_17 "tokenAddress": null,_17 "token": null,_17 "balance": "100000000000000"_17 },_17 {_17 "tokenAddress": "0x111111111117dC0aa78b770fA6A738034120C302",_17 "token": {_17 "name": "1INCH Token",_17 "symbol": "1INCH",_17 "decimals": 18,_17 "logoUri": "https://safe-transaction-assets.safe.global/tokens/logos/0x111111111117dC0aa78b770fA6A738034120C302.png"_17 },_17 "balance": "1000000000000000000"_17 }_17]
Get Safe Creation Status
Get status of the safe
GET
/api/v1/safes/{address}/creation/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/safes/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/creation/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Sample Response
_51{_51 "created": "2019-11-27T15:01:45Z",_51 "creator": "0xA1b02d8c67b0FDCF4E379855868DeB470E169cfB",_51 "transactionHash": "0x9c65d416867d9e13732fee8b85dd44c4d774b9bad31b3cd44e78eeefc33ce97f",_51 "factoryAddress": "0x12302fE9c02ff50939BaAaaf415fc226C078613C",_51 "masterCopy": "0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A",_51 "setupData": "0xa97ab18a00000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a1b02d8c67b0fdcf4e379855868deb470e169cfb0000000000000000000000000000000000000000000000000000000000000000",_51 "dataDecoded": {_51 "method": "setup",_51 "parameters": [_51 {_51 "name": "_owners",_51 "type": "address[]",_51 "value": [_51 "0xA1b02d8c67b0FDCF4E379855868DeB470E169cfB"_51 ]_51 },_51 {_51 "name": "_threshold",_51 "type": "uint256",_51 "value": "1"_51 },_51 {_51 "name": "to",_51 "type": "address",_51 "value": "0x0000000000000000000000000000000000000000"_51 },_51 {_51 "name": "data",_51 "type": "bytes",_51 "value": "0x"_51 },_51 {_51 "name": "paymentToken",_51 "type": "address",_51 "value": "0x0000000000000000000000000000000000000000"_51 },_51 {_51 "name": "payment",_51 "type": "uint256",_51 "value": "0"_51 },_51 {_51 "name": "paymentReceiver",_51 "type": "address",_51 "value": "0x0000000000000000000000000000000000000000"_51 }_51 ]_51 },_51 "userOperation": null_51}
List Collectibles
Get collectibles (ERC721 tokens) and information about them
Query Parameters
GET
/api/v2/safes/{address}/collectibles/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v2/safes/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/collectibles/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Sample Response
_19{_19 "count": 1,_19 "next": null,_19 "previous": null,_19 "results": [_19 {_19 "address": "0x18F36D3222324DdAC1eFD0a524aabFb9D77D8041",_19 "tokenName": "Glarbs",_19 "tokenSymbol": "GLARB",_19 "logoUri": "https://safe-transaction-assets.safe.global/tokens/logos/0x18F36D3222324DdAC1eFD0a524aabFb9D77D8041.png",_19 "id": "2098",_19 "uri": "https://tokenofinfection.com/metadata/human/2098",_19 "name": null,_19 "description": null,_19 "imageUri": null,_19 "metadata": {}_19 }_19 ]_19}
Tokens
List Tokens
GET
/api/v1/tokens/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/tokens/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Sample Response
_25{_25 "count": 40289,_25 "next": "https://safe-transaction-mainnet.safe.global/api/v1/tokens/?limit=2&offset=2",_25 "previous": null,_25 "results": [_25 {_25 "type": "ERC20",_25 "address": "0x56EBDaE96d179549f279ea0cFEa3b3432B8Cd2bC",_25 "name": "",_25 "symbol": "",_25 "decimals": 18,_25 "logoUri": "https://safe-transaction-assets.safe.global/tokens/logos/0x56EBDaE96d179549f279ea0cFEa3b3432B8Cd2bC.png",_25 "trusted": false_25 },_25 {_25 "type": "ERC20",_25 "address": "0x85A7a676D610A95865E842d2754b1fd335E55767",_25 "name": "",_25 "symbol": "",_25 "decimals": 7,_25 "logoUri": "https://safe-transaction-assets.safe.global/tokens/logos/0x85A7a676D610A95865E842d2754b1fd335E55767.png",_25 "trusted": false_25 }_25 ]_25}
Get a Specific Token's Information
GET
/api/v1/tokens/{address}/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/tokens/0xcd2E72aEBe2A203b84f46DEEC948E6465dB51c75/ \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \
Transfer
Get Transfer
:return: transfer filtered by transfer_id
GET
/api/v1/transfer/{transfer_id}/
Sample Request
Try it on Swagger
_10curl -X GET https://safe-transaction-mainnet.safe.global/api/v1/transfer/3b3b57b3 \_10 -H "Accept: application/json" \_10 -H "content-type: application/json" \