Skip to content
SecurityLast updatedSeptember 21, 2026

Reporting a security issue

Send it to support@0xinsider.com. You get a reply with a verdict and the reasoning. There is no bounty.

1. How to report

Email support@0xinsider.com, the address in /.well-known/security.txt. Include the URL or endpoint, the request you sent, the response you got, and what you expected instead. A working reproduction is read first; a scanner finding with no reproduction is read last.

0xinsider is one person. You get a reply that says whether the report is a defect and the reasoning either way, usually within a week. A confirmed defect is fixed through the normal release path and the fix gets a line on the changelog. If you want to be named there, say so.

2. No bounty

There is no bug bounty and no payment for reports. Asking for one does not change the triage. A report that arrives with a price attached is still read on its technical merit.

3. In scope

0xinsider.com, api.0xinsider.com, the OAuth server at api.0xinsider.com/oauth/*, the MCP server, the @0xinsider/sdk and @0xinsider/mcp packages. Reports that get fixed:

  • Signing in as, or acting as, an account you do not own.
  • Reading data another account is entitled to and you are not: a Pro-only feed on a free account, an API key or OAuth grant that is not yours, a webhook endpoint you did not register.
  • Getting an authorization code or token delivered to a redirect URI the OAuth client did not register, or completing an authorization flow without a matching PKCE verifier.
  • Injection of any kind: SQL, HTML, headers, or a prompt through an MCP tool.
  • Server-side requests to an address you control from a place that should not make them, for example the webhook delivery path.
  • A secret, credential, or private key in a response, a log, or a public file.

4. By design, and out of scope

These come in as findings and are not defects. Check the list before you write; the reply will point here.

  • Open OAuth client registration. POST /oauth/register accepts a registration from anyone with no pre-approval, per RFC 7591. The MCP authorization spec requires it: Claude Desktop, Cursor and every other MCP client register themselves before their first flow. A client_id identifies a client and never authenticates one, which is why token_endpoint_auth_method is none. What bounds a self-registered client: PKCE with S256 is mandatory, the redirect URI must equal one the client registered and the token endpoint refuses a code whose redirect URI differs, the consent page names every registered client as an unverified app that chose its own name and shows the host the browser returns to, and registration has its own per-address limit. A consent link a user approves on that page is consent, not a bypass.
  • Rate-limit values. The limits exist and are tuned on purpose. A report that a limit is higher or lower than you would set it is an opinion, not a defect. A report that a limit can be skipped is in scope.
  • Public data. Every trade, position and wallet on the site is public on Polymarket and on Polygon. Reading it through the site or the API is the product.
  • Scanner output. A missing header, a version string, a cookie flag, or a TLS cipher with no demonstrated effect on a user.
  • Self-XSS, clickjacking on a page with no state-changing action, and anything that needs the victim to paste code into their own console.
  • Denial of service. Do not run volumetric tests, and do not register OAuth clients, API keys, or accounts in bulk. A rate-limit refusal is the intended answer, not a finding.
  • Social engineering of the founder, of users, or of the providers the service runs on.

5. Rules for testing

  • Test only against accounts and API keys you created.
  • Stop at proof. If a request returns data that is not yours, record the request and the shape of the response and do not pull more.
  • Do not change, delete, or hold on to anyone else's data.
  • Give the report time to be read before you publish it.

Research that follows these rules is welcome, and it is not treated as a violation of the Terms of Service.

6. What is not part of this service

Polymarket, Polygon, and the wallets and markets they host are not 0xinsider. A finding about them goes to them. 0xinsider holds no user funds and signs no trades; the open-source potd-trader runs on your own machine with your own keys, and a finding in it is a GitHub issue on that repository.