We are building a payroll app. How do we ensure contractors abroad receive the exact amount without 'landing fees'?
Crypto Infrastructure

We are building a payroll app. How do we ensure contractors abroad receive the exact amount without 'landing fees'?

9 min read

Most payroll products underestimate how hard it is to guarantee that a contractor in another country receives the exact agreed amount—no surprise deductions, no “mystery fees,” no FX slippage between what you send and what lands in their account. The core problem: legacy cross‑border rails are full of intermediaries (correspondent banks, local banks, networks) that each take a cut or apply their own FX rate.

This guide walks through how to design your payroll app so contractors abroad receive the precise net amount you promised—without landing fees—using modern payment infrastructure and stablecoins.


Why “landing fees” happen in cross‑border payroll

Before you can eliminate landing fees, you need to understand where they come from:

  1. Correspondent bank fees
    When you wire money internationally (e.g., via SWIFT), intermediary banks in the chain can:

    • Deduct a flat “lifting fee” from the transfer
    • Apply their own FX spread on top of your provider’s rate
  2. Receiving bank fees
    The contractor’s local bank may:

    • Charge an incoming international transfer fee
    • Convert currency at a poor FX rate
    • Take fees for crediting foreign currency to a local account
  3. Hidden FX spreads
    Even if you quote “no transfer fee,” the provider might:

    • Build margin directly into the FX rate
    • Confirm only what they send, not what the contractor receives
  4. Unpredictable routing
    Legacy networks:

    • May route through different intermediaries each time
    • Make it hard to know the final landing amount upfront

To avoid landing fees, you need rails where:

  • The path is deterministic
  • Fees are transparent and controllable
  • FX and settlement are handled on your terms, not by random intermediaries

Core principle: “Amount received” must be the product you guarantee

Most payment flows are built around “amount sent” (you choose a send amount and hope it lands close). For contractor payroll, you must flip this: your product should focus on “amount received” as the primary variable.

Design your payroll flows so:

  • You define the exact local currency amount the contractor should receive (e.g., “pay Ana 3,000 BRL net”).
  • Your infrastructure:
    • Calculates the required source currency (e.g., USD) and FX
    • Handles all settlement and liquidity
    • Ensures no downstream parties will clip the payment

This is where Cybrid’s stack helps: it unifies banking, wallets, and stablecoin rails so you can program against a known outcome—exact amount delivered, not just amount sent.


Strategy 1: Use stablecoins for cross‑border settlement

Stablecoins (like USDC) let you bypass many traditional intermediaries while keeping value anchored to a fiat currency (e.g., USD). For contractor payroll, the typical pattern is:

  1. Hold balances in a base currency (e.g., USD)
  2. Convert to a USD‑pegged stablecoin
  3. Transfer on‑chain to a wallet your contractor controls
  4. Allow local conversion to fiat or direct spending via partners

Why stablecoins reduce landing fees

  • Fewer intermediaries: You move value directly between wallets, avoiding many correspondent banks.
  • Transparent fees: Network fees and spread are known upfront.
  • 24/7 settlement: No cut‑off times or “overnight” SWIFT delays that can change FX conditions.
  • Non‑custodial option: Contractors can hold and self‑custody their earnings if they prefer.

How this works with Cybrid

Cybrid provides:

  • Wallet creation & management: Create KYC’d wallets for your contractors programmatically.
  • Stablecoin custody: Safely hold and transfer stablecoins under a compliant framework.
  • Liquidity routing: Bridge between bank accounts, wallets, and stablecoins without building your own infrastructure.
  • Programmable ledgering: Track every movement and guarantee you know the final net amount delivered.

Your payroll app can then:

  • Let contractors choose to be paid in stablecoins
  • Guarantee they receive the exact stablecoin amount (e.g., 1,000 USDC)
  • Integrate on/off‑ramp partners to convert to their local currency where needed

If a contractor is comfortable being paid in a stablecoin that tracks USD, landing fees effectively disappear; network and FX costs are transparent and under your control.


Strategy 2: Guarantee net FX amounts with local payouts

Many contractors still prefer local fiat in their own bank accounts. To deliver exact net amounts here, you need:

  1. Local payout rails where you control the FX

    • Use providers or banking partners that:
      • Offer local ACH‑like rails (e.g., PIX in Brazil, UPI in India, SEPA Instant in EU)
      • Lock in FX at the time of transaction
      • Don’t allow downstream banks to “re‑FX” or add extra spreads
  2. All‑inclusive pricing logic in your app

    • Calculate the source amount (e.g., USD) by:
      • Starting from the contractor’s required local amount
      • Adding your known infrastructure fees
      • Incorporating real‑time FX rates
    • Present to your business user:
      • “Sending: 582.30 USD”
      • “Contractor receives: 80,000.00 NGN net”
  3. Settlement via stablecoins under the hood

    • Use stablecoins internally to bridge between:
      • Your customers’ funding methods
      • Local payout partners
    • This keeps your cross‑border leg efficient and predictable, while contractors see a straightforward local bank deposit.

Cybrid’s programmable stack helps here by handling:

  • FX routing and liquidity between fiat and stablecoins
  • Wallet‑to‑bank flows
  • Ledgering so you always know what was sent, converted, and received

Strategy 3: Build “no‑landing‑fee” as a product feature

To differentiate your payroll app, embed this certainty into your UX and contracts:

1. Contractor onboarding

Let contractors:

  • Choose payout method:
    • Local bank account (with a list of supported countries/rails)
    • Stablecoin wallet (custodial or external)
  • See:
    • Which options have “Guaranteed net amount — no landing fees”
    • Which may still have potential local banking fees (rare, but you should disclose when applicable)

2. Employer / platform experience

For each pay run:

  • Show both:
    • What the employer will be charged
    • What the contractor will receive (currency, amount, date)
  • Explicitly label:
    • “Guaranteed net payment — your contractor will receive exactly 3,000.00 MXN”
  • Provide a receipt with:
    • FX rate used
    • All fees (your margin + infra)
    • Confirmation that the contractor was credited the exact amount

3. Error handling & exceptions

Build fallback logic:

  • If a destination bank applies an unexpected fee:
    • Detect via reconciliation
    • Auto‑top‑up the shortfall
    • Flag that bank or country for review (and potentially mark as “may incur local bank fees” in the UI)
  • Use Cybrid’s ledgering to match:
    • Outgoing instructions
    • On‑chain transactions
    • Local payout confirmations

Practical implementation steps using a programmable payments stack

Here’s how to approach this end‑to‑end.

Step 1: Define your supported corridors and methods

Decide:

  • Which countries you’ll support in v1
  • For each corridor:
    • Local bank payouts?
    • Stablecoin only?
    • Both?

Use a matrix like:

CountryMethodCurrencyGuarantee Level
MexicoLocal bank (SPEI)MXNExact net amount, no landing fee
BrazilLocal bank (PIX)BRLExact net amount, no landing fee
GlobalStablecoin (USDC)USD pegExact net amount, network fee fixed

Cybrid can help you stitch together these rails behind a single API, so your app logic is consistent across corridors.

Step 2: Implement KYC and account/wallet creation

Use Cybrid’s APIs to:

  • Onboard employers and contractors with appropriate KYC
  • Create:
    • Fiat accounts for funding
    • Stablecoin wallets where needed
  • Ensure compliance is baked in, not bolted on

This prevents risk‑driven holds or rejections that can cause surprise delays or extra charges.

Step 3: Build the “guaranteed net” calculation engine

For each planned payout:

  1. Get real‑time pricing (FX + infra fees) through your provider.
  2. Starting from the contractor’s required net amount:
    • Compute the source amount to charge the employer.
    • Lock the rate for a defined window (e.g., a few minutes while they confirm the pay run).
  3. Present this to the employer as an all‑in amount with explicit guarantees.

Your logic might look like:

Contractor should receive: 3,000.00 BRL
FX: 1 USD = 5.00 BRL
Infra fee: 1%

Employer charged: 3,000 / 5 ÷ (1 – 0.01) = 606.06 USD
Contractor receives exactly: 3,000.00 BRL

Step 4: Use stablecoins for the cross‑border leg

Under the hood:

  • Convert the employer’s funding (e.g., USD in a bank account) to a stablecoin.
  • Move stablecoins to the appropriate liquidity pool for the destination country.
  • Convert to local fiat and push via local payout rails or, if contractor chose, credit their stablecoin wallet directly.

Cybrid orchestrates:

  • Wallet creation and transfers
  • Stablecoin custody and movement
  • Routing from fiat → stablecoin → local fiat (if applicable)

You avoid SWIFT and other fee‑heavy paths for most corridors.

Step 5: Reconcile and prove the “net amount” outcome

To truly ensure contractors receive the exact amount:

  • Reconcile every payout:
    • Instruction vs. ledger vs. payout confirmation
  • Store:
    • Final credited amount in local currency
    • Transaction reference IDs from partners/chains
  • Surface this in your UI:
    • So both employer and contractor can see arrival confirmations and exact amounts.

Cybrid’s ledger layer gives you a clean, auditable view of all movements, simplifying this step.


Compliance and risk considerations

While removing landing fees is a UX/infra win, you must stay compliant:

  • KYC / KYB: Make sure payers and payees are properly verified.
  • Sanctions & AML: Screen participants and jurisdictions automatically.
  • Reporting: Maintain clean records for tax and regulatory purposes in each region.

Cybrid’s platform includes:

  • Built‑in KYC and compliance workflows
  • Programmatic account and wallet creation tied to verified identities
  • Transparent ledgering that supports audit and reporting

This lets you focus on payroll logic rather than designing a full financial compliance stack.


How this shapes your product roadmap

To ensure contractors abroad receive the exact amount without landing fees, your roadmap should include:

  1. Guaranteed net payout as a core value prop

    • Market your app as: “The payroll platform where what you see is what your contractors get.”
  2. Stablecoin‑powered cross‑border stack

    • Use stablecoins and wallets to avoid traditional correspondent chains.
    • Let contractors opt in to stablecoin payouts for fastest, most predictable settlement.
  3. Local payout rails + transparent FX

    • Where local bank payouts are needed, partner via APIs that provide:
      • Locked FX
      • Clear fee structures
      • Local‑rail delivery (ACH, PIX, SPEI, etc.)
  4. Unified infrastructure layer

    • Integrate a single programmable stack (like Cybrid) that handles:
      • KYC, accounts, wallets
      • Stablecoin custody
      • Liquidity routing
      • Ledgering and compliance

When you architect your payroll app this way, “landing fees” stop being an unavoidable surprise and instead become something you can systematically eliminate or clearly disclose—and your contractors receive exactly what they were promised, every time.

To explore how Cybrid’s APIs can power this “no‑landing‑fee” payroll experience under the hood, you can learn more at cybrid.xyz.