{"id":5487,"date":"2026-03-25T09:17:56","date_gmt":"2026-03-25T09:17:56","guid":{"rendered":"https:\/\/exchangeselector.com\/?page_id=5487"},"modified":"2026-06-02T16:57:13","modified_gmt":"2026-06-02T16:57:13","slug":"calculadora-comisiones","status":"publish","type":"page","link":"https:\/\/exchangeselector.com\/es\/calculadora-comisiones\/","title":{"rendered":"Calculadora de comisiones"},"content":{"rendered":"<style>.kb-row-layout-id5487_1e3deb-36 > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id5487_1e3deb-36 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id5487_1e3deb-36 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);max-width:var( --global-content-width, 1290px );padding-left:var(--global-content-edge-padding);padding-right:var(--global-content-edge-padding);padding-top:var(--global-kb-spacing-xxl, 5rem);padding-bottom:var(--global-kb-spacing-lg, 3rem);grid-template-columns:minmax(0, 1fr);}.kb-row-layout-id5487_1e3deb-36{background-image:linear-gradient(180deg,rgb(237,243,255) 15%,var(--global-palette9) 79%);}.kb-row-layout-id5487_1e3deb-36 > .kt-row-layout-overlay{opacity:0.20;mix-blend-mode:multiply;}.kb-row-layout-id5487_1e3deb-36 .kt-row-layout-bottom-sep{height:77px;}.kb-row-layout-id5487_1e3deb-36 .kt-row-layout-bottom-sep svg{width:121%;}.kb-row-layout-id5487_1e3deb-36 .kt-row-layout-bottom-sep svg{fill:#ffffff!important;}@media all and (max-width: 1024px){.kb-row-layout-id5487_1e3deb-36 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}@media all and (max-width: 1024px){.kb-row-layout-id5487_1e3deb-36 .kt-row-layout-bottom-sep{height:px;}}@media all and (max-width: 1024px){.kb-row-layout-id5487_1e3deb-36 .kt-row-layout-bottom-sep svg{width:%;}}@media all and (max-width: 767px){.kb-row-layout-id5487_1e3deb-36 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}.kb-row-layout-id5487_1e3deb-36 .kt-row-layout-bottom-sep{height:px;}.kb-row-layout-id5487_1e3deb-36 .kt-row-layout-bottom-sep svg{width:%;}}<\/style><div class=\"kb-row-layout-wrap kb-row-layout-id5487_1e3deb-36 alignfull has-theme-palette8-background-color kt-row-has-bg wp-block-kadence-rowlayout\"><div class=\"kt-row-layout-bottom-sep kt-row-sep-type-crvi\"><svg viewBox=\"0 0 1000 100\" preserveAspectRatio=\"none\"><path d=\"M1000,0c0,0 -270.987,98 -500,98c-229.013,0 -500,-98 -500,-98l0,100l1000,0l0,-100Z\" \/><\/svg><\/div><div class=\"kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top kb-theme-content-width\">\n<style>.kadence-column5487_44195b-41 > .kt-inside-inner-col,.kadence-column5487_44195b-41 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column5487_44195b-41 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column5487_44195b-41 > .kt-inside-inner-col{flex-direction:column;}.kadence-column5487_44195b-41 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column5487_44195b-41 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column5487_44195b-41{position:relative;}.kadence-column5487_44195b-41, .kt-inside-inner-col > .kadence-column5487_44195b-41:not(.specificity){margin-top:var(--global-kb-spacing-lg, 3rem);}@media all and (max-width: 1024px){.kadence-column5487_44195b-41 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column5487_44195b-41 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column5487_44195b-41 inner-column-1\"><div class=\"kt-inside-inner-col\"><style>.wp-block-kadence-advancedheading.kt-adv-heading5487_a5ce04-96, .wp-block-kadence-advancedheading.kt-adv-heading5487_a5ce04-96[data-kb-block=\"kb-adv-heading5487_a5ce04-96\"]{margin-top:var(--global-kb-spacing-xs, 1rem);margin-bottom:var(--global-kb-spacing-sm, 1.5rem);text-align:center;font-size:var(--global-kb-font-size-xl, 3rem);line-height:1.1;font-weight:900;font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading5487_a5ce04-96 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading5487_a5ce04-96[data-kb-block=\"kb-adv-heading5487_a5ce04-96\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading5487_a5ce04-96 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading5487_a5ce04-96[data-kb-block=\"kb-adv-heading5487_a5ce04-96\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h2 class=\"kt-adv-heading5487_a5ce04-96 wp-block-kadence-advancedheading has-theme-palette-3-color has-text-color\" data-kb-block=\"kb-adv-heading5487_a5ce04-96\">Calcula el precio de tus comisiones<\/h2>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading5487_827de1-99, .wp-block-kadence-advancedheading.kt-adv-heading5487_827de1-99[data-kb-block=\"kb-adv-heading5487_827de1-99\"]{text-align:center;font-style:normal;font-family:var( --global-body-font-family, inherit );}.wp-block-kadence-advancedheading.kt-adv-heading5487_827de1-99 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading5487_827de1-99[data-kb-block=\"kb-adv-heading5487_827de1-99\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading5487_827de1-99 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading5487_827de1-99[data-kb-block=\"kb-adv-heading5487_827de1-99\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<p class=\"kt-adv-heading5487_827de1-99 has-sm-font-size wp-block-kadence-advancedheading has-theme-palette-4-color has-text-color\" data-kb-block=\"kb-adv-heading5487_827de1-99\">La mayor\u00eda de traders nunca calculan lo que pagan en comisiones al a\u00f1o. Introduce tu volumen mensual y descubre al instante cu\u00e1nto te costar\u00eda operar en cada exchange.<\/p>\n<\/div><\/div>\n\n<\/div><\/div>\n\n\n<hr class=\"wp-block-separator has-text-color has-theme-palette-2-color has-alpha-channel-opacity has-theme-palette-2-background-color has-background is-style-default\"\/>\n\n\n<style>.kb-row-layout-id5487_9abd1a-81 > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id5487_9abd1a-81 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id5487_9abd1a-81 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);max-width:800px;margin-left:auto;margin-right:auto;padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);grid-template-columns:minmax(0, 1fr);}.kb-row-layout-id5487_9abd1a-81 > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id5487_9abd1a-81 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}@media all and (max-width: 767px){.kb-row-layout-id5487_9abd1a-81 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}<\/style><div class=\"kb-row-layout-wrap kb-row-layout-id5487_9abd1a-81 alignnone wp-block-kadence-rowlayout\"><div class=\"kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top\">\n<style>.kadence-column5487_35a8fc-bb > .kt-inside-inner-col,.kadence-column5487_35a8fc-bb > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column5487_35a8fc-bb > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column5487_35a8fc-bb > .kt-inside-inner-col{flex-direction:column;}.kadence-column5487_35a8fc-bb > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column5487_35a8fc-bb > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column5487_35a8fc-bb{position:relative;}@media all and (max-width: 1024px){.kadence-column5487_35a8fc-bb > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column5487_35a8fc-bb > .kt-inside-inner-col{display:flex;flex-direction:column;justify-content:center;align-items:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column5487_35a8fc-bb\"><div class=\"kt-inside-inner-col\">\n<!DOCTYPE html>\n<html lang=\"es\">\n<head>\n<meta charset=\"UTF-8\" \/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/>\n<title>Exchange Selector<\/title>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&#038;display=swap\" rel=\"stylesheet\" \/>\n<style>\n  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\n  :root {\n    --brand: #0f172a;\n    --accent: #0064ff;\n    --bg: #f8fafc;\n    --surface: #ffffff;\n    --border: #e2e8f0;\n    --border-strong: #cbd5e1;\n    --text: #0f172a;\n    --text-muted: #64748b;\n    --text-faint: #94a3b8;\n    --green: #16a34a;\n    --green-bg: #f0fdf4;\n    --green-border: #bbf7d0;\n    --radius: 12px;\n    --radius-sm: 8px;\n    --shadow: 0 1px 3px rgba(0,0,0,.07), 0 1px 2px rgba(0,0,0,.04);\n    --shadow-md: 0 4px 12px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.04);\n  }\n\n  body {\n    font-family: 'Plus Jakarta Sans', sans-serif;\n    line-height: 1.5;\n    background: var(--bg);\n  }\n\n  .page { width: 100%; }\n\n  \/* Card *\/\n  .card {\n    background: var(--surface);\n    border: 1px solid var(--border);\n    border-radius: var(--radius);\n    box-shadow: var(--shadow);\n    overflow: hidden;\n  }\n\n  \/* Controls *\/\n  .controls {\n    padding: 1.5rem;\n    border-bottom: 1px solid var(--border);\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 16px;\n  }\n\n  .field label {\n    display: block;\n    font-size: 12px;\n    font-weight: 600;\n    color: var(--text-muted);\n    text-transform: uppercase;\n    letter-spacing: 0.5px;\n    margin-bottom: 6px;\n  }\n  .input-wrap { position: relative; }\n  .input-prefix {\n    position: absolute;\n    left: 12px; top: 50%;\n    transform: translateY(-50%);\n    font-size: 14px; font-weight: 600;\n    color: var(--text-muted);\n    pointer-events: none;\n  }\n  input[type=\"number\"], select {\n    width: 100%; height: 42px;\n    border: 1px solid var(--border-strong);\n    border-radius: var(--radius-sm);\n    font-family: inherit; font-size: 14px; font-weight: 500;\n    color: var(--text); background: var(--surface);\n    outline: none; transition: border-color .15s;\n    appearance: none;\n  }\n  input[type=\"number\"] { padding: 0 12px 0 28px; }\n  select {\n    padding: 0 36px 0 12px;\n    background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'\/%3E%3C\/svg%3E\");\n    background-repeat: no-repeat; background-position: right 10px center; cursor: pointer;\n  }\n  input[type=\"number\"]:focus, select:focus {\n    border-color: var(--accent);\n    box-shadow: 0 0 0 3px rgba(0,100,255,.12);\n  }\n  input[type=\"number\"]::-webkit-inner-spin-button { -webkit-appearance: none; }\n\n  \/* Metrics *\/\n  .metrics {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    border-bottom: 1px solid var(--border);\n  }\n  .metric {\n    padding: 1.25rem 1.5rem;\n    border-right: 1px solid var(--border);\n  }\n  .metric:last-child { border-right: none; }\n  .metric-label {\n    font-size: 11px; font-weight: 600;\n    text-transform: uppercase; letter-spacing: 0.6px;\n    color: var(--text-faint); margin-bottom: 4px;\n  }\n  .metric-value {\n    font-size: 24px; font-weight: 700;\n    color: var(--text); letter-spacing: -0.5px;\n  }\n  .metric-value.accent { color: var(--accent); }\n  .metric-value.green { color: var(--green); }\n  .metric-sub { font-size: 12px; color: var(--text-faint); margin-top: 2px; }\n\n  \/* Toggle pills *\/\n  .pills {\n    display: flex; gap: 4px;\n    background: var(--bg);\n    border: 1px solid var(--border-strong);\n    border-radius: var(--radius-sm);\n    padding: 3px;\n  }\n  .pill {\n    flex: 1; padding: 7px 10px;\n    border-radius: 6px; border: none;\n    background: transparent; font-family: inherit;\n    font-size: 13px; font-weight: 500;\n    color: var(--text-muted); cursor: pointer;\n    transition: all .15s; white-space: nowrap; text-align: center;\n  }\n  .pill.active {\n    background: var(--surface); color: var(--text);\n    font-weight: 600; box-shadow: var(--shadow);\n  }\n\n  \/* \u2500\u2500 DESKTOP TABLE \u2500\u2500 *\/\n  .table-wrap { overflow-x: auto; }\n  table { width: 100%; border-collapse: collapse; font-size: 14px; }\n  thead th {\n    padding: 10px 16px; text-align: left;\n    font-size: 11px; font-weight: 600;\n    text-transform: uppercase; letter-spacing: 0.5px;\n    color: var(--text-faint); background: var(--bg);\n    border-bottom: 1px solid var(--border); white-space: nowrap;\n  }\n  thead th.right { text-align: right; }\n  tbody tr {\n    border-bottom: 1px solid var(--border);\n    transition: background .12s;\n  }\n  tbody tr:last-child { border-bottom: none; }\n  tbody tr:hover { background: #f8fafc; }\n  tbody tr.best-row { background: var(--green-bg); }\n  tbody tr.best-row:hover { background: #e8fdf0; }\n  td { padding: 13px 16px; vertical-align: middle; }\n  td.right { text-align: right; }\n\n  .ex-cell { display: flex; align-items: center; gap: 10px; }\n  .ex-logo {\n    width: 32px; height: 32px;\n    border-radius: 0; border: none;\n    object-fit: contain; background: transparent;\n    padding: 0; flex-shrink: 0;\n  }\n  .ex-name { font-weight: 600; font-size: 14px; color: var(--text); }\n\n  .rank {\n    display: inline-flex; align-items: center; justify-content: center;\n    width: 22px; height: 22px; border-radius: 50%;\n    font-size: 11px; font-weight: 700;\n    background: var(--border); color: var(--text-muted); flex-shrink: 0;\n  }\n  .rank.gold { background: #fef3c7; color: #92400e; }\n\n  .best-badge {\n    display: inline-block; font-size: 10px; font-weight: 700;\n    text-transform: uppercase; letter-spacing: 0.4px;\n    padding: 2px 7px; border-radius: 20px;\n    background: var(--green-bg); color: var(--green);\n    border: 1px solid var(--green-border); margin-left: 4px;\n  }\n\n  .fee-pill { display: inline-block; font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--text); }\n  .fee-zero { color: var(--green); font-weight: 700; }\n\n  .cost-val { font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--text); }\n  tr.best-row .cost-val { color: var(--green); }\n\n  .bar-cell { min-width: 120px; }\n  .bar-track { height: 6px; background: var(--border); border-radius: 99px; overflow: hidden; margin-bottom: 3px; }\n  .bar-fill { height: 100%; border-radius: 99px; transition: width .4s cubic-bezier(.4,0,.2,1); }\n  .bar-pct { font-size: 11px; color: var(--text-faint); font-variant-numeric: tabular-nums; }\n\n  .saving { font-size: 12px; font-weight: 600; color: var(--green); white-space: nowrap; }\n  .saving.zero { color: var(--text-faint); }\n\n  \/* \u2500\u2500 MOBILE CARDS \u2500\u2500 *\/\n  .mobile-list { display: none; }\n\n  .m-card {\n    padding: 14px 16px;\n    border-bottom: 1px solid var(--border);\n    background: var(--surface);\n  }\n  .m-card:last-child { border-bottom: none; }\n  .m-card.best-row { background: var(--green-bg); }\n\n  .m-card-header {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    margin-bottom: 10px;\n  }\n  .m-card-name {\n    font-size: 15px; font-weight: 700; color: var(--text);\n    display: flex; align-items: center; gap: 6px; flex: 1;\n  }\n  .m-card-cost {\n    font-size: 17px; font-weight: 700;\n    font-variant-numeric: tabular-nums;\n    color: var(--text);\n  }\n  .m-card.best-row .m-card-cost { color: var(--green); }\n\n  .m-card-body {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 8px 16px;\n  }\n  .m-stat-label {\n    font-size: 10px; font-weight: 600;\n    text-transform: uppercase; letter-spacing: 0.5px;\n    color: var(--text-faint); margin-bottom: 1px;\n  }\n  .m-stat-value {\n    font-size: 13px; font-weight: 600; color: var(--text);\n    font-variant-numeric: tabular-nums;\n  }\n  .m-stat-value.green { color: var(--green); }\n  .m-stat-value.faint { color: var(--text-faint); }\n\n  .m-bar-track { height: 5px; background: var(--border); border-radius: 99px; overflow: hidden; margin-top: 8px; }\n  .m-bar-fill { height: 100%; border-radius: 99px; }\n\n  \/* \u2500\u2500 RESPONSIVE BREAKPOINTS \u2500\u2500 *\/\n  @media (max-width: 640px) {\n    .controls { grid-template-columns: 1fr 1fr; gap: 12px; padding: 1rem; }\n    .metrics { grid-template-columns: 1fr 1fr; }\n    .metrics .metric:last-child { display: none; }\n    .metric { padding: 1rem; }\n    .metric-value { font-size: 20px; }\n\n    \/* Hide desktop table, show mobile cards *\/\n    .table-wrap { display: none; }\n    .mobile-list { display: block; }\n  }\n\n  @media (max-width: 400px) {\n    .controls { grid-template-columns: 1fr; }\n    .metric-value { font-size: 18px; }\n  }\n<\/style>\n<\/head>\n<body>\n<div class=\"page\">\n  <div class=\"card\">\n\n    <!-- Controls -->\n    <div class=\"controls\">\n      <div class=\"field\">\n        <label>Volumen mensual<\/label>\n        <div class=\"input-wrap\">\n          <span class=\"input-prefix\">$<\/span>\n          <input type=\"number\" id=\"volume\" value=\"10000\" min=\"100\" max=\"20000000\" step=\"500\" \/>\n        <\/div>\n      <\/div>\n      <div class=\"field\">\n        <label>Tipo de orden<\/label>\n        <div class=\"pills\" id=\"optype-pills\">\n          <button class=\"pill\" data-val=\"maker\">Maker<\/button>\n          <button class=\"pill active\" data-val=\"taker\">Taker<\/button>\n        <\/div>\n      <\/div>\n      <div class=\"field\">\n        <label>Nivel de usuario<\/label>\n        <div class=\"pills\" id=\"level-pills\">\n          <button class=\"pill active\" data-val=\"base\">B\u00e1sico<\/button>\n          <button class=\"pill\" data-val=\"vip\">VIP \/ Token<\/button>\n        <\/div>\n      <\/div>\n      <div class=\"field\">\n        <label>Moneda<\/label>\n        <select id=\"currency\">\n          <option value=\"USD\">D\u00f3lar (USD $)<\/option>\n          <option value=\"EUR\">Euro (EUR \u20ac)<\/option>\n          <option value=\"GBP\">Libra (GBP \u00a3)<\/option>\n        <\/select>\n      <\/div>\n    <\/div>\n\n    <!-- Metrics -->\n    <div class=\"metrics\">\n      <div class=\"metric\">\n        <div class=\"metric-label\">Mejor opci\u00f3n<\/div>\n        <div class=\"metric-value accent\" id=\"m-best\">\u2014<\/div>\n        <div class=\"metric-sub\" id=\"m-best-fee\">\u2014<\/div>\n      <\/div>\n      <div class=\"metric\">\n        <div class=\"metric-label\">Coste m\u00ednimo \/ mes<\/div>\n        <div class=\"metric-value green\" id=\"m-mincost\">\u2014<\/div>\n        <div class=\"metric-sub\">menor del ranking<\/div>\n      <\/div>\n      <div class=\"metric\">\n        <div class=\"metric-label\">Ahorro vs m\u00e1s caro<\/div>\n        <div class=\"metric-value\" id=\"m-saving\">\u2014<\/div>\n        <div class=\"metric-sub\">al mes<\/div>\n      <\/div>\n    <\/div>\n\n    <!-- Desktop Table -->\n    <div class=\"table-wrap\">\n      <table>\n        <thead>\n          <tr>\n            <th style=\"width:40%\">Exchange<\/th>\n            <th>Fee<\/th>\n            <th>Coste \/ mes<\/th>\n            <th class=\"right\">Ahorro vs peor<\/th>\n            <th style=\"width:160px\">Relativo<\/th>\n          <\/tr>\n        <\/thead>\n        <tbody id=\"tbody\"><\/tbody>\n      <\/table>\n    <\/div>\n\n    <!-- Mobile Cards -->\n    <div class=\"mobile-list\" id=\"mobile-list\"><\/div>\n\n  <\/div>\n<\/div>\n\n<script>\nconst EXCHANGES = [\n  { name:\"MEXC\",     logo:\"https:\/\/exchangeselector.com\/wp-content\/uploads\/2026\/02\/10.svg\",   maker:{base:0.0000,vip:0.0000}, taker:{base:0.0010,vip:0.0005} },\n  { name:\"Binance\",  logo:\"https:\/\/exchangeselector.com\/wp-content\/uploads\/2026\/02\/9-1.svg\",  maker:{base:0.0010,vip:0.0007}, taker:{base:0.0010,vip:0.0006} },\n  { name:\"Bybit\",    logo:\"https:\/\/exchangeselector.com\/wp-content\/uploads\/2026\/02\/19.svg\",   maker:{base:0.0010,vip:0.0006}, taker:{base:0.0010,vip:0.0006} },\n  { name:\"OKX\",      logo:\"https:\/\/exchangeselector.com\/wp-content\/uploads\/2026\/02\/11.svg\",   maker:{base:0.0008,vip:0.0005}, taker:{base:0.0010,vip:0.0007} },\n  { name:\"Bitget\",   logo:\"https:\/\/exchangeselector.com\/wp-content\/uploads\/2026\/02\/16.svg\",   maker:{base:0.0010,vip:0.0006}, taker:{base:0.0010,vip:0.0006} },\n  { name:\"Bitvavo\",  logo:\"https:\/\/exchangeselector.com\/wp-content\/uploads\/2026\/02\/8-1.svg\",  maker:{base:0.0015,vip:0.0010}, taker:{base:0.0025,vip:0.0015} },\n  { name:\"Bitstamp\", logo:\"https:\/\/exchangeselector.com\/wp-content\/uploads\/2026\/02\/12.svg\",   maker:{base:0.0030,vip:0.0020}, taker:{base:0.0040,vip:0.0030} },\n  { name:\"Kraken\",   logo:\"https:\/\/exchangeselector.com\/wp-content\/uploads\/2026\/02\/6.svg\",    maker:{base:0.0025,vip:0.0014}, taker:{base:0.0040,vip:0.0024} },\n  { name:\"Coinbase\", logo:\"https:\/\/exchangeselector.com\/wp-content\/uploads\/2026\/02\/20.svg\",   maker:{base:0.0040,vip:0.0030}, taker:{base:0.0060,vip:0.0040} },\n  { name:\"Gemini\",   logo:\"https:\/\/exchangeselector.com\/wp-content\/uploads\/2026\/02\/13.svg\",   maker:{base:0.0020,vip:0.0010}, taker:{base:0.0040,vip:0.0020} },\n];\n\nconst BAR_COLORS = [\n  \"#16a34a\",\"#22c55e\",\"#4ade80\",\"#86efac\",\"#a3e5b5\",\n  \"#b8d9c0\",\"#c8d8cc\",\"#d1d5d3\",\"#bec4c0\",\"#b0b8b4\"\n];\n\nlet optype = \"taker\";\nlet level = \"base\";\n\nfunction fmtCurrency(val, cur) {\n  const rate = cur === \"EUR\" ? 0.92 : cur === \"GBP\" ? 0.79 : 1;\n  const sym  = cur === \"EUR\" ? \"\u20ac\"  : cur === \"GBP\" ? \"\u00a3\"  : \"$\";\n  const v = val * rate;\n  if (v >= 10000) return sym + (v \/ 1000).toFixed(1) + \"k\";\n  if (v >= 1000)  return sym + (v \/ 1000).toFixed(2) + \"k\";\n  return sym + v.toFixed(2);\n}\n\nfunction fmtFee(fee) { return (fee * 100).toFixed(3) + \"%\"; }\n\nfunction render() {\n  const vol = parseFloat(document.getElementById(\"volume\").value) || 0;\n  const cur = document.getElementById(\"currency\").value;\n\n  const results = EXCHANGES.map(ex => {\n    const fee = ex[optype][level];\n    return { ...ex, fee, cost: vol * fee };\n  }).sort((a, b) => a.cost - b.cost || a.fee - b.fee);\n\n  const maxCost = results[results.length - 1].cost;\n  const minCost = results[0].cost;\n\n  document.getElementById(\"m-best\").textContent = results[0].name;\n  document.getElementById(\"m-best-fee\").textContent = \"Fee: \" + fmtFee(results[0].fee);\n  document.getElementById(\"m-mincost\").textContent = fmtCurrency(minCost, cur);\n  document.getElementById(\"m-saving\").textContent = fmtCurrency(maxCost - minCost, cur);\n\n  \/\/ \u2500\u2500 Desktop table \u2500\u2500\n  const tbody = document.getElementById(\"tbody\");\n  tbody.innerHTML = \"\";\n\n  results.forEach((ex, i) => {\n    const pct    = maxCost > 0 ? (ex.cost \/ maxCost * 100) : 0;\n    const saving = maxCost - ex.cost;\n    const isBest = i === 0;\n    const barColor = BAR_COLORS[Math.min(i, BAR_COLORS.length - 1)];\n\n    const tr = document.createElement(\"tr\");\n    if (isBest) tr.className = \"best-row\";\n\n    tr.innerHTML = `\n      <td>\n        <div class=\"ex-cell\">\n          <span class=\"rank ${isBest ? 'gold' : ''}\">${i + 1}<\/span>\n          <img decoding=\"async\" class=\"ex-logo\" src=\"${ex.logo}\" alt=\"${ex.name}\" loading=\"lazy\" \/>\n          <span class=\"ex-name\">${ex.name}<\/span>\n          ${isBest ? '<span class=\"best-badge\">mejor<\/span>' : ''}\n        <\/div>\n      <\/td>\n      <td><span class=\"fee-pill ${ex.fee === 0 ? 'fee-zero' : ''}\">${fmtFee(ex.fee)}<\/span><\/td>\n      <td><span class=\"cost-val\">${fmtCurrency(ex.cost, cur)}<\/span><\/td>\n      <td class=\"right\">\n        ${saving > 0\n          ? `<span class=\"saving\">\u2212${fmtCurrency(saving, cur)}<\/span>`\n          : `<span class=\"saving zero\">\u2014<\/span>`}\n      <\/td>\n      <td class=\"bar-cell\">\n        <div class=\"bar-track\">\n          <div class=\"bar-fill\" style=\"width:${pct.toFixed(1)}%;background:${barColor}\"><\/div>\n        <\/div>\n        <div class=\"bar-pct\">${pct.toFixed(0)}% del m\u00e1ximo<\/div>\n      <\/td>\n    `;\n    tbody.appendChild(tr);\n  });\n\n  \/\/ \u2500\u2500 Mobile cards \u2500\u2500\n  const mobileList = document.getElementById(\"mobile-list\");\n  mobileList.innerHTML = \"\";\n\n  results.forEach((ex, i) => {\n    const pct    = maxCost > 0 ? (ex.cost \/ maxCost * 100) : 0;\n    const saving = maxCost - ex.cost;\n    const isBest = i === 0;\n    const barColor = BAR_COLORS[Math.min(i, BAR_COLORS.length - 1)];\n\n    const card = document.createElement(\"div\");\n    card.className = \"m-card\" + (isBest ? \" best-row\" : \"\");\n\n    card.innerHTML = `\n      <div class=\"m-card-header\">\n        <span class=\"rank ${isBest ? 'gold' : ''}\">${i + 1}<\/span>\n        <img decoding=\"async\" class=\"ex-logo\" src=\"${ex.logo}\" alt=\"${ex.name}\" loading=\"lazy\" \/>\n        <span class=\"m-card-name\">\n          ${ex.name}\n          ${isBest ? '<span class=\"best-badge\">mejor<\/span>' : ''}\n        <\/span>\n        <span class=\"m-card-cost\">${fmtCurrency(ex.cost, cur)}<\/span>\n      <\/div>\n      <div class=\"m-card-body\">\n        <div>\n          <div class=\"m-stat-label\">Fee<\/div>\n          <div class=\"m-stat-value ${ex.fee === 0 ? 'green' : ''}\">${fmtFee(ex.fee)}<\/div>\n        <\/div>\n        <div>\n          <div class=\"m-stat-label\">Ahorro vs peor<\/div>\n          <div class=\"m-stat-value ${saving > 0 ? 'green' : 'faint'}\">\n            ${saving > 0 ? '\u2212' + fmtCurrency(saving, cur) : '\u2014'}\n          <\/div>\n        <\/div>\n      <\/div>\n      <div class=\"m-bar-track\">\n        <div class=\"m-bar-fill\" style=\"width:${pct.toFixed(1)}%;background:${barColor}\"><\/div>\n      <\/div>\n    `;\n    mobileList.appendChild(card);\n  });\n}\n\ndocument.getElementById(\"volume\").addEventListener(\"input\", render);\ndocument.getElementById(\"currency\").addEventListener(\"change\", render);\n\nfunction setupPills(containerId, callback) {\n  document.getElementById(containerId).addEventListener(\"click\", e => {\n    const pill = e.target.closest(\".pill\");\n    if (!pill) return;\n    document.querySelectorAll(`#${containerId} .pill`).forEach(p => p.classList.remove(\"active\"));\n    pill.classList.add(\"active\");\n    callback(pill.dataset.val);\n  });\n}\n\nsetupPills(\"optype-pills\", val => { optype = val; render(); });\nsetupPills(\"level-pills\",  val => { level  = val; render(); });\n\nrender();\n<\/script>\n<\/body>\n<\/html>\n<\/div><\/div>\n\n<\/div><\/div>\n\n\n<div style=\"height:38px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Calcula el precio de tus comisiones La mayor\u00eda de traders nunca calculan lo que pagan en comisiones al a\u00f1o. Introduce tu volumen mensual y descubre al instante cu\u00e1nto te costar\u00eda operar en cada exchange. Exchange Selector Volumen mensual $ Tipo de orden Maker Taker Nivel de usuario B\u00e1sico VIP \/ Token Moneda D\u00f3lar (USD $)Euro&#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"_kad_post_transparent":"","_kad_post_title":"hide","_kad_post_layout":"fullwidth","_kad_post_sidebar_id":"","_kad_post_content_style":"unboxed","_kad_post_vertical_padding":"hide","_kad_post_feature":"hide","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-5487","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Calculadora de comisiones - Exchange Selector<\/title>\n<meta name=\"description\" content=\"Calcula f\u00e1cilmente tus comisiones de trading, compara costes y optimiza tus operaciones para ahorrar m\u00e1s cada mes.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/exchangeselector.com\/es\/calculadora-comisiones\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Calculadora de comisiones - Exchange Selector\" \/>\n<meta property=\"og:description\" content=\"Calcula f\u00e1cilmente tus comisiones de trading, compara costes y optimiza tus operaciones para ahorrar m\u00e1s cada mes.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/exchangeselector.com\/es\/calculadora-comisiones\/\" \/>\n<meta property=\"og:site_name\" content=\"Exchange Selector\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-02T16:57:13+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minuto\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/exchangeselector.com\\\/calculadora-comisiones\\\/\",\"url\":\"https:\\\/\\\/exchangeselector.com\\\/calculadora-comisiones\\\/\",\"name\":\"Calculadora de comisiones - Exchange Selector\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/exchangeselector.com\\\/#website\"},\"datePublished\":\"2026-03-25T09:17:56+00:00\",\"dateModified\":\"2026-06-02T16:57:13+00:00\",\"description\":\"Calcula f\u00e1cilmente tus comisiones de trading, compara costes y optimiza tus operaciones para ahorrar m\u00e1s cada mes.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/exchangeselector.com\\\/calculadora-comisiones\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/exchangeselector.com\\\/calculadora-comisiones\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/exchangeselector.com\\\/calculadora-comisiones\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/exchangeselector.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Calculadora de comisiones\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/exchangeselector.com\\\/#website\",\"url\":\"https:\\\/\\\/exchangeselector.com\\\/\",\"name\":\"Exchange Selector\",\"description\":\"Comparamos exchanges de criptomonedas con rese\u00f1as, rankings y an\u00e1lisis reales.\",\"publisher\":{\"@id\":\"https:\\\/\\\/exchangeselector.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/exchangeselector.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/exchangeselector.com\\\/#organization\",\"name\":\"Exchange Selector\",\"url\":\"https:\\\/\\\/exchangeselector.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/exchangeselector.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/exchangeselector.com\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/cropped-cropped-exchange-selector.png\",\"contentUrl\":\"https:\\\/\\\/exchangeselector.com\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/cropped-cropped-exchange-selector.png\",\"width\":317,\"height\":86,\"caption\":\"Exchange Selector\"},\"image\":{\"@id\":\"https:\\\/\\\/exchangeselector.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Calculadora de comisiones - Exchange Selector","description":"Calcula f\u00e1cilmente tus comisiones de trading, compara costes y optimiza tus operaciones para ahorrar m\u00e1s cada mes.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/exchangeselector.com\/es\/calculadora-comisiones\/","og_locale":"es_ES","og_type":"article","og_title":"Calculadora de comisiones - Exchange Selector","og_description":"Calcula f\u00e1cilmente tus comisiones de trading, compara costes y optimiza tus operaciones para ahorrar m\u00e1s cada mes.","og_url":"https:\/\/exchangeselector.com\/es\/calculadora-comisiones\/","og_site_name":"Exchange Selector","article_modified_time":"2026-06-02T16:57:13+00:00","twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"1 minuto"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/exchangeselector.com\/calculadora-comisiones\/","url":"https:\/\/exchangeselector.com\/calculadora-comisiones\/","name":"Calculadora de comisiones - Exchange Selector","isPartOf":{"@id":"https:\/\/exchangeselector.com\/#website"},"datePublished":"2026-03-25T09:17:56+00:00","dateModified":"2026-06-02T16:57:13+00:00","description":"Calcula f\u00e1cilmente tus comisiones de trading, compara costes y optimiza tus operaciones para ahorrar m\u00e1s cada mes.","breadcrumb":{"@id":"https:\/\/exchangeselector.com\/calculadora-comisiones\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/exchangeselector.com\/calculadora-comisiones\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/exchangeselector.com\/calculadora-comisiones\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/exchangeselector.com\/"},{"@type":"ListItem","position":2,"name":"Calculadora de comisiones"}]},{"@type":"WebSite","@id":"https:\/\/exchangeselector.com\/#website","url":"https:\/\/exchangeselector.com\/","name":"Exchange Selector","description":"Comparamos exchanges de criptomonedas con rese\u00f1as, rankings y an\u00e1lisis reales.","publisher":{"@id":"https:\/\/exchangeselector.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/exchangeselector.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/exchangeselector.com\/#organization","name":"Exchange Selector","url":"https:\/\/exchangeselector.com\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/exchangeselector.com\/#\/schema\/logo\/image\/","url":"https:\/\/exchangeselector.com\/wp-content\/uploads\/2026\/01\/cropped-cropped-exchange-selector.png","contentUrl":"https:\/\/exchangeselector.com\/wp-content\/uploads\/2026\/01\/cropped-cropped-exchange-selector.png","width":317,"height":86,"caption":"Exchange Selector"},"image":{"@id":"https:\/\/exchangeselector.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/exchangeselector.com\/es\/wp-json\/wp\/v2\/pages\/5487","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/exchangeselector.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/exchangeselector.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/exchangeselector.com\/es\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/exchangeselector.com\/es\/wp-json\/wp\/v2\/comments?post=5487"}],"version-history":[{"count":23,"href":"https:\/\/exchangeselector.com\/es\/wp-json\/wp\/v2\/pages\/5487\/revisions"}],"predecessor-version":[{"id":5961,"href":"https:\/\/exchangeselector.com\/es\/wp-json\/wp\/v2\/pages\/5487\/revisions\/5961"}],"wp:attachment":[{"href":"https:\/\/exchangeselector.com\/es\/wp-json\/wp\/v2\/media?parent=5487"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}