PracHub
QuestionsPremiumLearningGuidesInterview PrepNEWCoaches
|Home/System Design/Coinbase

Design cryptocurrency trading with third-party exchanges

Last updated: Mar 29, 2026

Quick Overview

This question evaluates a candidate's competency in designing resilient, consistent multi-exchange trading systems, testing skills in API design, state-machine modeling, asynchronous integration with third-party exchanges, fault tolerance, idempotency, and observability within the System Design domain.

  • hard
  • Coinbase
  • System Design
  • Software Engineer

Design cryptocurrency trading with third-party exchanges

Company: Coinbase

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Onsite

You are building a cryptocurrency trading platform that routes client orders to multiple third-party exchanges. Design the system end to end: APIs for order placement and status retrieval; an internal order state machine (e.g., NEW, PENDING_SUBMISSION, PARTIALLY_FILLED, FILLED, CANCELED, REJECTED) with clearly defined transitions and idempotency. The partner advertises a synchronous API, but fills and cancellations are effectively asynchronous—explain how you model this (e.g., events, callbacks, polling) while avoiding double execution. How do you handle third-party timeouts, partial failures, retries, and exactly-once semantics, including de-duplication and reconciliation? Propose strategies for spiky traffic (rate limits, queues, backpressure, autoscaling, circuit breakers) and discuss data consistency, durability, and observability across services.

Quick Answer: This question evaluates a candidate's competency in designing resilient, consistent multi-exchange trading systems, testing skills in API design, state-machine modeling, asynchronous integration with third-party exchanges, fault tolerance, idempotency, and observability within the System Design domain.

Related Interview Questions

  • Design Crypto Order Routing - Coinbase (hard)
  • Design a crypto trading web frontend - Coinbase (hard)
  • Design query pagination for large datasets - Coinbase (medium)
  • Design real-time crypto prices homepage - Coinbase (hard)
  • Design a food delivery system - Coinbase (medium)
Coinbase logo
Coinbase
Jul 31, 2025, 12:00 AM
Software Engineer
Onsite
System Design
4
0

Design a Multi‑Exchange Crypto Order Router: APIs, State Machine, and Reliability

Context

You are designing a trading platform that accepts client orders and routes them to multiple third‑party exchanges for execution. Exchanges expose heterogeneous APIs; some claim synchronous order placement, but actual fills/cancels arrive asynchronously. The system must be resilient, consistent, and observable under spiky traffic.

Requirements

  1. Client‑facing APIs
    • Define REST APIs for:
      • Order placement (with idempotency)
      • Order status retrieval (single and list)
      • Cancellation (idempotent)
      • Optional: client notifications (webhooks/WebSocket)
  2. Internal order model and state machine
    • States: NEW, PENDING_SUBMISSION, SUBMISSION_UNKNOWN, PARTIALLY_FILLED, FILLED, CANCELED, REJECTED, EXPIRED
    • Define allowed transitions and idempotency semantics for each transition
  3. Asynchrony modeling
    • Despite a partner’s synchronous placement API, fills and cancels are asynchronous
    • Explain how to use events, callbacks, and/or polling to model end‑to‑end execution without double execution
  4. Failure handling and correctness
    • Third‑party timeouts, partial failures, retries
    • Exactly‑once semantics end‑to‑end, including de‑duplication and reconciliation
  5. Spiky traffic strategies
    • Rate limits, queues, backpressure, autoscaling, circuit breakers, bulkheads
  6. Data properties and visibility
    • Data consistency, durability, idempotency keys and TTLs
    • Observability: metrics, logs, traces; auditability

Solution

Show

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Coinbase•More Software Engineer•Coinbase Software Engineer•Coinbase System Design•Software Engineer System Design
PracHub

Master your tech interviews with 7,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.