# C# demo does nothing

**URL:** <https://community.tradovate.com/t/c-demo-does-nothing/10353>\
**Category:** API Developers\
**Created:** [October 5, 2024, 11:41am UTC](https://community.tradovate.com/t/c-demo-does-nothing/10353 "2024-10-05T11:41:53Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dylan\_Clark](https://avatars.discourse-cdn.com/v4/letter/d/a587f6/32.png) [@Dylan\_Clark](https://community.tradovate.com/u/Dylan_Clark)\
**Post date:** [October 5, 2024, 11:41am UTC](https://community.tradovate.com/t/c-demo-does-nothing/10353/1 "2024-10-05T11:41:53Z")

</div>

Hello,

1. I have built the c# example and run it as outlined. USERNAME and PASSWORD are obviously my replaced below. The demo does nothing!

Any help appreciated? The demo should either connect successfully or provide meaningful information why the connection failed. Im aware that its Saturday and the exchange is closed but some sort of meaningful error message is what we all learn in programming 101.

./bin/Tradovate.Samples.exe USERNAME PASSWORD

CALLING SERVICES VIA WEBSOCKET  
[+0] RECVD: o…  
WebsocketClient\_Opened  
[+40] SENT: user/syncrequest\n1\n\n{“splitResponses”:true}  
WebsocketClient\_Closed  
Press any key to exit

1. On another note, what kind of support is available for Tradovate API. Im starting to have real concerns about the reliability/quality of this platform. Is there an offical support channel?

2. Are there people out there that are actively algo trading on this platform? I am starting to think not based on the lack of responses to questions and also the questions posted here. Looks iffy to me but hopefullly Im wrong.

---

<div class="post-metadata">

**Author:** ![Frik](https://sea1.discourse-cdn.com/flex015/user_avatar/community.tradovate.com/frik/32/2627_2.png) [@Frik](https://community.tradovate.com/u/Frik)\
**Post date:** [October 6, 2024, 11:42am UTC](https://community.tradovate.com/t/c-demo-does-nothing/10353/2 "2024-10-06T11:42:43Z")

</div>

Hi Dylan, I am an independent developer and have been able to implement a complete trading bot with the API using their documentation. It took me 2 weeks from start to end and created all the code from scratch in nodejs.

I can tell you without any doubt that the system works well and is very reliable and scales well.

The only thing that is not well documented is the fact that there is no live futures data unless you pay CBOE $500 / mo licensing fee… so I integrated DataBento instead for live data and that is costing me less than $50/mo.

I can also tell you that if you expect any kind of response from their support team on this community site, you are SOL. I do not believe that they even know that this site exists anymore.

I have never called their support line to get help since I did not need it, so I cannot give you feedback on actual support there.

Hope this helps.

---

<div class="post-metadata">

**Author:** ![Frik](https://sea1.discourse-cdn.com/flex015/user_avatar/community.tradovate.com/frik/32/2627_2.png) [@Frik](https://community.tradovate.com/u/Frik)\
**Post date:** [October 6, 2024, 11:56am UTC](https://community.tradovate.com/t/c-demo-does-nothing/10353/3 "2024-10-06T11:56:18Z")

</div>

I have not looked at the C# app, but the logs in your message shows the issue. The syncrequest must include the userIds in an array

See:

> **[Tradovate API](https://api.tradovate.com/#tag/Users/operation/syncRequest)**
>
> Documentation for the Tradovate API.

```auto
const URL = 'wss://live.tradovateapi.com/v1/websocket'

const myWebSocket = new WebSocket(URL)

//authorize websocket with your access token
myWebSocket.onopen = function() {
    myWebSocket.send(`authorize\n0\n\n${accessToken}`)
}

const requestBody = {
    users: [12345]
}

myWebSocket.send(`user/syncrequest\n1\n\n${JSON.stringify(requestBody)}`) 

```

---

<div class="post-metadata">

**Author:** ![Dylan\_Clark](https://avatars.discourse-cdn.com/v4/letter/d/a587f6/32.png) [@Dylan\_Clark](https://community.tradovate.com/u/Dylan_Clark)\
**Post date:** [October 7, 2024, 9:12am UTC](https://community.tradovate.com/t/c-demo-does-nothing/10353/4 "2024-10-07T09:12:37Z")

</div>

Thanks a million for your reply.

So if I understand correctly, I should send 2 messages over the websocket;

1. Authorize with my tradovate accessToken (not marketData access token)

2. send a user/syncrequest, with the requestBody above , where I replace 12345 above with the login id I use to connect to tradovate (trading GUI etc). In my case its Google:12345XXXXXXXXXX

Thanks correct, yes?

Much appreciated.

---

<div class="post-metadata">

**Author:** ![Frik](https://sea1.discourse-cdn.com/flex015/user_avatar/community.tradovate.com/frik/32/2627_2.png) [@Frik](https://community.tradovate.com/u/Frik)\
**Post date:** [October 7, 2024, 2:47pm UTC](https://community.tradovate.com/t/c-demo-does-nothing/10353/6 "2024-10-07T14:47:06Z")

</div>

the userid is not your username…

- step one is to get a token over HTTPS  
[Tradovate API](https://api.tradovate.com/#tag/Authentication)

Then you have to get a user list that will give you your userid

> **[Tradovate API](https://api.tradovate.com/#tag/Users/operation/userList)**
>
> Documentation for the Tradovate API.

Everything else should then be done over websocket.

Remember to refresh your token before it expires.

---

<div class="post-metadata">

**Author:** ![Frik](https://sea1.discourse-cdn.com/flex015/user_avatar/community.tradovate.com/frik/32/2627_2.png) [@Frik](https://community.tradovate.com/u/Frik)\
**Post date:** [October 7, 2024, 4:28pm UTC](https://community.tradovate.com/t/c-demo-does-nothing/10353/7 "2024-10-07T16:28:28Z")

</div>

Dylan, Are you an experienced developer? This is not an easy feat to implement and the amount of support you will get from Tradovate is basically non-existent.

What is your ultimate objective here?

It might make sense to use a service such as Traderspost instead since they have done all the hard work and it will make it very easy for you to place trades.

---

<div class="post-metadata">

**Author:** ![Frik](https://sea1.discourse-cdn.com/flex015/user_avatar/community.tradovate.com/frik/32/2627_2.png) [@Frik](https://community.tradovate.com/u/Frik)\
**Post date:** [October 7, 2024, 5:53pm UTC](https://community.tradovate.com/t/c-demo-does-nothing/10353/8 "2024-10-07T17:53:07Z")

</div>

This is a screen shot of what I was able to build. It supports many user accounts and has a trading bot that takes trades for users or users can add manual trades. It has stop loss management and everything works really well…

You can easily switch between your demo and live account and playback previous sessions.

However, it is not something that is possible without extensive experience and took a lot of dedicated focus.

Hope this helps to give you an idea.

 ![image](https://us1.discourse-cdn.com/flex015/uploads/tradingforum/original/2X/5/5bb002774985916715dbe1af5bb0ecf6bf5a39f6.png)

Please see

> [@API Developer Support](https://community.tradovate.com/t/api-developer-support/10383):
>
> I have created a public Discord channel to help answer API specific questions for anyone that needs help since I am not always checking in here because of lack of activity. It is free… and should be way more responsive than this community. slight_smile NOTE: I am not trying to steal people or advertise anything. I am happy to help since I have done a full implementation using the API and works really well. It is so sad that there is no dev support here. I do not have time to check in h…
