---
# System prepended metadata

title: Steer USDT/USDC Vault Withdrawal Issue

---

We've encountered several errors that are likely related to the RPC node and possibly the vault contract itself.

Here's a summary of the observed issues:

1.  **Gas Estimation Failure:**

    *   The primary error is related to gas estimation. We are seeing the following error in the browser's console:
        *   `ContractFunctionExecutionError: RPC Request failed. Details: the method eth_estimateGas does not exist/is not available`
        *   This indicates that the RPC node being used by the Steer frontend is not supporting the necessary `eth_estimateGas` method, which is essential for estimating transaction gas costs.
        *   This error is preventing withdrawals.
        *   Steer is using the following RPC node (as reported in the errors): `https://evmos.drpc.org`

2.  **CORS Error:**

    *   We're also seeing a CORS (Cross-Origin Resource Sharing) error:
        *   `Access to fetch at 'https://evmos.api.onfinality.io/public' from origin 'https://app.steer.finance' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header contains the invalid value 'api.onfinality.io'.`
        *   This means that the Steer website is unable to fetch data from the `https://evmos.api.onfinality.io/public` API endpoint because the server is not configured to allow requests from `app.steer.finance`.

3.  **Contract Function Reverted:**

    *   In addition to the above errors, the `vaultDetailsByAddress` function call is reverting, which is indicative of a problem on your side.

**Action Requested:**

1.  **Address the `eth_estimateGas` Error:** This is the most critical issue. Please investigate the RPC node being used and ensure it supports the `eth_estimateGas` method. If the current node does not support it, please switch to a different RPC node that does.
2.  **Fix the CORS Issue:** Please correct the `Access-Control-Allow-Origin` header on the `https://evmos.api.onfinality.io/public` endpoint to allow requests from `https://app.steer.finance`.
3.  **Investigate the Reverted Function:** Please have a look at the `vaultDetailsByAddress` function failure.



---

**Steer Vault Address:**
0xb41f09baac835f52d408fe83989f9ac8938c01fa

https://app.steer.finance/vault/0xb41f09baac835f52d408fe83989f9ac8938c01fa



**token 0 (USDT):**
0xB8f812B5943ab3BF941D5D4F1de90A4b326c5d8f

**token 1 (USDC):**
0xf1faE9eC886C5F6E4ea13dA2456087Bd72F02cD1




*OpenScan Explorer is spotty, it misses some transactions.*

**User's main account:**
https://evmos.openscan.ai/address/0xef06ee12a0295ad6f4951f25c971325d785747a4


**User's safe account:**
https://evmos.openscan.ai/address/0x88054307c1106c4b875fe8edee0777714686bec6

https://safe.evmos.org/transactions/history?safe=evmos:0x88054307c1106c4b875fe8edee0777714686bec6


----

On the Steer site, when I try to withdraw, in the console I get these errors:

```
7864-b2df6a3bb9d8b3a3.js:1 Error on withdraw Error: Disable simulation
    at C (page-72059307799ed6bd.js:1:57410)
    at 3917-6633f3a4937d8cf7.js:14:42090
window.console.error	@	7864-b2df6a3bb9d8b3a3.js:1
C	@	page-72059307799ed6bd.js:1
(anonymous)	@	3917-6633f3a4937d8cf7.js:14
await in (anonymous)		
l5	@	fd9d1056-af984b1f93544fa3.js:9
ar	@	fd9d1056-af984b1f93544fa3.js:9
(anonymous)	@	fd9d1056-af984b1f93544fa3.js:9
u2	@	fd9d1056-af984b1f93544fa3.js:9
u3	@	fd9d1056-af984b1f93544fa3.js:9
(anonymous)	@	fd9d1056-af984b1f93544fa3.js:9
iE	@	fd9d1056-af984b1f93544fa3.js:9
ol	@	fd9d1056-af984b1f93544fa3.js:9
u9	@	fd9d1056-af984b1f93544fa3.js:9
o6	@	fd9d1056-af984b1f93544fa3.js:9
o4	@	fd9d1056-af984b1f93544fa3.js:9
```





```
Access to fetch at 'https://evmos.api.onfinality.io/public' from origin 'https://app.steer.finance' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header contains the invalid value 'api.onfinality.io'. Have the server send the header with a valid value, or, if an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
2323-2f8e4b871b3b3304.js:1276 
```
            
            

`POST https://evmos.api.onfinality.io/public net::ERR_FAILED`



```
3211-b62c38da39bd9b8b.js:37 Uncaught (in promise) ContractFunctionExecutionError: RPC Request failed.

URL: https://evmos.drpc.org
Request body: {"method":"eth_estimateGas","params":[{"data":"0xd331bef7000000000000000000000000000000000000000000000000000000000025a6ac000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006620338b2d4c72ad3446176e15223c3d38562b5c","from":"0x6620338b2d4C72ad3446176E15223C3D38562b5C","to":"0xb41f09baac835f52d408fe83989f9ac8938c01fa"}]}
 
Estimate Gas Arguments:
  from:  0x6620338b2d4C72ad3446176E15223C3D38562b5C
  to:    0xb41f09baac835f52d408fe83989f9ac8938c01fa
  data:  0xd331bef7000000000000000000000000000000000000000000000000000000000025a6ac000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006620338b2d4c72ad3446176e15223c3d38562b5c
 
Contract Call:
  address:   0xb41f09baac835f52d408fe83989f9ac8938c01fa
  function:  withdraw(uint256 shares, uint256 amount0Min, uint256 amount1Min, address to)
  args:              (2467500, 0, 0, 0x6620338b2d4C72ad3446176E15223C3D38562b5C)
  sender:    0x6620338b2d4C72ad3446176E15223C3D38562b5C

Docs: https://viem.sh/docs/contract/estimateContractGas
Details: the method eth_estimateGas does not exist/is not available
Version: viem@2.16.1
    at s (3211-b62c38da39bd9b8b.js:37:14844)
    at M (2323-2f8e4b871b3b3304.js:1276:190880)
    at async C (page-72059307799ed6bd.js:1:57598)
    at async 3917-6633f3a4937d8cf7.js:14:42084
Caused by: EstimateGasExecutionError: RPC Request failed.

URL: https://evmos.drpc.org
Request body: {"method":"eth_estimateGas","params":[{"data":"0xd331bef7000000000000000000000000000000000000000000000000000000000025a6ac000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006620338b2d4c72ad3446176e15223c3d38562b5c","from":"0x6620338b2d4C72ad3446176E15223C3D38562b5C","to":"0xb41f09baac835f52d408fe83989f9ac8938c01fa"}]}
 
Estimate Gas Arguments:
  from:  0x6620338b2d4C72ad3446176E15223C3D38562b5C
  to:    0xb41f09baac835f52d408fe83989f9ac8938c01fa
  data:  0xd331bef7000000000000000000000000000000000000000000000000000000000025a6ac000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006620338b2d4c72ad3446176e15223c3d38562b5c

Details: the method eth_estimateGas does not exist/is not available
Version: viem@2.16.1
    at 3211-b62c38da39bd9b8b.js:16:60547
    at y (3211-b62c38da39bd9b8b.js:16:60574)
    at async M (2323-2f8e4b871b3b3304.js:1276:190753)
    at async C (page-72059307799ed6bd.js:1:57598)
    at async 3917-6633f3a4937d8cf7.js:14:42084
Caused by: RpcRequestError: RPC Request failed.

URL: https://evmos.drpc.org
Request body: {"method":"eth_estimateGas","params":[{"data":"0xd331bef7000000000000000000000000000000000000000000000000000000000025a6ac000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006620338b2d4c72ad3446176e15223c3d38562b5c","from":"0x6620338b2d4C72ad3446176E15223C3D38562b5C","to":"0xb41f09baac835f52d408fe83989f9ac8938c01fa"}]}

Details: the method eth_estimateGas does not exist/is not available
Version: viem@2.16.1
    at request (2323-2f8e4b871b3b3304.js:1276:143212)
    at async delay.count (3211-b62c38da39bd9b8b.js:16:73697)
    at async s (3211-b62c38da39bd9b8b.js:37:20096)




26829-6d1c7fb750728508.js:1 ContractFunctionExecutionError: The contract function "vaultDetailsByAddress" reverted.

Contract Call:
  address:   0x1afD31627170607657224eD4aE701470209C4B2e
  function:  vaultDetailsByAddress(address vault)
  args:                           (0xb41f09baac835f52d408fe83989f9ac8938c01fa)

Docs: https://viem.sh/docs/contract/readContract
Version: viem@2.16.1
    at s (3211-b62c38da39bd9b8b.js:37:14844)
    at c (3211-b62c38da39bd9b8b.js:16:64946)
    at async queryFn (6829-6d1c7fb750728508.js:1:83967)Caused by: ContractFunctionRevertedError: The contract function "vaultDetailsByAddress" reverted.

Version: viem@2.16.1
    at s (3211-b62c38da39bd9b8b.js:37:14756)
    at c (3211-b62c38da39bd9b8b.js:16:64946)
    at async queryFn (6829-6d1c7fb750728508.js:1:83967) 'Error on simulateContract'
```


**1. Withdrawal Errors on Steer's Webpage**



*   **"Disable simulation" Error:**

    *   **Error:** `Error on withdraw Error: Disable simulation`
    *   **Meaning:** This suggests that Steer's website has a mechanism to simulate transactions (to estimate gas costs, etc.) and that this simulation is being disabled. This is not a fatal error, but it might indicate that the website is not able to fully estimate the gas costs for the withdrawal. It's a warning, not a direct cause of the failure.

*   **CORS Policy Error:**

    *   **Error:** `Access to fetch at 'https://evmos.api.onfinality.io/public' from origin 'https://app.steer.finance' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header contains the invalid value 'api.onfinality.io'.`
    *   **Meaning:** This is a *CORS (Cross-Origin Resource Sharing)* error. It means that the Steer website (running from `https://app.steer.finance`) is trying to make a request to `https://evmos.api.onfinality.io/public`, but the server at `evmos.api.onfinality.io` is not configured to allow requests from `app.steer.finance`.
    *   **Cause:** This CORS error is a *server-side* issue. The server at `evmos.api.onfinality.io` needs to be configured to include the correct `Access-Control-Allow-Origin` header in its responses. In this case, it seems the header is set to `api.onfinality.io`, which is not correct. It should allow origin `app.steer.finance`.
    *   **Impact:** This CORS error can prevent the Steer website from fetching data from `evmos.api.onfinality.io`. This could affect the withdrawal process if the website needs to fetch data from that API.

*   **`eth_estimateGas` Error:**

    *   **Error:** `Uncaught (in promise) ContractFunctionExecutionError: RPC Request failed.` followed by `Details: the method eth_estimateGas does not exist/is not available`
    *   **Meaning:** This is a critical error! The website is trying to estimate the gas cost for the withdrawal transaction by calling the `eth_estimateGas` method on an RPC (Remote Procedure Call) node. However, the RPC node at `https://evmos.drpc.org` is reporting that the `eth_estimateGas` method is *not available*.
    *   **Cause:** This is a problem with the RPC node that Steer's website is using. It indicates that the RPC node either:
        *   Does not support the `eth_estimateGas` method.
        *   Is not correctly configured to handle gas estimation requests.
    *   **Impact:** The website *cannot* estimate the gas cost for the withdrawal, which is a crucial step before submitting the transaction. This is a *major* problem.

*   **`vaultDetailsByAddress` Reverted:**

    *   **Error:** `ContractFunctionExecutionError: The contract function "vaultDetailsByAddress" reverted.`
    *   **Meaning:** This is the most direct indication of a problem. The website is trying to call the `vaultDetailsByAddress` function on a contract and it's reverting. Reverting means the function call failed.
    *   **Cause:** The `vaultDetailsByAddress` function is failing. The error suggests that something is wrong with the vault contract, the arguments being passed, or the state of the blockchain.
    *   **Impact:** Prevents the function from being called successfully.


**2. Recommendations**

*   **CORS Error:** The CORS error needs to be fixed on the `evmos.api.onfinality.io` server. Contact the Steer team to report this.
*   **`eth_estimateGas` Error:** This is the *most critical* issue. Report this to Steer. They need to switch to an RPC node that supports the `eth_estimateGas` method, or they need to find a workaround. This is likely the reason why your withdrawals are not working.


---

**Interface Link and Console Details**

*   I have created a withdrawal interface that demonstrates the issue. You can access it here:  https://poetic-zuccutto-c18b26.netlify.app
*   Here is the relevant console output from my interface when attempting a withdrawal. I am using the RPC node from https://evmos.lava.build

```
inpage.js:1 MetaMask - RPC Error: Internal JSON-RPC error.
{code: -32603, message: 'Internal JSON-RPC error.', data: {…}, stack: '{\n  "code": -32603,\n  "message": "Internal JSON-RP…ihfbeogaeaoehlefnkodbefgpgknn/common-1.js:1:21552'}
code
:
-32603
data
:
{code: 3, message: 'execution reverted: TF', data: '0x08c379a00000000000000000000000000000000000000000…0000000000000000000000000000000000000000000000000', cause: null}
message
:
"Internal JSON-RPC error."
stack
:
"{\n  \"code\": -32603,\n  \"message\": \"Internal JSON-RPC error.\",\n  \"data\": {\n    \"code\": 3,\n    \"message\": \"execution reverted: TF\",\n    \"data\": \"0x08c379a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000025446000000000000000000000000000000000000000000000000000000000000\",\n    \"cause\": null\n  },\n  \"stack\": \"Error: Internal JSON-RPC error.\\n    at new o (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-2.js:1:173863)\\n    at i (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-2.js:1:176954)\\n    at Object.internal (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-2.js:1:177563)\\n    at c (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-0.js:1:474067)\\n    at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-0.js:1:475069\\n    at async chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-1.js:1:21552\"\n}\n  at new o (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-2.js:1:173863)\n  at i (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-2.js:1:176954)\n  at Object.internal (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-2.js:1:177563)\n  at c (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-0.js:1:474067)\n  at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-0.js:1:475069\n  at async chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-1.js:1:21552"
[[Prototype]]
:
Object
```

```
index-ynvnUSje.js:40 Withdrawal error: Error: execution reverted: "TF" (action="estimateGas", data="0x08c379a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000025446000000000000000000000000000000000000000000000000000000000000", reason="TF", transaction={ "data": "0xd331bef700000000000000000000000000000000000000000000000000000000004a4f70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006620338b2d4c72ad3446176e15223c3d38562b5c", "from": "0x6620338b2d4C72ad3446176E15223C3D38562b5C", "to": "0xB41F09Baac835F52D408FE83989f9Ac8938c01FA" }, invocation=null, revert={ "args": [ "TF" ], "name": "Error", "signature": "Error(string)" }, code=CALL_EXCEPTION, version=6.13.5)
    at Ce (index-ynvnUSje.js:40:59420)
    at nC (index-ynvnUSje.js:40:222407)
    at Fc.getBuiltinCallException (index-ynvnUSje.js:40:223170)
    at _r.getRpcError (index-ynvnUSje.js:40:311787)
    at _r.getRpcError (index-ynvnUSje.js:40:317660)
    at index-ynvnUSje.js:40:315425
```

```
Error: execution reverted: "TF" (action="estimateGas", data="0x08c379a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000025446000000000000000000000000000000000000000000000000000000000000", reason="TF", transaction={ "data": "0xd331bef700000000000000000000000000000000000000000000000000000000004a4f70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006620338b2d4c72ad3446176e15223c3d38562b5c", "from": "0x6620338b2d4C72ad3446176E15223C3D38562b5C", "to": "0xB41F09Baac835F52D408FE83989f9Ac8938c01FA" }, invocation=null, revert={ "args": [ "TF" ], "name": "Error", "signature": "Error(string)" }, code=CALL_EXCEPTION, version=6.13.5)
    at Ce (index-ynvnUSje.js:40:59420)
    at nC (index-ynvnUSje.js:40:222407)
    at Fc.getBuiltinCallException (index-ynvnUSje.js:40:223170)
    at _r.getRpcError (index-ynvnUSje.js:40:311787)
    at _r.getRpcError (index-ynvnUSje.js:40:317660)
    at index-ynvnUSje.js:40:315425
```


