Widget reference

Every embeddable ShowMyTrades widget with its URL, every type and every parameter: 7 iframe widgets and 11 self-updating images. Enough to write the snippet by hand, with no login and no API key.

A widget is a URL. Everything on this page can be written by hand, by you or by an AI assistant, from one piece of information: the slug of the account.

Iframe widgetsImage widgets
What they areLive, interactive pages shown in an <iframe>PNG or SVG files that redraw themselves on every request
Where they goAny site that accepts HTMLForum signatures, emails, GitHub READMEs, chats, builders that strip code
Types711
Login or API keyNoneNone
UpdatesAutomatic, at every closed tradeAutomatic, at every request
Required link backNo: the widget already links to the account pageRecommended: wrap the image in a link to the account page

Both work for a published account (including an unlisted one) and for a published portfolio. A private account shows a fallback card instead of its data.

Find the slug

The slug is the last part of the account's public URL:

https://showmytrades.com/account/YOUR-ACCOUNT-SLUG
                                 └── this is the slug

A published portfolio has its own slug, at the same kind of URL (https://showmytrades.com/account/YOUR-PORTFOLIO-SLUG), and works with every widget below in exactly the same way.

If you only have a login, the account's page is one click away from the dashboard, and the widget builder lists your accounts and portfolios directly. With the API, GET /api/v1/accounts returns the slug of every account you own.

Iframe widgets

URL

https://showmytrades.com/widget/YOUR-ACCOUNT-SLUG?type=TYPE&theme=THEME

Types

typeWhat it showsDefault size (px)Height
statsCard with balance, gain, trades and win rate400 × 212Fixed
stats-inlineOne horizontal row with the same metrics, for tables of several accounts750 × 80Fixed
equityInteractive growth chart, with balance, equity, profit and drawdown views1000 × 400Dynamic
monthlyMonthly returns table and chart1040 × 400Dynamic
currency-pairStatistics per symbol, table and chart900 × 400Dynamic
tradesClosed and open trades with the balance after each one1100 × 520Dynamic
completeFull dashboard: overview plus every chart1500 × 900Dynamic

Without type the widget is stats.

Parameters

ParameterValuesDefaultApplies to
typeone of the seven types abovestatsall
themeauto (follows the visitor's system), light, darkautoall
bgColorany CSS colour, URL-encoded (%23ffffff for #ffffff)theme backgroundall
chartColorsbase64 of a JSON object with the colours to change, see belowaccount's own coloursequity, complete
chartVisibilitybase64 of a JSON object with the lines and areas to hide, see beloweverything visibleequity, complete

chartColors and chartVisibility are produced by the widget builder. The keys of chartColors are balanceMain, balanceVolume, balanceEquity, balanceDeposit, balanceWithdrawal, profitMain, profitDrawdown, twrTrade, twrDailyMain, twrDailyVolume, twrDailyEquity and drawdown, each an rgba(...) string; only the keys you include are changed. chartVisibility has one key per chart (twrDaily, balance, profit, twrTrade, drawdown), each with enabled and a lines object of booleans. When in doubt, leave both out: the widget uses the colours the owner set on the account page.

Snippet

Fixed-height widgets (stats, stats-inline) need only the <iframe>:

<iframe
  src="https://showmytrades.com/widget/YOUR-ACCOUNT-SLUG?type=stats&theme=auto"
  width="400"
  height="212"
  loading="lazy"
  frameborder="0"
  style="border-radius: 8px; width: 400px;">
</iframe>

Dynamic-height widgets grow with their content, so they post their height to the parent page. Add the small script after the <iframe> and give the <iframe> an id:

<iframe
  id="smt-equity"
  src="https://showmytrades.com/widget/YOUR-ACCOUNT-SLUG?type=equity&theme=auto"
  width="100%"
  height="400"
  loading="lazy"
  frameborder="0"
  style="border-radius: 8px; width: 100%;">
</iframe>
<script>
(function() {
  var iframe = document.getElementById('smt-equity');
  window.addEventListener('message', function(e) {
    if (e.data?.type === 'widget-resize' && e.source === iframe.contentWindow) {
      iframe.height = e.data.height;
    }
  });
})();
</script>

Several widgets on one page: give each <iframe> a different id and repeat the script with that id, or make the script loop over all of them. Without the script the widget still works, cut at the height you set.

A width of 100% is the right choice for responsive layouts; the charts redraw to fit.

Image widgets

URL

https://showmytrades.com/api/widget-image/YOUR-ACCOUNT-SLUG/TYPE_THEME.FORMAT

Three parts, joined as in growth-daily_dark.png: the type, an underscore, the theme, a dot, the format.

Types

TYPEWhat it showsSize (px)Formats
statsCard: gain, drawdown, balance, equity310 × 170PNG, SVG
stats-inlineHorizontal bar with the same four metrics750 × 80PNG, SVG
summaryGrowth, drawdown, last update and a growth chart500 × 290PNG, SVG
growth-dailyDaily time-weighted growth chart1000 × 450PNG, SVG
growth-tradeGrowth per closed trade1000 × 455PNG only
growth-miniCompact growth line, no title or axes400 × 200PNG, SVG
balanceBalance and equity lines1000 × 450PNG, SVG
profitNet profit with the drawdown overlaid1000 × 455PNG, SVG
drawdownDrawdown percentage bars1000 × 455PNG, SVG
monthlyMonthly returns table (height follows the rows)1066 × 400+PNG, SVG
currency-pairStatistics per symbol (height follows the rows)1196 × 400+PNG, SVG

Themes and formats

PartValuesNotes
THEMElight, dark, transparenttransparent has no background: use it over a coloured page
FORMATpng, svgPNG works everywhere, including forums and email; SVG is sharper and accepts custom colours

SVG colour parameters

Only for .svg. Each value is a hex colour without the #, six characters.

ParameterMeaningAvailable on
bgBackgroundall
textMain textall
positiveGain colourstats, stats-inline
negativeDrawdown colourstats, stats-inline
labelLabels or axis labelssummary and every chart type
gridGrid lineschart types
lineMain linesummary and every chart type
line2Secondary linegrowth-daily, balance, profit
animated0 turns off the drawing animationchart types
hideline, hideline2, hidearea1 hides the main line, the secondary line or the filled areachart types
https://showmytrades.com/api/widget-image/YOUR-ACCOUNT-SLUG/growth-daily_transparent.svg?line=00dc82&text=ffffff&animated=0

Snippets

HTML, with the link back to the account page:

<a href="https://showmytrades.com/account/YOUR-ACCOUNT-SLUG">
  <img src="https://showmytrades.com/api/widget-image/YOUR-ACCOUNT-SLUG/summary_dark.png" alt="Trading results, updated automatically" width="500" height="290">
</a>

Markdown (GitHub README, documentation sites):

[![Trading results](https://showmytrades.com/api/widget-image/YOUR-ACCOUNT-SLUG/growth-daily_dark.png)](https://showmytrades.com/account/YOUR-ACCOUNT-SLUG)

BBCode (forum signatures):

[url=https://showmytrades.com/account/YOUR-ACCOUNT-SLUG][img]https://showmytrades.com/api/widget-image/YOUR-ACCOUNT-SLUG/stats-inline_light.png[/img][/url]

Which one to pick

You wantUse
One chart on a web pageIframe equity, width 100%
A small card in a sidebarIframe stats, or image summary
A table of several accountsOne iframe stats-inline per row
Several accounts as one resultA published portfolio, then any widget with the portfolio's slug
A place that refuses HTML (forum, email, README)An image widget
A design the widgets do not offerThe API, with the attribution link

Let the API compose it

If you would rather not assemble the snippet, one request returns it ready, after checking that the account exists and is published. No key is needed for a published account.

GET https://showmytrades.com/api/v1/accounts/{slug}/widget?type=equity&theme=auto&width=100%
GET https://showmytrades.com/api/v1/accounts/{slug}/widget?kind=image&type=summary&theme=dark&format=png
ParameterValuesDefault
kindiframe, imageiframe
typean iframe type or an image type from the tables aboveequity for iframe, summary for image
themeiframe: auto, light, dark; image: light, dark, transparentauto / dark
formatimage only: png, svgpng
widthiframe only: pixels from 200 to 2000, or 100%the type's own width

The response carries url, html (with the resize script when the height is dynamic), markdown and bbcode for images, the size, short instructions, the list of the other types and the account's attribution. The same thing is the get_widget_snippet tool of the MCP server.

For AI assistants

When a user asks you to put their ShowMyTrades results on a page, you need only their account's public URL. Take the slug from it, pick a type from the tables above, and write the snippet; nothing has to be fetched or authenticated. If you can call tools, the get_widget_snippet MCP tool or the /widget endpoint above return it composed and verified. If the user has no account yet, the steps are in Show your trading results on your website. For the exact element to use in WordPress, Wix, Webflow, Squarespace or Shopify, see the guides for WordPress and website builders.