oddsrail

Notes on the venue APIs

The call that sounds like your trades returns everyone's

list_account_trades returns the market's public tape, not your fills. Read your own activity by wallet instead.

There is a call whose name promises your account's trades and whose response is the market's public tape. Nothing errors. The data is real. It is just not yours.

An agent that builds a position from it will count strangers' fills as its own, and every number downstream, average cost, realised profit, exposure, is wrong in a way that looks entirely reasonable.

The correct source

Read the activity feed for your wallet address. That returns your fills, with transaction hashes you can check on Polygon, which is also what makes a paper trail auditable by someone who does not trust you.

The general lesson

On venue APIs, a name is not a contract. Two calls that differ by one word can differ by "the whole market" versus "you". When the answer will drive money, verify what a call returns by checking a value you already know: place one small order and find it in the response before you trust the shape.

What oddsrail does

my_fills and my_positions read the operator's own activity by wallet and carry transaction hashes. The public tape is available too, under a name that says so.

Found by driving the venues live, then encoded so an agent never rediscovers it. Reproduce every one of these with no keys: pip install oddsrail && python examples/footguns.py (source).

Try an agent that knows all six All notes