# Execution Approval Expiry Time

Execution approval expiry time ensures the uniqueness of each transfer record, preventing processing transfer record from being exploit. If a transfer record is not broadcasted within the expiration time, it will be automatically cancelled. This measure is implemented as shown below.

1. **CoinSend Centre**\
   Added an Expiration Time field under CoinSend Centre > Dispatch Record > Approve (2nd-level). Default is 24 hours based on the time the record is approved. Adjustable up to 72 hours.<br>

   <figure><img src="https://3529283920-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fbq6zziU9PCtrTYtaegKj%2Fuploads%2F5SOZflu1ll8jwQNir7h3%2Fimage.png?alt=media&#x26;token=8d40402c-b667-48a8-be06-b5c31de380a3" alt=""><figcaption></figcaption></figure>

   \
   Records not broadcast within the expiration time will be automatically canceled with status Canceled (Signature Invalid).<br>

   <figure><img src="https://3529283920-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fbq6zziU9PCtrTYtaegKj%2Fuploads%2FSh7aGqpimwzY2U8ICSkY%2Fimage.png?alt=media&#x26;token=4670b437-77b9-43da-a249-d5a22c8c05f4" alt=""><figcaption></figcaption></figure>

   <br>
2. **CoinSign App**\
   "Expiration Time" has added to the execution approval popup window.\
   \
   ![](https://3529283920-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fbq6zziU9PCtrTYtaegKj%2Fuploads%2FcjfVufqqsFK5vD8UvO2o%2Fimage.png?alt=media\&token=10d1ed5d-a28c-4236-a3e3-a67c745f5136)\ <br>
3. **v1/withdraw API endpoint**\
   \
   **IMPORTANT IF YOUR API INCLUDE approveSign**\
   Added the approveExpireTime parameter. Expiry time must be no more than 72 hours after the timestamp parameter, and it must be included when generating approveSign.,\
   \
   businessId=\<Business ID>\&deviceUuid=\<CoinSend UUID><mark style="background-color:yellow;">\&approveExpireTime=\<Execution approval expiry time (Unix timestamp, precise to seconds)></mark>

```json
{
"apiKey": "cd3f5575dc",
"submitAccount": "coinsdoTest",
"address": "TKU69qcQDEE7ertPpdaxoLGCTX4xR",
"amount": "616.616",
"coinsDoId": "3",
"businessId": "TRX_999",
"businessScene": "1",
"timestamp": "1622775712229",
"txMemo": "COINSDO TEST TRX",
"reviewUuid": "A65F7B1C-8FF8-4E0D-AE0BCB0F378B",
"reviewSign": "DXoICpzZN7/yoHCLbb32czn0Goq281qNNgcejzXPToGOJReA/wYMI0e3ikjAVxzXSDXImAFqslbjBbiR8PVnXImV6VBMYL5J3Lssfu4nZMPEPNgIFtAWlLk9drWoElGe/Ch6NaozD9VJx5xPNIPq7ErVwfeB+g2LM=",
"reviewRemark": "trx test",
"targetDeviceUuid": "2DEA1BEB-CFE9-4E1D-F983D84D2E4D",
"approveUuid": "BD9D4D2C-6689-4FE1-C9DA5A251A30",
"approveExpireTime": "1767433963", //UNIX timestamp format
"approveSign": "vPuFWmtV/KbemdN/5IqRhyfY63kp55H1WkUsesaJ1U5kV0oX3bn5U8iVEKGeAzA37s/jMBy8hq62r1fstvhZ6vcgX5FuqtvvL8fTOeRuK9v85e7FR/89U2Jm/KbVt0US2Xe1oQz2D7lDvFW15ZtSQdp8JoVA=", //include approveExpiryTime
"approveRemark": "trx test"
}
```
