> For the complete documentation index, see [llms.txt](https://help.multisig.ledger.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.multisig.ledger.com/reference/safes.md).

# Safes

## GET /api/v2/safes/{address}/balances/

> Get paginated balances for Ether and ERC20 tokens.\
> The maximum limit allowed is 200.

```json
{"openapi":"3.1.0","info":{"title":"Safe Transaction Service","version":"5.33.1"},"security":[{"cookieAuth":[]},{"tokenAuth":[]},{}],"components":{"securitySchemes":{"cookieAuth":{"type":"apiKey","in":"cookie","name":"sessionid"},"tokenAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"PaginatedSafeCollectibleResponseList":{"type":"object","required":["count","results"],"properties":{"count":{"type":"integer"},"next":{"type":"string","nullable":true,"format":"uri"},"previous":{"type":"string","nullable":true,"format":"uri"},"results":{"type":"array","items":{"$ref":"#/components/schemas/SafeCollectibleResponse"}}}},"SafeCollectibleResponse":{"type":"object","properties":{"address":{"type":"string"},"tokenName":{"type":"string"},"tokenSymbol":{"type":"string"},"logoUri":{"type":"string"},"id":{"type":"string"},"uri":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"imageUri":{"type":"string"},"metadata":{"type":"object","additionalProperties":{}}},"required":["address","description","id","imageUri","logoUri","metadata","name","tokenName","tokenSymbol","uri"]},"CodeErrorResponse":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"arguments":{"type":"array","items":{}}},"required":["arguments","code","message"]}}},"paths":{"/api/v2/safes/{address}/balances/":{"get":{"operationId":"safes_balances_retrieve_2","description":"Get paginated balances for Ether and ERC20 tokens.\nThe maximum limit allowed is 200.","parameters":[{"in":"path","name":"address","schema":{"type":"string"},"required":true},{"in":"query","name":"trusted","schema":{"type":"boolean","default":false},"description":"If `True` just trusted tokens will be returned"},{"in":"query","name":"exclude_spam","schema":{"type":"boolean","default":false},"description":"If `True` spam tokens will not be returned"},{"in":"query","name":"limit","schema":{"type":"integer"},"description":"Number of results to return per page."},{"in":"query","name":"offset","schema":{"type":"integer"},"description":"The initial index from which to return the results."}],"tags":["safes"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedSafeCollectibleResponseList"}}},"description":""},"404":{"description":"Safe not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodeErrorResponse"}}},"description":"Safe address checksum not valid"}}}}}}
```

## GET /api/v2/safes/{address}/collectibles/

> Get paginated collectibles (ERC721 tokens) and information about them of a given Safe account.\
> The maximum limit allowed is 10.

```json
{"openapi":"3.1.0","info":{"title":"Safe Transaction Service","version":"5.33.1"},"security":[{"cookieAuth":[]},{"tokenAuth":[]},{}],"components":{"securitySchemes":{"cookieAuth":{"type":"apiKey","in":"cookie","name":"sessionid"},"tokenAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"PaginatedSafeCollectibleResponseList":{"type":"object","required":["count","results"],"properties":{"count":{"type":"integer"},"next":{"type":"string","nullable":true,"format":"uri"},"previous":{"type":"string","nullable":true,"format":"uri"},"results":{"type":"array","items":{"$ref":"#/components/schemas/SafeCollectibleResponse"}}}},"SafeCollectibleResponse":{"type":"object","properties":{"address":{"type":"string"},"tokenName":{"type":"string"},"tokenSymbol":{"type":"string"},"logoUri":{"type":"string"},"id":{"type":"string"},"uri":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"imageUri":{"type":"string"},"metadata":{"type":"object","additionalProperties":{}}},"required":["address","description","id","imageUri","logoUri","metadata","name","tokenName","tokenSymbol","uri"]},"CodeErrorResponse":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"arguments":{"type":"array","items":{}}},"required":["arguments","code","message"]}}},"paths":{"/api/v2/safes/{address}/collectibles/":{"get":{"operationId":"safes_collectibles_retrieve","description":"Get paginated collectibles (ERC721 tokens) and information about them of a given Safe account.\nThe maximum limit allowed is 10.","parameters":[{"in":"path","name":"address","schema":{"type":"string"},"required":true},{"in":"query","name":"trusted","schema":{"type":"boolean","default":false},"description":"If `True` just trusted tokens will be returned"},{"in":"query","name":"exclude_spam","schema":{"type":"boolean","default":false},"description":"If `True` spam tokens will not be returned"},{"in":"query","name":"limit","schema":{"type":"integer"},"description":"Number of results to return per page."},{"in":"query","name":"offset","schema":{"type":"integer"},"description":"The initial index from which to return the results."}],"tags":["safes"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedSafeCollectibleResponseList"}}},"description":""},"404":{"description":"Safe not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodeErrorResponse"}}},"description":"Safe address checksum not valid"}}}}}}
```

## GET /tx-service/eth/api/v1/safes/{address}/

> Returns detailed information of a given Safe account

```json
{"openapi":"3.1.0","info":{"title":"Safe Transaction Service","version":"5.33.1"},"security":[{"cookieAuth":[]},{"tokenAuth":[]},{}],"components":{"securitySchemes":{"cookieAuth":{"type":"apiKey","in":"cookie","name":"sessionid"},"tokenAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"SafeInfoResponse":{"type":"object","properties":{"address":{"type":"string"},"nonce":{"type":"string"},"threshold":{"type":"integer"},"owners":{"type":"array","items":{"type":"string"}},"masterCopy":{"type":"string"},"modules":{"type":"array","items":{"type":"string"}},"fallbackHandler":{"type":"string"},"guard":{"type":"string"},"version":{"type":["string","null"]}},"required":["address","fallbackHandler","guard","masterCopy","modules","nonce","owners","threshold","version"]}}},"paths":{"/tx-service/eth/api/v1/safes/{address}/":{"get":{"operationId":"safes_retrieve","description":"Returns detailed information of a given Safe account","parameters":[{"in":"path","name":"address","schema":{"type":"string"},"required":true}],"tags":["safes"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SafeInfoResponse"}}},"description":""},"404":{"description":"Safe not found"},"422":{"description":"code = 1: Checksum address validation failed\ncode = 50: Cannot get Safe info"}}}}}}
```

## GET /tx-service/eth/api/v1/safes/{address}/creation/

> Returns detailed information on the Safe creation transaction of a given Safe.\
> \
> Note: When event indexing is being used and multiple Safes are deployed in the same transaction\
> the result might not be accurate due to the indexer not knowing which events belong to which Safe\
> deployment.

```json
{"openapi":"3.1.0","info":{"title":"Safe Transaction Service","version":"5.33.1"},"security":[{"cookieAuth":[]},{"tokenAuth":[]},{}],"components":{"securitySchemes":{"cookieAuth":{"type":"apiKey","in":"cookie","name":"sessionid"},"tokenAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"SafeCreationInfoResponse":{"type":"object","properties":{"created":{"type":"string","format":"date-time"},"creator":{"type":"string"},"transactionHash":{"type":"string"},"factoryAddress":{"type":"string"},"masterCopy":{"type":["string","null"]},"setupData":{"type":["string","null"]},"saltNonce":{"type":["string","null"]},"dataDecoded":{"type":"object","additionalProperties":{},"readOnly":true},"userOperation":{"oneOf":[{"$ref":"#/components/schemas/UserOperationWithSafeOperationResponse"},{"type":"null"}]}},"required":["created","creator","dataDecoded","factoryAddress","masterCopy","saltNonce","setupData","transactionHash","userOperation"]},"UserOperationWithSafeOperationResponse":{"type":"object","properties":{"ethereumTxHash":{"type":"string"},"sender":{"type":"string"},"userOperationHash":{"type":"string"},"nonce":{"type":"string"},"initCode":{"type":["string","null"]},"callData":{"type":["string","null"]},"callGasLimit":{"type":"string"},"verificationGasLimit":{"type":"string"},"preVerificationGas":{"type":"string"},"maxFeePerGas":{"type":"string"},"maxPriorityFeePerGas":{"type":"string"},"paymaster":{"type":["string","null"]},"paymasterData":{"type":["string","null"]},"signature":{"type":"string"},"entryPoint":{"type":"string"},"safeOperation":{"oneOf":[{"$ref":"#/components/schemas/SafeOperationResponse"},{"type":"null"}],"readOnly":true}},"required":["callData","callGasLimit","entryPoint","ethereumTxHash","initCode","maxFeePerGas","maxPriorityFeePerGas","nonce","paymaster","paymasterData","preVerificationGas","safeOperation","sender","signature","userOperationHash","verificationGasLimit"]},"SafeOperationResponse":{"type":"object","properties":{"created":{"type":"string","format":"date-time"},"modified":{"type":"string","format":"date-time"},"safeOperationHash":{"type":"string"},"validAfter":{"type":"string","format":"date-time"},"validUntil":{"type":"string","format":"date-time"},"moduleAddress":{"type":"string"},"confirmations":{"type":"object","additionalProperties":{},"description":"Filters confirmations queryset\n\n:param obj: SafeOperation instance\n:return: Serialized queryset","readOnly":true},"preparedSignature":{"type":"string","readOnly":true}},"required":["confirmations","created","modified","moduleAddress","preparedSignature","safeOperationHash","validAfter","validUntil"]}}},"paths":{"/tx-service/eth/api/v1/safes/{address}/creation/":{"get":{"operationId":"safes_creation_retrieve","description":"Returns detailed information on the Safe creation transaction of a given Safe.\n\nNote: When event indexing is being used and multiple Safes are deployed in the same transaction\nthe result might not be accurate due to the indexer not knowing which events belong to which Safe\ndeployment.","parameters":[{"in":"path","name":"address","schema":{"type":"string"},"required":true}],"tags":["safes"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SafeCreationInfoResponse"}}},"description":""},"404":{"description":"Safe creation not found"},"422":{"description":"Owner address checksum not valid"},"503":{"description":"Problem connecting to Ethereum network"}}}}}}
```

## GET /tx-service/eth/api/v1/safes/{address}/export/

> Get transactions optimized for CSV export with transfer information.\
> The maximum limit allowed is 1000.

```json
{"openapi":"3.1.0","info":{"title":"Safe Transaction Service","version":"5.33.1"},"security":[{"cookieAuth":[]},{"tokenAuth":[]},{}],"components":{"securitySchemes":{"cookieAuth":{"type":"apiKey","in":"cookie","name":"sessionid"},"tokenAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"PaginatedSafeExportTransactionList":{"type":"object","required":["count","results"],"properties":{"count":{"type":"integer"},"next":{"type":"string","nullable":true,"format":"uri"},"previous":{"type":"string","nullable":true,"format":"uri"},"results":{"type":"array","items":{"$ref":"#/components/schemas/SafeExportTransaction"}}}},"SafeExportTransaction":{"type":"object","description":"Serializer for the export endpoint that returns transaction data optimized for CSV export","properties":{"safe":{"type":"string"},"From":{"type":"string","title":" from"},"to":{"type":"string"},"amount":{"type":"string"},"assetType":{"type":"string"},"assetAddress":{"type":["string","null"]},"assetSymbol":{"type":["string","null"]},"assetDecimals":{"type":["integer","null"]},"proposerAddress":{"type":["string","null"]},"proposedAt":{"type":["string","null"],"format":"date-time"},"executorAddress":{"type":["string","null"]},"executedAt":{"type":["string","null"],"format":"date-time"},"note":{"type":["string","null"]},"transactionHash":{"type":"string"},"contractAddress":{"type":["string","null"]},"nonce":{"type":["string","null"]}},"required":["From","amount","assetAddress","assetDecimals","assetSymbol","assetType","contractAddress","executedAt","executorAddress","nonce","note","proposedAt","proposerAddress","safe","to","transactionHash"]},"CodeErrorResponse":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"arguments":{"type":"array","items":{}}},"required":["arguments","code","message"]}}},"paths":{"/tx-service/eth/api/v1/safes/{address}/export/":{"get":{"operationId":"safes_export_retrieve","description":"Get transactions optimized for CSV export with transfer information.\nThe maximum limit allowed is 1000.","parameters":[{"in":"path","name":"address","schema":{"type":"string"},"required":true},{"in":"query","name":"execution_date__gte","schema":{"type":"string","format":"date-time"},"description":"Filter transactions executed after this date (ISO format)"},{"in":"query","name":"execution_date__lte","schema":{"type":"string","format":"date-time"},"description":"Filter transactions executed before this date (ISO format)"},{"in":"query","name":"limit","schema":{"type":"integer"},"description":"Maximum number of transactions to return (max 1000)"},{"in":"query","name":"offset","schema":{"type":"integer"},"description":"Number of transactions to skip"}],"tags":["safes"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedSafeExportTransactionList"}}},"description":""},"404":{"description":"Safe not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodeErrorResponse"}}},"description":"Safe address checksum not valid"}}}}}}
```

## GET /tx-service/eth/api/v2/safes/{address}/balances/

> Get paginated balances for Ether and ERC20 tokens.\
> The maximum limit allowed is 200.

```json
{"openapi":"3.1.0","info":{"title":"Safe Transaction Service","version":"5.33.1"},"security":[{"cookieAuth":[]},{"tokenAuth":[]},{}],"components":{"securitySchemes":{"cookieAuth":{"type":"apiKey","in":"cookie","name":"sessionid"},"tokenAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\""}},"schemas":{"PaginatedSafeCollectibleResponseList":{"type":"object","required":["count","results"],"properties":{"count":{"type":"integer"},"next":{"type":"string","nullable":true,"format":"uri"},"previous":{"type":"string","nullable":true,"format":"uri"},"results":{"type":"array","items":{"$ref":"#/components/schemas/SafeCollectibleResponse"}}}},"SafeCollectibleResponse":{"type":"object","properties":{"address":{"type":"string"},"tokenName":{"type":"string"},"tokenSymbol":{"type":"string"},"logoUri":{"type":"string"},"id":{"type":"string"},"uri":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"imageUri":{"type":"string"},"metadata":{"type":"object","additionalProperties":{}}},"required":["address","description","id","imageUri","logoUri","metadata","name","tokenName","tokenSymbol","uri"]},"CodeErrorResponse":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"arguments":{"type":"array","items":{}}},"required":["arguments","code","message"]}}},"paths":{"/tx-service/eth/api/v2/safes/{address}/balances/":{"get":{"operationId":"safes_balances_retrieve_2","description":"Get paginated balances for Ether and ERC20 tokens.\nThe maximum limit allowed is 200.","parameters":[{"in":"path","name":"address","schema":{"type":"string"},"required":true},{"in":"query","name":"trusted","schema":{"type":"boolean","default":false},"description":"If `True` just trusted tokens will be returned"},{"in":"query","name":"exclude_spam","schema":{"type":"boolean","default":false},"description":"If `True` spam tokens will not be returned"},{"in":"query","name":"limit","schema":{"type":"integer"},"description":"Number of results to return per page."},{"in":"query","name":"offset","schema":{"type":"integer"},"description":"The initial index from which to return the results."}],"tags":["safes"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedSafeCollectibleResponseList"}}},"description":""},"404":{"description":"Safe not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodeErrorResponse"}}},"description":"Safe address checksum not valid"}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.multisig.ledger.com/reference/safes.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
