ⓘ Independent job-application page. Not affiliated with, endorsed by, or operated by Binance. Public information as of October 2026.

Homework for my application to Binance Operations Specialist.

This page covers Binance's 2026 fiat changes, how rivals run fiat, where capital breaks between a channel and the ledger, and a working reconciliation console built on real Binance rails and their published rules.

Planted breaks caught
24 / 24
on each of 109 seeded days, zero false breaks
Real rails, cited rules
7
SEPA, FPS, PIX, TED, SWIFT, PayPay, card; rules linked to Binance help articles
Callback launch tests
11 / 11
guarded handler; a naive one passes 2
Fiat events, 2026
6
provider exit, ADGM move, rails restored and suspended, a payments licence bid
THE READ

Binance spent 2026 re-plumbing fiat: its old fiat provider stopped serving it, the global platform moved onto ADGM-licensed entities, and a payments licence is being built in Kazakhstan. Every move adds channels to connect, test and reconcile. §01

THE ANGLE

A capital issue is a reconciliation break seen from the customer's side. Classify the break first and the customer reply, the channel query and the journal entry all follow from it. §★

THE PROOF

Ledger Desk: three-way reconciliation on seven real Binance rails, each rule cited to its help article, deadlines on live holiday calendars, maker-checker sign-off and real file formats (camt.053, fiat API JSON). Try the demo ↗

01

Binance fiat in 2026

The fiat side moved more this year than in any year since 2023. Each row is a channel being added, moved or retired, which is the work this role does.

WhenEventWhat it means for capital ops
31 Dec 2025Bifinity, the group's fiat-to-crypto provider since 2022, stops serving Binance users. Some card withdrawals pause; one EUR/PLN rail restarts in January.Balances and flows migrate to replacement providers at short notice. Every migrated channel needs new reference formats, fee tables and report mappings.
5 Jan 2026Binance.com services move onto three ADGM-licensed entities, including a recognised clearing house.Clearing and settlement now have a regulated home, with client-money and safeguarding rules behind every reconciliation.
Jan 2026AUD PayID and bank transfers fully restored in Australia, after the 2023 offboarding.A rail coming back is a launch: limits, cut-offs, return codes and a first-week reconciliation watch.
9 Apr 2026PayPay Money deposits and withdrawals live at Binance Japan: deposits up to ¥300,000 per 24h, ¥110 fee each way.An e-wallet rail with its own limits and fee to load into the fee schedule and the launch tests.
1 Jul 2026Services suspended in several EU states without a MiCA licence.Wind-down: return fiat balances, close channel accounts, reconcile to zero.
Sep 2026Three agreements in Kazakhstan, including a plan to seek a local payment-organisation licence; an Astana payments team is hiring.An owned payment entity means owned clearing: reconciliation, client money and channel tests built in-house.
THE PATTERN

Binance's fiat history is a run of counterparty changes: card acquiring, GBP, RUB and AUD partners all ended in 2023, and Bifinity followed in 2025. Channel churn is the normal state, so the reconciliation set-up has to make adding a channel cheap and safe.

TWO KINDS OF MARKET

Where a local entity is licensed (Japan, Thailand, Indonesia, Australia, Kazakhstan) money moves on direct rails. Where it is not, P2P carries fiat: on 1 Oct 2026 the public P2P book showed 987 INR ads, 602 PKR and 475 VND. Capital issues differ by type: channel breaks on the first, P2P disputes and bank-side freezes on the second.

02

How rivals run fiat in Asia

The exchanges split by how much of the money path they own. The more they own, the more clearing and reconciliation they do themselves.

ExchangeAsia fiat modelGap against Binance
BinanceHybrid: licensed local entities with direct rails, P2P where unlicensed, third-party buy widgets, and a 2026 move toward its own payment licence.Reference point. Widest channel count, so the heaviest reconciliation load.
CoinbaseOwn licensed rails where it operates. Singapore payments licence (2024); direct INR deposits and withdrawals launched in 2026.Has a direct INR rail where Binance moves rupees through P2P.
OKXLocal licensed entities with own rails (Singapore, Australia), third-party on-ramps and P2P elsewhere.Similar hybrid at smaller scale. Has SGD rails where Binance has none.
BybitMostly third-party on-ramps plus P2P; a licensed Indonesian entity; FIU registration in India.Outsources most clearing to the on-ramp, so less to reconcile and less control over the user experience.
BitgetThird-party on-ramps and P2P; an APAC card launched April 2026.Card spend adds chargeback and refund flows Binance mostly does not carry in Asia today.
KrakenThin in Asia. Left Japan in 2023; AUD through Kraken Australia.Little Asian fiat surface to compare.

What it means for the role. Owning the rail gives Binance pricing and control, and moves the breaks in-house: unreferenced deposits, returned payouts and chargebacks land with fiat ops instead of an on-ramp's support desk. Each channel added makes the reconciliation discipline more valuable.

★

Where capital breaks

Money crosses three records: the internal order, the channel's settlement report and the bank statement. A break is any point where two of them disagree.

User
pays, or asks to be paid
→
Internal order
orderNo, status, amount
↔
Channel report
reference, gross, fee, value date
↔
Bank statement
net credit per batch
→
User balance
the liability
BreakCapitalWhat happenedFirst move
Duplicate creditlossOne channel movement credited to two orders. A retried callback without idempotency.Hold the second amount, reverse it, fix the event-id check.
Paid out, ledger failedlossGateway timed out, order failed and released the balance, bank paid anyway.Hold the balance, confirm with the channel, re-debit.
Chargeback or recalllossFunds reversed after the user was credited.Debit or freeze, consider representment, send to Risk.
Credited, no fundslossLedger credited a deposit the channel never settled.Trace the callback source. Hold the amount.
User paid, not creditedcustomerChannel settled; the callback was lost or arrived after a timeout.Credit against the channel reference before the ticket arrives.
Wrong or missing referencecustomerFunds arrived with a memo that matches no order.Match on amount, time and payer name; third-party payer goes back to source.
Withdrawal returnedcustomerBeneficiary bank returned the payout.Re-credit, mark returned, fix beneficiary details.
Settlement varianceexposureBank credit differs from the report net: reserve, unreported fee, netted reversal.Ask for the batch breakdown; book a receivable.
Fee off contractcostChannel charged above the schedule.Collect for the month, one claim.

The ordering rule. Loss-class breaks first, because money is leaving. Customer-class next, because each one is a ticket waiting to happen and the fix is usually a credit ops can make before the user writes in. Cost and timing last. The console sorts the queue this way and values every break in USD so the morning close reads as one number per class.

03

JD duties, my method

Each responsibility from the posting, what doing it well looks like, and where the console shows it.

JD lineMethodShown in
Familiar with the logic of system capital flow changesModel every movement as order, channel line and bank line, with a status machine on the order. A capital-flow change is a status transition; each break is a transition that happened on one record and not the others.§★, console tab 01
Connect each fiat channel, its capital processes and launch testsA fixed go-live pack per channel: limits, fee schedule, report format and cut-off, holiday calendar, return codes, callback signature, event-id idempotency, then a small live test reconciled end to end.§05, tab 04
Daily work with customer service on capital issuesGive CS the classified break, the reply and the next step, so a ticket closes on first contact. Push credits out before the user writes in for the uncredited class.tab 01 case drafts
Handle capital issues with timely, correct judgementOrdered checks per break type, with the decision points written down: third-party payer, credit after a crypto withdrawal, failed-but-paid. Maker-checker on every manual balance change.tab 01 checklists
Cooperate with the distribution of marketing activitiesCheck every reward file against the campaign rules before it reaches the distribution tool: duplicates, caps, restricted regions, KYC level, window, task flag, asset, budget. Pay the clean file and return the rest with reasons.tab 03
Sensitivity to fund data; clear reconciliation logic; guide the teamDaily close with one number per capital class, ageing on every open break, a journal entry for every resolution, and per-channel trends (wrong-reference rate, fee variance) reviewed weekly. Written SOPs so the team works breaks the same way.tabs 01, 02
04

A working console

Ledger Desk runs a business day on seven real Binance rails. Users and amounts are synthetic; the rails, their published rules, the holiday calendars and the file formats are real. Open it ↗

Default day
671 rows
341 orders, 323 channel lines, 7 bank entries
Auto-matched
91.0%
of channel lines
Capital at risk
$15,646
loss-class breaks, ECB rates
Owed to users
$20,497
16 users affected
What makes it realHow
Published rules, citedEach rail carries the user rules from Binance's own help articles, with the article and its last-update date: SEPA name match, exact reference and the 2 EUR floor; SWIFT routed into SEPA returned within 2 weeks; PIX orders paid within 24 hours or refunded; TED amount must equal the order or it is refunded within 7 calendar days; SWIFT without the reference fails; PayPay Money's 1,000 to 300,000 JPY per 24 hours. The engine applies them, so a third-party payment becomes a return with a deadline.
Deadlines in business daysRefund and return clocks count business days on each currency's calendar: TARGET2 for EUR (computed), live public holidays for GBP, BRL, USD and JPY from Nager.Date, with a dated snapshot as fallback.
Real file formatsReads and writes ISO 20022 camt.053 bank statements, reads the JSON response of Binance's GET /sapi/v1/fiat/orders as-is, and maps any channel CSV, with the Adyen Settlement details layout detected automatically. All three round-trip to the same result.
Maker-checkerEvery break is proposed by one user with a reason and approved by another; the same person cannot do both. Each action lands in an append-only audit log. The close report prints the summary, breaks, settlement and log with sign-off lines.
Name matchingPayer names are compared by token across word order, accents and particles ("João da Silva" against "JOAO SILVA"), so a real name mismatch stands out.
Each caseBoth records with differences highlighted, the rule applied and its source, the checks in order, the journal entry, and drafts to the channel, to the user via CS and an internal note in Chinese.
HOW IT IS TESTED

The day generator plants 24 breaks across 19 types and records them. The engine finds 24 of 24 on each of 109 seeded days tested, with no false breaks. A separate test round-trips the day through CSV, the API JSON, the Adyen layout and camt.053 and gets the same breaks. Tightening tolerances in the console shows misses in the benchmark panel.

TWO NOTES FROM THE PUBLIC FIAT API DOCS
  • Status values. The fiat order history lists Processing, Failed, Successful, Finished, Refunding, Refunded, Refund Failed and Order Partial credit Stopped. Its example row returns "Expired", which is outside that list (the same value appears in the generated tests of Binance's Python SDK). The console normalises every status into a bucket and keeps the raw value, and treats an expired PIX order that is then paid as a refund.
  • Request weight. The fiat changelog's last weight entry for GET /sapi/v1/fiat/orders is UID 90000 (2022). The current SDK documents 45000. Anyone sizing a polling job from the changelog would poll at half the rate available.
05

Launch-testing a channel

Most loss-class breaks start as a callback the order system handled wrongly. They can be caught before go-live by replaying what real channels send.

Callback sequenceCorrect end stateNaiveGuarded
Duplicate SUCCESS (same event id)Credited oncefailpass
SUCCESS re-sent with a new event idCredited oncefailpass
FAILED after SUCCESSKeep credit, alertfailpass
Late SUCCESS after timeout FAILEDHold for review, alertfailpass
Partial amountHold for review, alertfailpass
JPY amount with decimalsHold for review, alertfailpass
Callback for an unknown orderReject, alertfailpass

Seven of the eleven shown. The naive handler passes only the happy path and a refund. Each failure maps to a break in §★: a retried callback becomes a duplicate credit, a late success becomes a user who paid and was not credited. The guarded handler is the specification to agree with engineering before a channel goes live.

06

First 90 days

DAYS 1-30 · LEARN THE BOOK
  • Map every live channel: currency, rail, report format, cut-off, fee schedule, return codes.
  • Sit with CS on capital tickets; tag each one to a break type.
  • Read the open-break list and its ageing. Note what has no owner.
DAYS 31-60 · TIGHTEN THE CLOSE
  • One daily close with a number per capital class and ageing on every break.
  • CS macros per break type, with the check order behind each.
  • Monthly fee-variance claim per channel.
DAYS 61-90 · MAKE LAUNCHES CHEAP
  • A standard go-live pack and callback test suite for every new channel.
  • Weekly per-channel trend: wrong-reference rate, return rate, fee variance.
  • Written SOPs, so the team works breaks the same way.
07

Method & sources

Public sources only, checked against each other. Where a third party and the primary source disagree, the primary source is used.

METHOD
  • The JD came from a public job posting, 2026. The duties in §03 are paraphrased from it.
  • P2P depth was read from Binance's public P2P ad-search endpoint on 1 Oct 2026.
  • USD values in the console use ECB reference rates, live via Frankfurter with a dated snapshot as fallback.
  • Console numbers in §04 come from running it on its default day and on 48 seeded days.
LIMITS, STATED
  • Users, amounts and contract fees are synthetic. Same-day cut-offs for SEPA and SWIFT are assumptions and are labelled as such.
  • No view of Binance's internal systems, channel contracts or real report formats.
  • P2P disputes are outside the console; they are a separate queue with their own evidence rules.
  • Several 2026 events rest on press reports, listed below.
ClaimSource
Bifinity stops serving Binance users from 31 Dec 2025; knock-on card and EUR/PLN effectsFX News Group, Cryptonews
Binance.com on ADGM-licensed entities from 5 Jan 2026, including a clearing houseGulf News, Payment Expert
AUD PayID and bank transfer restored, January 2026FutureFive
PayPay Money at Binance Japan from 9 Apr 2026, deposit limits and feePayPay press release
Kazakhstan agreements and payment-licence plan, September 2026Finance Magnates
2023 partner exits: card acquiring, GBP, RUB, AUDThe Block, The Block, The Block
Coinbase direct INR rails, 2026Decrypt
OKX Singapore payments licenceThe Block
Bitget APAC card, April 2026GlobeNewswire via AAP
Fiat order fields and status values used in the consoleBinance developer docs, Fiat
Fiat order weight (45000) and the example status rowBinance Python SDK, fiat client; changelog via archived fiat changelog
Rail rules: SEPA, FPS, BRL PIX and TED, SWIFT, cardSEPA FAQ, SEPA how-to, FPS, BRL, SWIFT, card (Binance help centre, read 1 Oct 2026)
Holiday calendarsNager.Date; TARGET2 closing days computed
ECB reference ratesFrankfurter

Independent work by Edward Tay for a job application. Not affiliated with Binance. The console is a prototype built for this application and is not Binance software.