Connect Coinbase

Coinbase syncs every six hours with an Advanced Trade API key, reaches back thirty days at most, and its file export has to be Transaction History rather than the Gain and Loss report.

Same on every platform Updated

What this does

Coinbase syncs automatically once connected, pulling every six hours. Each scheduled pull covers the last twenty-four hours, and a sync you start yourself reaches back thirty days. Anything older than that has to come from a file.

Before you start

  • VEXA connects with an Advanced Trade secret API key, created at portal.cdp.coinbase.com. Both HMAC and ECDSA keys work.
  • The instructions card on the Coinbase page still describes an older sign-in flow. Follow the form, which asks for an API key. The form is current; that paragraph is not.
  • Export Transaction History, not the Gain and Loss report. The gain and loss format cannot be read, and it is the one Coinbase offers most prominently at tax time.
  • Everything is reported in UTC.

Set up the automatic sync

Same on every platform

  1. Sign in at portal.cdp.coinbase.com.
  2. Create an Advanced Trade secret API key.
  3. Give it read access. VEXA does not need trading or transfer permissions.
  4. Copy the key and its secret when they are shown.
  5. In VEXA, open the Coinbase page and paste them, then save.

Steps

Same on every platform

Download a file instead, or as a backfill

  1. Sign in at coinbase.com.
  2. Open your profile and go to Statements. On some accounts it is under Taxes, then Documents.
  3. Choose Generate Report.
  4. Choose Transaction History. Not the gain and loss report.
  5. Set the date range.
  6. Download the CSV.
  7. Upload it to VEXA.

Limits and gotchas

  • The gain and loss report is the trap. It summarises tax lots rather than listing fills, so there is nothing for VEXA to reconstruct. The import fails or comes back empty.
  • Long-held spot balances stay open. A coin you bought and never sold is an open position, and VEXA shows it as one.
  • A statement covering only transfers and deposits imports nothing, correctly. Make sure the range covers actual trading.

What you should see

After connecting, an Active badge and a first pull, then a last-sync time that advances every six hours.

After an upload, a result panel naming the Coinbase transactions format. If it names a format you do not recognise, stop and check that you exported Transaction History.

If it doesn’t work

  • The import reported success and no trades appeared. Check the detected format on the result panel. A file whose header looks like another broker’s can be matched to the wrong parser, and the detected format is how you catch it.
  • The key was rejected. Regenerate it in the developer portal. Keys made in older Coinbase interfaces are a different kind.
  • Old trades are missing. The API reaches back thirty days at most, so anything before that has to come from a Transaction History file. This is the usual reason a freshly connected Coinbase account looks almost empty.

Related

Still stuck? Email support@vexatrade.ai.