> For the complete documentation index, see [llms.txt](https://docs.hydromancer.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hydromancer.xyz/readme/rest-api/user-position-data/userdexabstraction.md).

# userDexAbstraction

Returns whether per-DEX abstraction is enabled for a user. This is the per-DEX counterpart to [userAbstraction](/readme/rest-api/user-position-data/userabstraction.md).

<table><thead><tr><th width="115">Field</th><th width="177">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>type</code></td><td>string</td><td>Must be <code>"userDexAbstraction"</code></td></tr><tr><td><code>user</code></td><td>string</td><td>User Ethereum address (required)</td></tr></tbody></table>

## Request

{% tabs %}
{% tab title="cURL" %}

```bash
curl -X POST https://api.hydromancer.xyz/info \
  -H "Authorization: Bearer $HYDROMANCER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "userDexAbstraction",
    "user": "0xd38809cc442fe4f10937c5988d2b723a15a89e5b"
  }'
```

{% endtab %}

{% tab title="Python" %}

```python
import requests
import os
import json

response = requests.post(
    'https://api.hydromancer.xyz/info',
    json={
        'type': 'userDexAbstraction',
        'user': '0xd38809cc442fe4f10937c5988d2b723a15a89e5b'
    },
    headers={
        'Authorization': f'Bearer {os.environ["HYDROMANCER_API_KEY"]}',
        'Content-Type': 'application/json'
    }
)
print(json.dumps(response.json(), indent=2))
```

{% endtab %}

{% tab title="Javascript" %}

```javascript
import axios from 'axios';

const response = await axios.post(
  'https://api.hydromancer.xyz/info',
  {
    type: 'userDexAbstraction',
    user: '0xd38809cc442fe4f10937c5988d2b723a15a89e5b'
  },
  {
    headers: {
      'Authorization': `Bearer ${process.env.HYDROMANCER_API_KEY}`,
      'Content-Type': 'application/json'
    }
  }
);

console.log(JSON.stringify(response.data, null, 2));
```

{% endtab %}
{% endtabs %}

***

## Response Fields

| Field  | Type | Description                                                              |
| ------ | ---- | ------------------------------------------------------------------------ |
| (root) | bool | `true` if per-DEX abstraction is enabled for the user, otherwise `false` |

<details>

<summary>Response</summary>

```json
false
```

</details>
