# Simulate

## Simulate the update of the limit.

> Simulate the update of the limit for a client. \<br /> Only available on staging environment.

```json
{"openapi":"3.1.0","info":{"title":"Rialto API","version":"1.0.0"},"servers":[{"url":"https://api.rialtobridge.xyz/api/client/v1","description":"Main (production) server for the Rialto Client API"},{"url":"https://staging.api.rialtobridge.xyz/api/client/v1","description":"Test (staging) server for the Rialto Client API"},{"url":"http://localhost:3002/api/client/v1","description":"Development server for the Rialto Client API"}],"security":[{"api_key":[]}],"components":{"securitySchemes":{"api_key":{"type":"apiKey","name":"RIALTO_API_KEY","in":"header"}}},"paths":{"/simulate/limit/updated":{"post":{"summary":"Simulate the update of the limit.","description":"Simulate the update of the limit for a client. <br /> Only available on staging environment.","operationId":"simulateLimitUpdate","tags":["Simulate"],"requestBody":{"required":true,"description":"The parameters to update the limit for a client.","content":{"application/json":{"schema":{"type":"object","properties":{"limit":{"type":"number","description":"The new limit for the client, in USD with two decimal places."}},"required":["limit"]}}}},"responses":{"200":{"description":"The limit has been updated."},"401":{"description":"Invalid API key"},"500":{"description":"An unexpected error occurred."}}}}}}
```

## Simulate the creation of a preset fee.

> Simulate the creation of a preset fee for a client. \<br /> Only available on staging environment.

```json
{"openapi":"3.1.0","info":{"title":"Rialto API","version":"1.0.0"},"servers":[{"url":"https://api.rialtobridge.xyz/api/client/v1","description":"Main (production) server for the Rialto Client API"},{"url":"https://staging.api.rialtobridge.xyz/api/client/v1","description":"Test (staging) server for the Rialto Client API"},{"url":"http://localhost:3002/api/client/v1","description":"Development server for the Rialto Client API"}],"security":[{"api_key":[]}],"components":{"securitySchemes":{"api_key":{"type":"apiKey","name":"RIALTO_API_KEY","in":"header"}},"requestBodies":{"SimulatePresetFeeCreate":{"description":"A JSON object containing the preset fee parameters","required":true,"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/SimulateFlatPresetFeeCreate"},{"$ref":"#/components/schemas/SimulateVolumePresetFeeCreate"}]}}}}},"schemas":{"SimulateFlatPresetFeeCreate":{"type":"object","properties":{"feeDirection":{"type":"string","description":"The type of the fee. Possible values are:\n  - OFFRAMP: The fee only concerns off-ramping of blockchain asset to fiat currency,\n  - ONRAMP: The fee only concerns on-ramping of fiat currency to blockchain asset.\n  - ONOFFRAMP: The fee concerns both on-ramping and off-ramping.\n","enum":["OFFRAMP","ONRAMP","ONOFFRAMP]"]},"type":{"type":"string","description":"The type of the fee. Possible values are:\n  - FLAT: Flat fee % for each trade.\n","enum":["FLAT"]},"fiatFeeGroup":{"type":"string","description":"The fiat fee group of the preset fee. See [the list of supported](https://docs.rialtobridge.xyz/concepts) fiat fee groups."},"blockchainFeeGroup":{"type":"string","description":"The blockchain fee group of the preset fee. See [the list of supported](https://docs.rialtobridge.xyz/concepts) blockchain fee groups."},"fee":{"type":"number","format":"uint32","description":"The fee in BPS (basis points) applied in this range.<br /> The value is always positive.\n"}}},"SimulateVolumePresetFeeCreate":{"type":"object","properties":{"transactionType":{"type":"string","description":"The type of the transaction. Possible values are:\n  - OFFRAMP: The transaction is an off-ramping of blockchain asset to fiat currency,\n  - ONRAMP: The transaction is an on-ramping of fiat currency to blockchain asset.\n","enum":["OFFRAMP","ONRAMP"]},"type":{"type":"string","description":"The type of the fee. Possible values are:\n  - DAILY_VOLUME: Volume fee based on the daily volume of the client,\n  - MONTHLY_VOLUME: Volume fee based on the monthly volume of the client.\n","enum":["DAILY_VOLUME","MONTHLY_VOLUME"]},"fiatFeeGroup":{"type":"string","description":"The fiat fee group of the preset fee. See [the list of supported](https://docs.rialtobridge.xyz/concepts) fiat fee groups."},"blockchainFeeGroup":{"type":"string","description":"The blockchain fee group of the preset fee. See [the list of supported](https://docs.rialtobridge.xyz/concepts) blockchain fee groups."},"limits":{"type":"array","items":{"type":"object","properties":{"to":{"type":"number","format":"float","description":"The upper limit for this range of daily or monthly volume.<br /> The value is always positive. Only two decimal places are allowed.\n"},"fee":{"type":"number","format":"uint32","description":"The fee in BPS (basis points) applied in this range.<br /> The value is always positive.\n"}}}},"upperLimitFee":{"type":"number","format":"uint32","description":"The fee in BPS (basis points) applied to any transaction for this path above the last range.<br /> The value is always positive.\n"}}}}},"paths":{"/simulate/preset-fees/created":{"post":{"summary":"Simulate the creation of a preset fee.","description":"Simulate the creation of a preset fee for a client. <br /> Only available on staging environment.","operationId":"simulatePresetFeeCreate","tags":["Simulate"],"requestBody":{"$ref":"#/components/requestBodies/SimulatePresetFeeCreate"},"responses":{"201":{"description":"The limit has been updated."},"401":{"description":"Invalid API key"},"500":{"description":"An unexpected error occurred."}}}}}}
```

## Simulate the deletion of a preset fee.

> Simulate the deleteion of a preset fee for a client. \<br /> Only available on staging environment.

```json
{"openapi":"3.1.0","info":{"title":"Rialto API","version":"1.0.0"},"servers":[{"url":"https://api.rialtobridge.xyz/api/client/v1","description":"Main (production) server for the Rialto Client API"},{"url":"https://staging.api.rialtobridge.xyz/api/client/v1","description":"Test (staging) server for the Rialto Client API"},{"url":"http://localhost:3002/api/client/v1","description":"Development server for the Rialto Client API"}],"security":[{"api_key":[]}],"components":{"securitySchemes":{"api_key":{"type":"apiKey","name":"RIALTO_API_KEY","in":"header"}}},"paths":{"/simulate/preset-fees/{presetFeeId}/deleted":{"post":{"summary":"Simulate the deletion of a preset fee.","description":"Simulate the deleteion of a preset fee for a client. <br /> Only available on staging environment.","operationId":"simulatePresetFeeDelete","tags":["Simulate"],"parameters":[{"name":"presetFeeId","in":"path","description":"The ID of the preset fee to delete","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The fee has been deleted."},"401":{"description":"Invalid API key"},"500":{"description":"An unexpected error occurred."}}}}}}
```

## Simulate the initiation of a transaction.

> Simulate the initiation of a transaction for a client. \<br /> This route is a helper for clients to autonomously test and integrate with the Rialto APIs. \<br /> In production, transaction advancement is done by Rialto's back-office. \<br /> The transaction must be in IDLE status. \<br /> This route is only available on staging environment.

```json
{"openapi":"3.1.0","info":{"title":"Rialto API","version":"1.0.0"},"servers":[{"url":"https://api.rialtobridge.xyz/api/client/v1","description":"Main (production) server for the Rialto Client API"},{"url":"https://staging.api.rialtobridge.xyz/api/client/v1","description":"Test (staging) server for the Rialto Client API"},{"url":"http://localhost:3002/api/client/v1","description":"Development server for the Rialto Client API"}],"security":[{"api_key":[]}],"components":{"securitySchemes":{"api_key":{"type":"apiKey","name":"RIALTO_API_KEY","in":"header"}}},"paths":{"/simulate/transactions/{transactionId}/initiated":{"post":{"summary":"Simulate the initiation of a transaction.","description":"Simulate the initiation of a transaction for a client. <br /> This route is a helper for clients to autonomously test and integrate with the Rialto APIs. <br /> In production, transaction advancement is done by Rialto's back-office. <br /> The transaction must be in IDLE status. <br /> This route is only available on staging environment.","operationId":"simulateTransactionInitiation","tags":["Simulate"],"parameters":[{"name":"transactionId","in":"path","description":"The ID of the transaction to initiate","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"description":"The parameters to initiate the transaction.","content":{"application/json":{"schema":{"type":"object","properties":{"transactionHashOrWireTransferReference":{"type":["string","null"],"description":"The transaction hash or wire transfer reference."},"initiationAmount":{"type":"number","description":"The amount received in the transaction."}},"required":["initiationAmount"]}}}}}}}}
```

## Simulate the completion of a transaction.

> Simulate the completion of a transaction for a client. \<br /> This route is a helper for clients to autonomously test and integrate with the Rialto APIs. \<br /> In production, transaction advancement is done by Rialto's back-office. \<br /> The transaction must be in INITIATED status. \<br /> This route is only available on staging environment.

```json
{"openapi":"3.1.0","info":{"title":"Rialto API","version":"1.0.0"},"servers":[{"url":"https://api.rialtobridge.xyz/api/client/v1","description":"Main (production) server for the Rialto Client API"},{"url":"https://staging.api.rialtobridge.xyz/api/client/v1","description":"Test (staging) server for the Rialto Client API"},{"url":"http://localhost:3002/api/client/v1","description":"Development server for the Rialto Client API"}],"security":[{"api_key":[]}],"components":{"securitySchemes":{"api_key":{"type":"apiKey","name":"RIALTO_API_KEY","in":"header"}}},"paths":{"/simulate/transactions/{transactionId}/completed":{"post":{"summary":"Simulate the completion of a transaction.","description":"Simulate the completion of a transaction for a client. <br /> This route is a helper for clients to autonomously test and integrate with the Rialto APIs. <br /> In production, transaction advancement is done by Rialto's back-office. <br /> The transaction must be in INITIATED status. <br /> This route is only available on staging environment.","operationId":"simulateTransactionCompletion","tags":["Simulate"],"parameters":[{"name":"transactionId","in":"path","description":"The ID of the transaction to complete","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"description":"The parameters to complete the transaction.","content":{"application/json":{"schema":{"type":"object","properties":{"conversionRate":{"type":"number","description":"The conversion rate used to calculate the amount of the transaction."}},"required":["conversionRate"]}}}}}}}}
```

## Simulate the dismissal of a transaction.

> Simulate the dismissal of a test transaction. \<br /> This route is a helper for clients to autonomously test and integrate with the Rialto APIs. \<br /> In production, transactions are dismissed by Rialto admins. \<br /> The transaction must be in IDLE or INITIATED status. \<br /> This route is only available on staging environment.

```json
{"openapi":"3.1.0","info":{"title":"Rialto API","version":"1.0.0"},"servers":[{"url":"https://api.rialtobridge.xyz/api/client/v1","description":"Main (production) server for the Rialto Client API"},{"url":"https://staging.api.rialtobridge.xyz/api/client/v1","description":"Test (staging) server for the Rialto Client API"},{"url":"http://localhost:3002/api/client/v1","description":"Development server for the Rialto Client API"}],"security":[{"api_key":[]}],"components":{"securitySchemes":{"api_key":{"type":"apiKey","name":"RIALTO_API_KEY","in":"header"}}},"paths":{"/simulate/transactions/{transactionId}/dismissed":{"post":{"summary":"Simulate the dismissal of a transaction.","description":"Simulate the dismissal of a test transaction. <br /> This route is a helper for clients to autonomously test and integrate with the Rialto APIs. <br /> In production, transactions are dismissed by Rialto admins. <br /> The transaction must be in IDLE or INITIATED status. <br /> This route is only available on staging environment.","operationId":"simulateTransactionDismissal","tags":["Simulate"],"parameters":[{"name":"transactionId","in":"path","description":"The ID of the transaction to dismiss","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"description":"The parameters to simulate a transaction dismissal.","content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"number","description":"The reason to dismiss the transaction."}},"required":["reason"]}}}},"responses":{"201":{"description":"The transaction has been dismissed."},"401":{"description":"Invalid API key"},"500":{"description":"An unexpected error occurred."}}}}}}
```

## Simulate the approval of a bank account.

> Simulate the approval of a bank account for a client. \<br /> Only available on staging environment.

```json
{"openapi":"3.1.0","info":{"title":"Rialto API","version":"1.0.0"},"servers":[{"url":"https://api.rialtobridge.xyz/api/client/v1","description":"Main (production) server for the Rialto Client API"},{"url":"https://staging.api.rialtobridge.xyz/api/client/v1","description":"Test (staging) server for the Rialto Client API"},{"url":"http://localhost:3002/api/client/v1","description":"Development server for the Rialto Client API"}],"security":[{"api_key":[]}],"components":{"securitySchemes":{"api_key":{"type":"apiKey","name":"RIALTO_API_KEY","in":"header"}}},"paths":{"/simulate/bank-accounts/{bankAccountId}/approved":{"post":{"summary":"Simulate the approval of a bank account.","description":"Simulate the approval of a bank account for a client. <br /> Only available on staging environment.","operationId":"simulateBankAccountApproval","tags":["Simulate"],"parameters":[{"name":"bankAccountId","in":"path","description":"The ID of the bank account to approve","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The bank account has been approved.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the bank account that has been approved"}}}}}},"400":{"description":"The request is invalid","content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"The reason why the bank account has been rejected"}}}}}},"401":{"description":"Invalid API key"},"404":{"description":"Bank account not found"},"500":{"description":"An unexpected error occurred."}}}}}}
```

## Simulate the rejection of a bank account.

> Simulate the rejection of a bank account for a client. \<br /> Only available on staging environment.

```json
{"openapi":"3.1.0","info":{"title":"Rialto API","version":"1.0.0"},"servers":[{"url":"https://api.rialtobridge.xyz/api/client/v1","description":"Main (production) server for the Rialto Client API"},{"url":"https://staging.api.rialtobridge.xyz/api/client/v1","description":"Test (staging) server for the Rialto Client API"},{"url":"http://localhost:3002/api/client/v1","description":"Development server for the Rialto Client API"}],"security":[{"api_key":[]}],"components":{"securitySchemes":{"api_key":{"type":"apiKey","name":"RIALTO_API_KEY","in":"header"}}},"paths":{"/simulate/bank-accounts/{bankAccountId}/rejected":{"post":{"summary":"Simulate the rejection of a bank account.","description":"Simulate the rejection of a bank account for a client. <br /> Only available on staging environment.","operationId":"simulateBankAccountRejection","tags":["Simulate"],"parameters":[{"name":"bankAccountId","in":"path","description":"The ID of the bank account to reject","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"The bank account has been rejected."},"400":{"description":"The request is invalid","content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"The reason why the bank account has been rejected"},"parameterErrors":{"type":["null"],"description":"The errors in the request body"}}}}}},"401":{"description":"Invalid API key"},"404":{"description":"Bank account not found"},"500":{"description":"An unexpected error occurred."}}}}}}
```

## Simulate the approval of a blockchain wallet.

> Simulate the approval of a blockchain wallet for a client. \<br /> Only available on staging environment.

```json
{"openapi":"3.1.0","info":{"title":"Rialto API","version":"1.0.0"},"servers":[{"url":"https://api.rialtobridge.xyz/api/client/v1","description":"Main (production) server for the Rialto Client API"},{"url":"https://staging.api.rialtobridge.xyz/api/client/v1","description":"Test (staging) server for the Rialto Client API"},{"url":"http://localhost:3002/api/client/v1","description":"Development server for the Rialto Client API"}],"security":[{"api_key":[]}],"components":{"securitySchemes":{"api_key":{"type":"apiKey","name":"RIALTO_API_KEY","in":"header"}}},"paths":{"/simulate/blockchain-wallets/{blockchainWalletId}/approved":{"post":{"summary":"Simulate the approval of a blockchain wallet.","description":"Simulate the approval of a blockchain wallet for a client. <br /> Only available on staging environment.","operationId":"simulateBlockchainWalletApprovalByClient","tags":["Simulate"],"parameters":[{"name":"blockchainWalletId","in":"path","description":"The ID of the blockchain wallet to approve","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The blockchain wallet has been approved.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the blockchain wallet that has been approved"}}}}}},"400":{"description":"The request is invalid","content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"The reason why the blockchain wallet has been rejected"}}}}}},"401":{"description":"Invalid API key"},"404":{"description":"Blockchain wallet not found"},"500":{"description":"An unexpected error occurred."}}}}}}
```

## Simulate the rejection of a blockchain wallet.

> Simulate the rejection of a blockchain wallet for a client. \<br /> Only available on staging environment.

```json
{"openapi":"3.1.0","info":{"title":"Rialto API","version":"1.0.0"},"servers":[{"url":"https://api.rialtobridge.xyz/api/client/v1","description":"Main (production) server for the Rialto Client API"},{"url":"https://staging.api.rialtobridge.xyz/api/client/v1","description":"Test (staging) server for the Rialto Client API"},{"url":"http://localhost:3002/api/client/v1","description":"Development server for the Rialto Client API"}],"security":[{"api_key":[]}],"components":{"securitySchemes":{"api_key":{"type":"apiKey","name":"RIALTO_API_KEY","in":"header"}}},"paths":{"/simulate/blockchain-wallets/{blockchainWalletId}/rejected":{"post":{"summary":"Simulate the rejection of a blockchain wallet.","description":"Simulate the rejection of a blockchain wallet for a client. <br /> Only available on staging environment.","operationId":"simulateBlockchainWalletRejectionByClient","tags":["Simulate"],"parameters":[{"name":"blockchainWalletId","in":"path","description":"The ID of the blockchain wallet to reject","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"The blockchain wallet has been rejected."},"400":{"description":"The request is invalid","content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"The reason why the blockchain wallet has been rejected"},"parameterErrors":{"type":["object","null"],"description":"The errors in the request body"}}}}}},"401":{"description":"Invalid API key"},"404":{"description":"Blockchain wallet not found"},"500":{"description":"An unexpected error occurred."}}}}}}
```
