PROGRAMMING COMPETITION GUIDE

Citadel Securities Terminal Guide

Citadel Securities Terminal guide covering eligibility, registration, gameplay, teams, coding strategy, prizes and a worked Python practice exercise.

UNLOCK PREMIUM PREPARATION

Ready to take your quant preparation further?

  • Personalised quant roadmap
  • 300+ interview questions
  • Quant courses & online assessments
Unlock Premium
The short answer

Citadel Securities Terminal is a programming competition in which university students build automated strategies for a tower defence game. Accepted participants work in teams, code bots, and compete against other teams in a tournament for cash prizes.

Entry involves an application and a short assessment, while the competition itself tests algorithms, game strategy and teamwork. On 4 November 2026, the official Terminal event page listed no upcoming competitions.

What is Citadel Securities Terminal?

Terminal is an online algorithmic game competition organised through Citadel Securities. Instead of answering interview questions, competitors write software that makes decisions inside a game, then see how their strategies perform against other teams.

The game has a tower defence format. Your algorithm decides how to place defensive structures, deploy attacking units and respond to the opponent using limited resources.

Terminal rewards practical engineering. A simple algorithm that runs reliably and exploits a real weakness in the opponent can outperform a complicated strategy that has not been tested.

Competition

Online matches between coded strategies, with a tournament to determine the strongest teams.

Team size

Three or four participants under the programme terms, with team formation supported after acceptance.

Languages

Python, Java and Rust are supported for Terminal programming.

Entry

Apply for a regional event, complete the entry assessment and receive a participation invitation.

This is separate from Citadel Securities job recruitment and the firm's Trading Invitational. Terminal is designed around software strategy and competitive programming, rather than simulated market making or a conventional trading interview.

Who can enter Terminal?

Terminal targets university students with basic programming knowledge and strong interests in mathematics, engineering, computer science, statistics, physics, economics or related subjects. Applicants must be at least 18, in good academic standing and eligible for the region in which they apply.

Regional eligibility matters more than the location of your university's headquarters. Match your actual residence, degree level and event listing before submitting an application.

Regional eventStudents covered by the listed eligibilityResidence
United States summer invitationalEligible undergraduate and graduate students aged 18 or older.United States, Washington DC or Canada.
EuropeEligible undergraduate students aged 18 or older.Europe.
IndiaEligible undergraduate students aged 18 or older.India.
AsiaEligible undergraduate students aged 18 or older.Asia and the Asia Pacific region, including Australia.

If you study in Australia, the Asia regional eligibility is the relevant starting point. Check the specific event application for its academic requirements and participating countries when a new intake opens.

Event availability

The Citadel Securities Terminal calendar had no upcoming events listed on 4 November 2026. Check the Terminal event page for the next regional registration window.

How to apply for Citadel Securities Terminal

Application is the selection stage, not the tournament. You first apply for an eligible regional event and complete the required online assessment, then selected applicants receive instructions to join the game platform and form a team.

  1. Choose your regional event. Open the Citadel Securities Terminal page and select an event matching your residence, student status and availability.
  2. Submit your application. Provide accurate academic details, relevant programming experience and the materials requested in the application form.
  3. Complete the short assessment. Watch for an email from Citadel People Systems and finish the assessment by the stated deadline. The general Terminal FAQ also explains the assessment form for applicants who have not applied to a Terminal event within the past year.
  4. Accept your place. Respond to your participation invitation and complete the requested eligibility and registration paperwork.
  5. Join your team and platform. Selected participants receive access to Terminal and assistance forming teams with other accepted applicants.

How to prepare for the entry assessment

Make sure you can write small, correct programs and reason about data structures, loops, state changes and simple algorithmic choices. For an EverythingQuant practice benchmark, solve one intermediate coding exercise in 30 minutes and spend another 15 minutes testing edge cases and explaining your approach.

Have one substantial project ready to discuss in your application. Explain the goal, what you built, the hardest bug and how you measured whether your solution worked.

Citadel Securities Terminal application page Regional eligibility, event calendar, application instructions and official programme terms.

How does Terminal gameplay work?

Terminal is a turn based strategy game on a geometric board. Each team writes an algorithm that reads the current game state and chooses placements and attacks without a human controlling each move.

The familiar Terminal environment uses two broad resource categories: structure points for fixed defences and mobile points for attacking or moving units. The algorithm has to decide whether to spend immediately, improve a vulnerable area or save resources for a stronger move.

MechanicYour decisionWhat makes it difficult
StructuresPlace walls, defensive turrets and support units.Defend important routes without obstructing your own plan.
Mobile unitsDeploy scouts, demolishers or interceptors in appropriate positions.Choose attack timing, numbers and routes against enemy defences.
PathfindingAnticipate the route units take through the arena.A small placement can change the route of an entire attack wave.
ResourcesAllocate limited points between offence, protection and upgrades.Early spending can reduce your options later in the match.
Opponent behaviourReact to observed attacks and changes to the enemy layout.The opponent can adapt while you are adapting to them.

What does a bot actually do each turn?

In the Python starter kit, the engine supplies a game state to your strategy's on_turn method. The strategy inspects the board and resources, requests valid deployments or upgrades, and submits its turn for simulation.

A straightforward first bot might build a defensive turret near a common entry route, reinforce the side where the opponent last scored and send a small attacking wave down the less protected lane. A stronger bot calculates those decisions from the current board rather than repeating fixed coordinates.

The rules, unit statistics and legal moves are defined by the competition's game configuration. Read that configuration before tuning unit costs, damage estimates or the effectiveness of upgrades.

Terminal starter kit and sample Python strategy Game engine, starter algorithm, local testing scripts and configuration files.

Terminal strategy: building a bot that wins matches

Start with a bot that always produces legal actions and defeats a trivial opponent. Once that works, improve one measurable weakness at a time rather than adding multiple complicated features without a clear test.

1. Build a reliable defensive baseline

Identify the routes an attacker can take to score and place enough defence to cover the most exposed approaches. Use match replays to find where enemies actually get through, then adapt your structures to those locations.

A useful experiment is to compare a fixed defensive layout with a reactive layout against the same set of opponents. Record how often each allows a breach, not just how impressive the board looks.

2. Target weak routes rather than attacking blindly

Estimate the damage that an attacker would receive on each candidate path. Favour routes where units are most likely to survive and choose the moment when enough resources are available to make the attack meaningful.

Test concentrated waves and smaller frequent attacks separately. Their relative strength depends on the actual firing behaviour, movement rules and opponent defence.

3. Understand pathfinding and funnels

Paths matter because your own structures can steer movement. A carefully planned defensive corridor can direct opposing units toward turrets, while an attacking corridor can guide your units toward an exposed enemy edge.

Before relying on a path, replay several real matches and inspect the actual routes taken. An assumption about shortest paths can fail when walls, unit targeting or a changed configuration affect movement.

4. Test against different opponents

Maintain at least three baselines: a passive defender, an aggressive attacker and a bot that changes its defence after being scored on. Run repeated matches from both player positions and record wins, breaches and failures.

Only keep a change when it improves results across several opponents. A strategy tuned exclusively against one bot can look strong until the tournament introduces a different style of play.

Teams, coding workflow and submissions

Selected Terminal competitors collaborate on a shared algorithm. The programme terms provide for teams of three or four and Citadel Securities helps accepted applicants connect with teammates.

Divide the engineering work into attack logic, defensive placement, testing and integration, but appoint one owner to make the final version run from start to finish. Every proposed strategy should be checked in the same game configuration before it enters the final bot.

Attack owner

Compare possible launch routes, unit combinations and attack timing using repeatable tests.

Defence owner

Measure breach locations, structure efficiency and the value of adapting to recent attacks.

Testing owner

Maintain opponent baselines, collect match results and identify crashes or illegal actions.

Integration owner

Merge changes, run the final build, validate the required entry point and confirm submission.

The Correlation One starter kit provides a Python strategy entry file named algo_strategy.py and local testing tools. Use the kit for the competition configuration you receive, then test the exact folder or package that you intend to upload.

Keep a known working version throughout development. A bot that fails to start, exceeds the permitted resources or produces invalid commands cannot benefit from even an excellent strategic idea.

Tournament format, scoring and rankings

Terminal competition bots face one another across multiple matches. Citadel Securities describes a head to head, round robin style tournament, while the programme terms describe a tournament with multiple rounds and cash prizes based on bot performance.

Within the game, your algorithm tries to prevent enemy units from breaching your side while creating scoring opportunities against the opponent. In the event, tournament progression and final ranking depend on the match results under that event's specific rules.

What to track when preparing

  • Match win rate: the number of wins divided by matches against the same opponent pool.
  • Breaches conceded: where and how frequently the opponent scores against your defence.
  • Attack efficiency: how much pressure your attacks create for the resources spent.
  • Robustness: whether the strategy remains effective when the opponent changes opening moves.
  • Runtime reliability: errors, invalid moves and failed submissions that compromise otherwise strong matches.

These are useful EverythingQuant development metrics, not an alternative official ranking formula. Use the tournament instructions for the actual match rules, advancement criteria and final results.

Citadel Securities Terminal prizes and career opportunities

Terminal awards cash prizes to successful teams. The programme terms linked from Citadel Securities' Terminal page contain the following United States dollar awards for team achievements.

Achievement in the linked programme termsTeam award
Reach the top fourUS$1,500
Reach the final round robin groupUS$1,000
Win the boss drawingUS$1,000
Become championUS$2,000

The boss drawing is a separate challenge involving four organiser bots. Under the linked terms, defeating multiple bosses with one algorithm earns more drawing entries than defeating them with separate algorithms.

The linked terms allow those awards to accumulate and divide prize money evenly among the winning team's members. For any new Terminal event, use that event's rules to confirm its prize structure and requirements.

Citadel Securities also uses Terminal to meet technically strong students. Competing gives you a concrete engineering project and may create recruiting connections, but a tournament result is not an automatic interview or employment offer.

Citadel programme terms and prize rules Eligibility, selection, team rules, tournament awards and participation conditions.

Original EverythingQuant practice: choose an attack lane

A useful beginner exercise is to write a small route selection function before connecting it to Terminal's real game API. The goal is to choose an attacking lane from predicted incoming damage, using a deliberately simplified model.

The problem

One attacking unit has 12 health points. The left route is expected to deal 3, 3 and 3 damage; the right route deals 4, 4, 4 and 4 damage.

The left route leaves 3 health, so the unit survives. The right route deals 16 total damage, so the unit is eliminated before reaching its destination.

Write a function that selects the route with the most remaining health, returning None if no route is survivable. For equal results, choose the alphabetically first lane so your behaviour remains deterministic.

def select_lane(health, predicted_hits):
    remaining = {
        lane: health - sum(hits)
        for lane, hits in predicted_hits.items()
    }
    viable = [
        lane for lane in sorted(remaining)
        if remaining[lane] > 0
    ]
    if not viable:
        return None
    return max(viable, key=remaining.get)


assert select_lane(12, {
    "left": [3, 3, 3],
    "right": [4, 4, 4, 4]
}) == "left"

assert select_lane(5, {
    "left": [3, 3],
    "right": [4, 4]
}) is None

assert select_lane(10, {
    "left": [2],
    "right": [2]
}) == "left"

assert select_lane(10, {}) is None

Turn the exercise into a real strategy

Replace the predicted damage lists with estimates derived from the game state, nearby defensive units and path geometry. Your bot should also learn when neither lane is worth attacking and saving resources is preferable.

Then test the method against a defender that reinforces whichever side you attacked last. If your route selection keeps becoming predictable, experiment with varying attack timing and targeting only when the data supports the change.

Practice model

This is an original EverythingQuant algorithm exercise, not a Terminal competition question or a complete simulation of its firing mechanics. Use the actual game configuration to model real damage and targeting.

How to prepare for Terminal in ten days

Use this EverythingQuant preparation plan to move from programming fundamentals to a tested bot. The ten days are a suggested practice schedule, not the duration of a Terminal event.

Practice daysMain taskFinished result
Days 1 and 2Explore Terminal gameplay, understand movement, resource types and the sample configuration.You can explain one turn and identify the scoring routes.
Days 3 and 4Set up the starter kit, run the supplied bot and replace one fixed decision with a state based rule.A complete algorithm runs locally without errors.
Days 5 and 6Build defensive baselines and compare two offensive lane selection policies.You have repeatable match results and a known working bot.
Days 7 and 8Test against several opponent styles, inspect replays and fix the most frequent failure.Your change improves results across more than one opponent.
Days 9 and 10Combine team work, freeze a stable version and test the exact submission package.The final build runs correctly and is ready to upload.

Skills that matter most

Prioritise clean Python or another supported language, arrays and dictionaries for state handling, graph intuition for routes, and basic simulation for comparing actions. You should be comfortable debugging unfamiliar code and testing a strategy rather than only proving an algorithm is theoretically efficient.

The EverythingQuant Data Structures and Algorithms in Python course is useful for building those foundations. The best next step for Terminal itself is still to run the actual starter kit and measure how your changes affect matches.

Citadel Securities Terminal frequently asked questions

Is Terminal a Citadel Securities online assessment?

Terminal is a programming competition, not a standard job application assessment. Applying to participate includes a short entry quiz, but the main event is a team tournament of coded game strategies.

Can Australian university students apply?

Yes, the Asia regional eligibility includes residents of the Asia Pacific region who satisfy the student, age and degree requirements. Apply through the next eligible regional event.

What programming languages can I use?

Terminal supports Python, Java and Rust. Python is a practical choice for preparation because the public starter kit includes a working example and a game state API.

Do I need a team before applying?

No. Selected participants are invited to the platform, and Citadel Securities helps them form teams with other accepted students.

How is the Terminal winner decided?

Bots compete in matches within a tournament, with progression determined by their results. The event instructions establish the precise advancement and prize rules.

Can I practise Terminal without being accepted?

Yes. The Terminal game platform and the public starter kit provide gameplay and development resources.

Does winning Terminal guarantee a Citadel Securities job?

No. Strong tournament results can demonstrate programming skill and attract recruiting interest, but employment follows a separate selection process.

When is the next Terminal competition?

The official Citadel Securities Terminal calendar listed no upcoming events on 4 November 2026. Watch the regional event listings for a new application window while practising on the game platform.

Official Terminal resources and further reading

Start with the organiser's event page for eligibility and entry, then move to the game platform and starter kit for practical preparation. A detailed participant writeup can help you develop and test ideas without assuming any one strategy will win every tournament.

Join our Newsletter and Receive the Latest Updates!

Main Links

Trade Courses Assessments Interview Prep Contact Us

Social Media

Facebook Instagram YouTube

Legal

Terms and Conditions Privacy Policy Privacy settings

Talent Acquisition

Looking to hire exceptional quant talent?
See how we can help.

© 2026 EverythingQuant. All Rights Reserved.