
Build one calculator per payout lane, not per FX pair alone. Capture bid/offer context, executable quote IDs, timestamps, expiry, explicit fees, delivery frictions, and exception effort, then rank routes on delivered outcome, speed, failure risk, and operational burden. Start with 10 corridors, enforce stale-quote rejection, and require every modeled cost line to map to system events or ledger postings before scaling.
This is not another FX cross-rate explainer. It is a decision-grade model for payout teams that need to compare real delivery economics across corridors, not just read a Forex screen and assume the quoted conversion is the cost.
That distinction matters because payout pricing is not pure FX math. A foreign exchange rate is the price at which one currency can be bought or sold. Your payout outcome also depends on the executable quote, the spread between bid and offer, when the quote was taken, and whether funding conditions diverge from parity expectations. BIS has reported persistent cross-currency basis since 2007, and the ECB has described a USD funding premium in EUR/USD cross-currency swaps since 2008. A clean cross-rate calculation can still miss what you actually pay to fund and deliver a payout.
The scope here is broader than a single quote or benchmark. You are building a total payout economics calculator that covers quote quality, explicit fees, route behavior, timing risk, and controls you can audit later. If your sheet stores only one spot rate per corridor, treat that as a warning sign. At minimum, capture bid and offer as separate fields, plus quote timestamp and provider reference.
The target state is one shared calculator that finance, ops, and engineering can run and audit. Finance gets comparable corridor economics. Ops sees where execution drift changes delivered cost. Engineering gets a model tied to real quote data instead of a static sheet.
Use this article if you are modeling platform payouts, treasury funding choices, or route selection across many destination countries. It is not a trading primer. Spread and quote direction still matter, but the decision unit here is a payout lane that must be funded, executed, reconciled, and defensible afterward.
Treat executable-rate evidence as required input, not a nice-to-have. At least one provider publishes real-time and historical FX APIs for benchmarking and conversion workflows, and also offers rate locks for up to 24 hours across more than 60 supported currencies. That helps only if your model records whether a rate was indicative or holdable. One common failure mode is comparing a stale benchmark on one route against a firm quote on another. The build path is:
Carry one rule through the rest of this guide: never approve routing from an FX screen alone. Approve only when the quote is traceable to an executable record and can be matched to what settled.
Need the full breakdown? Read Digital Nomad Payment Infrastructure for Platform Teams: How to Build Traceable Cross-Border Payouts.
Use a cross-rate calculator as a reference, not a payout decision engine. It can validate conversion math, but it cannot capture the execution reality of cross-border payouts, which can still be slow, expensive, and risky.
| Failure pattern | Grounded takeaway |
|---|---|
| FX math used as the decision | Useful for a sanity check, but it does not capture full end-to-end cross-border cost, timing, and risk |
| Headline rate compared instead of delivered outcome | A better-looking rate can still produce a worse result once the payment moves through cross-border rails |
| Trading context mixed with payout TCO | For platform payouts, the decision is driven by delivered amount, timing, risk, and whether you can audit what actually settled |
| Future-state shortcuts | Build your cost model around routes you can execute and verify now |
1. Use FX math as a baseline, not the decision. Rate math is useful for a sanity check. It does not capture full end-to-end cross-border cost, timing, and risk. If your model stores only a rate per currency pair, it is incomplete.
2. Compare delivered outcome, not headline rate. A better-looking rate can still produce a worse result once the payment moves through cross-border rails. These flows are intermediated across jurisdictions and rely on costly trusted relationships, so execution complexity can eat up a small rate edge. When routes are close on rate, prefer the one with cleaner execution and fewer failure paths.
3. Keep trading context separate from payout TCO. Trading concepts can help explain FX market behavior, but they are not payout total cost of ownership. For platform payouts, the decision is driven by delivered amount, timing, risk, and whether you can audit what actually settled.
4. Avoid future-state shortcuts. Do not treat unresolved future infrastructure as a fix for today's model gaps. Cross-border digital-currency design and policy choices remain unsettled, and official work noted that no major jurisdiction had launched a CBDC in that period. Build your cost model around routes you can execute and verify now.
Related: Cross-Border Payments Guide for Platform Operators: Rails Costs Compliance and Speed Compared.
Your model is only as reliable as the input trail behind each corridor. Before you start modeling, require an auditable minimum record set per lane, and mark any lane without source evidence as estimate-only and out of automated routing.
Start with one row per currency pair and destination country, then split rows when payout method changes. A USD-EUR bank payout and a USD-EUR wallet payout can share FX exposure but still differ on fees, timing, and failure paths.
Add expected volume bands early so test lanes are not compared to production lanes as if they were equivalent. Keep each row standardized with owner, provider, payout method, and evidence status (live, sample only, or missing). As a practical baseline, map each row to at least one retrievable rate or quote record and one fee source.
Store raw provider evidence, not only modeled outputs. Use quote payloads, fee schedules or pricing exports, and settlement or payout status events where available. If they are not available, keep a dated export trail with a clear retrieval path.
Do not copy only a headline rate. In practice, keep original records for variance review, including amount, currencies, timestamp, fee lines, provider reference, and status history where available. For any modeled lane, you should be able to show source rate evidence, the fee version applied, and post-submission status when it exists.
Set the control fields before teams create conflicting labels. Common control fields include quote timestamp, conversion status, payout status, and ledger journal references. In practice, also include provider reference and your internal transfer ID for deterministic matching.
These fields help separate pricing variance from execution variance. If the delivered amount misses expectations, you can test whether quote timing, conversion flow, or downstream payout state caused the gap instead of losing time in manual reconciliation.
Keep compliance and tax gating fields in the same model even if another team runs the checks. In this FinCEN context, the reporting discussion is tied to anti-money-laundering and terrorist-financing efforts, so treat compliance state as an explicit routing input. Jurisdiction- or provider-specific checks, for example KYC/KYB, VAT validation, or tax forms such as W-8/W-9 where applicable, can affect eligibility, timing, and manual handling.
For the cited U.S. FinCEN context, 31 C.F.R. §103.33 is described as recordkeeping for certain funds transfers of $3,000 or more, without distinguishing domestic from international transfers. The same material says maintained records should be retrievable and available on request to FinCEN, law enforcement, and regulators. If a required document or status is missing for a lane, mark it not model-ready instead of estimating around the gap.
For a step-by-step walkthrough, see Employee Cost by Country Calculator for Total Burden Across 40+ Markets.
Map corridors by execution behavior, not geography. If two routes can price differently, they should be separate lane rows even when they share the same currency pair.
A currency pair is only the starting point. Before you compare quotes or apply FX math, define lanes that are genuinely comparable so later pricing decisions are not distorted.
Do not keep one row for broad labels like a region, or even one row per currency pair, when provider or channel paths differ. Bank and mobile-money channels can produce very different costs, so they should be split.
RPW Q1 2025 supports this approach: costs are shown by provider or channel category and by transfer amount ($200 vs $500), not as a single uniform figure.
| Benchmark view | Q1 2025 cost on $200 | What it tells you |
|---|---|---|
| Global average cost | 6.49% | Baseline reference, not a routing rule |
| Sub-Saharan Africa | 8.78% | Region-level outcomes can differ materially |
| Banks | 14.55% | Provider category can drive cost sharply higher |
| Mobile money sending instrument | 3.63% | Channel choice can materially lower cost |
Use this as a lane-design warning: do not group by geography alone, and keep amount bands attached to each lane.
Keep one schema across all lanes so you can compare like with like. At minimum, include:
If evidence quality is weak, label the lane estimate only and keep it out of auto-routing. Treat those rows as planning inputs until they meet your decision-grade evidence standard. This matters because the same benchmark context flags persistent cost frictions, including limited competition, cash dependence, regulatory bottlenecks, interoperability gaps, and low financial inclusion.
Related reading: How to Expand Your Subscription Platform to APAC: Payment Methods Currency and Regulatory Market.
If you cannot explain why the delivered amount moved, the model is not ready for routing. Build each lane with six auditable layers, from reference conversion through exception handling, and keep anything without evidence out of decision logic.
| Layer | What you capture | Minimum evidence |
|---|---|---|
| 1. Reference conversion baseline | Currency pair, pivot usage, reference-rate basis | Timestamped market-reference snapshot |
| 2. Applied FX economics | Executable quote, bid/ask context (if exposed), spread or markup treatment | Quote payload, quote ID, expiry time |
| 3. Explicit transaction charges | Fixed fee, variable fee, route-specific payout fee (if applicable) | Provider fee schedule version or invoice logic |
| 4. Delivery frictions | Intermediary deductions, returns, repair handling (if applicable) | Status events, return codes, reconciliation records |
| 5. Compliance and tax overhead | KYC, KYB, AML handling, W-8 or W-9 checks, VAT validation work (if applicable) | Case tickets, review logs, document status |
| 6. Exception cost | Retries, support, reconciliation effort, webhook failure handling (if applicable) | Incident records, retry logs, ledger adjustments |
Layer 1 is your comparison anchor, not your executable price. Store the pair, pivot path if used, and reference timestamp so teams do not compare executable quotes against stale or mismatched baselines.
Use the mid-market rate, or another clearly defined market reference, as the anchor. Markup may be embedded in the quoted rate rather than disclosed as a separate fee line, so without this baseline Layer 2 can hide real conversion cost.
For USD-heavy lanes, note when funding is being accessed synthetically through FX swaps. The ECB's October 2025 discussion of synthetic dollars highlights that swap-based dollar access can become more expensive as demand rises.
Layer 2 should reflect what you could actually trade: quote ID, timestamp, expiry, side used, and converted amount. If bid or ask context is available, keep it.
Also record spread treatment or embedded markup. Hidden conversion cost can sit inside the rate itself, so a route can look fee-light while still producing a weaker net payout.
If you cannot reconstruct the gap between Layer 1 and executed conversion in Layer 2, mark the lane estimate only and keep it out of auto-routing.
Do not compare providers on FX alone. Layer 3 captures explicit charges such as fixed, variable, and route-specific payout fees. Layer 4 captures delivery frictions such as intermediary deductions, returns, and repair handling. Do not invent benchmark percentages for Layer 4. Measure actual deductions and return behavior from your own events and reconciliation records.
If a route shows low visible fees but post-send adjustments, keep that leakage in Layer 4 so operational fragility stays visible.
Layer 5 covers compliance and tax operations overhead, including KYC, KYB, AML handling, document checks, W-8 or W-9 workflows, and VAT validation activity. If these steps delay or block payout, they are part of lane cost.
When regulatory text feeds into your process design, verify FederalRegister.gov web text against an official edition of the Federal Register before treating it as legal-source input.
Layer 6 captures exception cost: retries, reconciliation, support, and webhook-failure handling. Track retry behavior and record duplicate work incidents when they occur.
By the end of Step 2, each lane should have all six layers populated with auditable evidence. Only then can you compare quote quality and timing risk against true all-in cost instead of headline rate.
If you want a deeper dive, read How to Calculate the 'All-In' Cost of an International Payment.
Quote timing is a cost variable, not a footnote. Keep indicative pricing separate from firm executable quotes, and define a clear internal policy for expired quotes so stale prices are not treated as executed FX economics.
Indicative rates are for orientation, not execution. If a price cannot be tied to an executable quote, timestamp, and expiry, treat it as indicative in your model rather than as executed FX economics.
That separation matters because real FX markets do not always behave like a clean no-arbitrage baseline. BIS analysis documents persistent covered interest parity (CIP) violations and a persistent cross-currency basis, including in tranquil markets, so parity assumptions alone can misstate executable outcomes.
For each conversion attempt, keep an evidence record that includes quote type, quote timestamp, expiry time, approval timestamp, execution timestamp, quoted amount, executed amount, and currency pair. If key fields are missing, flag that lane for review before automated routing.
Use quote-age buckets to make delay-driven cost drift visible across finance, ops, and engineering.
| Quote state | How to classify it | What to do |
|---|---|---|
| Fresh | Firm quote still inside expiry and ready to execute | Proceed |
| Aging | Firm quote still valid but approaching expiry during internal approval flow | Escalate or reprice before submission |
| Expired | Past expiry, or expiry cannot be verified from records | Treat as non-executable and request a new firm quote |
| Indicative only | No executable commitment, or quote type unconfirmed | Reference only, not final cost comparison |
Run a simple checkpoint on routed conversions: compare approval time to quote expiry. If approvals cluster near or beyond expiry, process latency is probably the first issue to fix.
If expiry-related failures breach your internal tolerance, shorten the approval chain before you negotiate tighter spread. Better pricing does not help if quotes routinely age out before execution.
Timing windows can also reflect market structure, not just provider behavior. ECB work notes a US dollar funding premium in EUR/USD cross-currency swaps since 2008. It also notes amplification around balance-sheet reporting dates. Track timing patterns around reporting windows explicitly.
Keep quoted and executed outcomes in separate fields and measure slippage between them. Segment results by currency pair, route, and time window instead of averaging across lanes.
That segmentation matters because FX information conditions vary across participants, time, and currency pairs. Without it, strong execution in one lane can hide weaker quote quality or timing performance elsewhere.
Compliance and tax gates are execution constraints, not background overhead. They decide whether a route is executable now, delayed, or blocked, and those delays can invalidate firm quotes from Step 3.
Use internal compliance and tax states to drive route eligibility and timing, not just as ops labels.
| Gating state | What the calculator should do | Minimum evidence to keep |
|---|---|---|
| Compliance review pending | Mark route delayed or blocked until resolved | status, opened timestamp, released timestamp, owner |
| Document incomplete | Treat affected route as non-executable | missing requirement, request date, receipt date |
| Tax reporting data not ready | Remove route from same-day assumptions | required data, readiness flag, last checked timestamp |
| Required FBAR submission field missing | Stop submission and require correction | missing field name, opened timestamp, corrected timestamp |
| Amended FBAR reference missing | Block amended submission until complete | amend flag, prior report BSA identifier, last checked timestamp |
Compare hold-open and release times to quote expiry. If releases frequently happen after expiry, that gate is part of FX cost.
Track tax-reporting readiness as route inputs: on file, complete, and whether missing data forces manual review or delay.
| FBAR input | Article rule |
|---|---|
| Form | FBAR is FinCEN Form 114 |
| Threshold | Filing is triggered when a single-account maximum or aggregate maximum exceeds $10,000 |
| Non-U.S. currency maximum values | Convert to U.S. dollars |
| Treasury rate unavailable | Use another verifiable exchange rate and record its source |
| Negative maximum-value calculation | Report 0 in item 15 |
| Fewer than 25 accounts and aggregate threshold status cannot be determined | Complete each account section and use item 15a (amount unknown) |
Where FBAR reporting flows apply, keep the required mechanics in the model inputs. FBAR is FinCEN Form 114. Filing is triggered when a single-account maximum or aggregate maximum exceeds $10,000. The maximum account value is a reasonable approximation of the greatest value during the year. Non-U.S. currency maximum values must be converted to U.S. dollars. If Treasury's rate is unavailable, use another verifiable exchange rate and record its source. If a maximum-value calculation is negative, report 0 in item 15. For filers with fewer than 25 accounts who cannot determine aggregate threshold status, complete each account section and use item 15a (amount unknown).
If a route repeatedly lands in policy review, downgrade it to the slower but more reliable path. Price the delay directly through quote refreshes, approval rework, manual review time, support handling, and payout misses. A cheap headline spread is not cheap if repeated holds force rebooking.
Do not apply one platform-wide compliance or tax assumption to every corridor or program without explicit lane-level eligibility and documentation flags in the model.
For applicable FBAR submission flows, one concrete failure mode is missing required XML fields. FinCEN guidance notes required elements, for example ActivityAssociation, can cause rejection when omitted, so track required fields as evidence, not just status badges.
At minimum, keep:
If a corridor cannot meet that evidence standard, mark it delayed or manual in the model.
If a modeled cost cannot be tied to observable execution evidence, do not use it for routing. This step is a control, not a reporting exercise.
That standard matters even more in an FX market that is increasingly electronic, automated, and fragmented. Automation can improve execution quality, but as usage scales, risk and control demands also increase. If you cannot trace what happened, you cannot trust the cost result.
For each cost line in your model, require one auditable anchor so you can reconstruct what happened later.
| Modeled item | Minimum observable anchor | What to check |
|---|---|---|
| Execution outcome | Execution record | Expected vs realized outcome |
| Execution cost component | Transaction cost analysis checkpoint | Modeled cost aligns with measured execution cost |
| Timing impact | Timestamped execution timeline | Timing moved execution outside the expected window |
| Risk/control impact | Algorithm safety monitoring checkpoint | Control conditions changed realized execution behavior |
If one modeled line maps to multiple unrelated events, or to none, treat that as measurement drift and remove it from decision logic until it is observable.
Run transaction cost analysis by execution setup, currency pair, and meaningful variant, not only as a portfolio average. That is the practical way to separate genuine execution improvement from noisy measurement.
Keep algorithm safety and monitoring explicit in this loop. Include a stress checkpoint, not just steady-state review. The March 2020 volatility period is a useful reminder that execution behavior can change quickly under market disruption. Every modeled cost component should map to a clear execution artifact or monitoring checkpoint.
For broader context, see Multi-Currency Payment Processing for Platforms: How to Accept and Disburse in 50+ Currencies.
Rank each corridor on total delivered outcome, not FX quote alone. If two routes are close on modeled cost but one has higher failure risk or heavier manual handling, choose the more reliable route and record that choice as policy.
Step 6.1. Assess each corridor across four axes. Create one comparison row per currency pair and route variant. Do not merge variants just because the currency pair matches.
Assess each row on:
Use evidence from earlier steps, not intuition. Cross-border payments can be slow, expensive, and risky at the same time, and hidden fees or intermediary frictions can reduce or erase an apparent quote advantage. Each corridor rank should map to the quote record, payout status history, fee posting record, and any manual intervention log used in the assessment.
Step 6.2. Apply explicit if-then routing rules. Turn your assessment into rules your team can execute under pressure. If cost differences are narrow but failure risk is higher, route to the more reliable option. If the cheapest quoted FX does not produce the lowest delivered payout outcome once fees and exception handling are included, flag that corridor and block FX-only auto-routing for it.
If a proposed route depends on CBDC assumptions or future interlinking design choices, keep it in a research lane until you have real execution evidence.
Step 6.3. Publish the decision record. Publish a corridor-level decision output that finance, product, and operations can use directly:
Keep each decision tied to its evidence pack. If a corridor is still estimate-only or fee visibility is incomplete, say so plainly.
Step 6.4. Tie route choices to batch timing and approvals. Use routing outputs to set payout timing and approval windows. When timing and approval flow repeatedly push execution off-plan, fix those controls before assuming price is the root issue. The expected outcome is practical: every preferred route has a backup path, a named owner, a review cadence, and an execution plan.
This pairs well with our guide on Xero Multi-Currency for Payment Platforms: How to Reconcile Foreign Currency Payouts.
Before you finalize preferred and backup routes, pressure-test your assumptions with a quick corridor baseline in the payment fee comparison tool.
A common failure is treating a visible rate as delivered reality instead of a time-sensitive estimate tied to execution conditions.
| Mistake | Recovery |
|---|---|
| Store screen snapshots instead of execution evidence | Keep each modeled conversion tied to your own execution trail, what was attempted, when, and what outcome followed |
| Model only quoted price and ignore outcome states | Separate outcome states, for example completed vs. non-completed, so exception handling is visible |
| Treat every FX gap as pure currency pricing | Break non-FX costs and delays into distinct line items |
| Use global averages for routing policy | Set ownership and review decisions per currency pair |
1. Store execution evidence, not screen snapshots. A screen bid/ask is a reference point, not proof of delivered cost. In the cited UGX/USD sample, daily data from January 2, 2017 to January 19, 2024, showed that order flow drove both level and volatility. Overnight rate shocks also increased volatility with persistence, so timing can materially change outcomes between quote view and execution.
Recovery: keep each modeled conversion tied to your own execution trail: what was attempted, when, and what outcome followed. If you cannot trace that path, treat the row as estimate-only.
2. Model status outcomes separately from quoted price. Another distortion is scoring only clean completions and ignoring non-final outcomes. Recovery is to separate outcome states, for example completed vs. non-completed, in your cost view so exception handling is visible instead of hidden inside one blended buffer.
This grounding pack does not provide webhook-rate evidence, so use your own payout status history to quantify this part.
3. Separate non-FX friction from FX effects. Do not treat every apparent FX gap as pure currency pricing. In the dissertation abstract from this grounding pack, costly collateral/funding frictions explain about two-thirds of apparent CIP violations. Break non-FX costs and delays into distinct line items so you can see whether a corridor issue is truly FX-driven or process-driven. That keeps root-cause analysis practical when route performance degrades.
4. Keep decisions at corridor level, not global averages. Do not average all corridors into one policy. The UGX/USD findings are corridor-specific, and in that same sample FX swaps did not affect UGX/USD level or volatility. That is not evidence that other pairs behave the same way.
Recovery: set ownership and review decisions per currency pair, then evaluate exceptions at that level instead of smoothing them into a global average.
You might also find this useful: How EOR Platforms Use FX Spreads to Make Money.
Treat this as a phased rollout: prove the model on a small, representative set of corridors first, then expand only after the controls hold in production.
1. Define the first corridor cohort and owners. Start with a small set of corridors that reflects real variation in your business, not just the top-volume lanes. For each corridor, keep one fixed schema and assign clear ownership so pricing assumptions, failures, and routing changes always have a responsible reviewer.
2. Validate all-in cost inputs with execution evidence. Before you scale, make sure you can trace the first group end to end. Do not rely on zero-fee positioning alone. Compare providers on total cost of ownership, and record at least transfer fee, exchange rate, turnaround time, and reliability so each modeled outcome can be checked against what actually happened.
If a route appears cheaper only because the payment option changed, treat it as a different route and re-baseline it.
3. Gate go-live on clean execution controls. Do not expand routing until quote conditions and retry outcomes are clearly tracked. If a corridor cannot be audited cleanly after execution, keep it out of automated routing.
4. Publish routing rules with fallback paths. Define a primary route, backup route, and escalation contact for each corridor. Keep the decision rule explicit: evaluate delivered outcome, not headline price alone, because speed and reliability can change the real result.
For example, one source notes legacy SWIFT-based transfers may take three to five business days. The same source describes modern local payout networks as same-day for over 90% of transactions, with approximately 50% instant settlement.
5. Recalibrate on a fixed operating cadence before adding corridors. Run a weekly control cycle to review fee drift, rate drift, settlement delays, and routing exceptions. Expand to additional corridors only after current corridors consistently pass your data-quality and reconciliation checks, and account for onboarding or verification delays that may take a few business days.
Once your controls are stable, move from model outputs to operational execution with traceable status handling in Gruv Payouts. ---
A cross-rate calculator focuses on conversion math from exchange rates, which are the relative price of two currencies. A cross-currency payment cost calculator can add quoted or executed rate checks against a benchmark (such as the mid-market rate) plus stated fees to estimate effective payout cost. That is the difference between a price view and a cost-outcome view.
A practical baseline is the quoted rate, executed rate, stated fees, amount sent, and amount received. Keep a benchmark reference such as the mid-market rate so markup can be measured instead of assumed later. This is a working baseline, not a complete universal schema.
A quote can look cheap while hiding cost in the rate itself through markup. Banks may not provide mid-market pricing and may embed hidden fees in quoted rates. The cited example, 0.85 vs 0.82 on USD/EUR, shows how this can add about $3,500 on a $100,000 transfer.
Treat bid and ask as market context, not as proof of delivered cost. For payout comparisons, use the quoted or executed rate and stated fees, then compare against a benchmark like the mid-market midpoint. That keeps corridor comparisons tied to measurable pricing gaps.
The grounding here does not prove one universal first failure point. It does show that pricing can be materially higher on less common currency pairs or smaller transfers, which can skew comparisons if they are treated the same as liquid lanes. Model those corridors separately so they do not distort the broader view.
These sources do not set a fixed recalibration cadence. They do establish that exchange rates move with demand and supply, so a static model can go stale even if the formulas stay unchanged. Cadence is an operating-policy choice, not a rule provided by these excerpts.
Yuki writes about banking setups, FX strategy, and payment rails for global freelancers—reducing fees while keeping compliance and cashflow predictable.
Educational content only. Not legal, tax, or financial advice.

**Start with the business decision, not the feature.** For a contractor platform, the real question is whether embedded insurance removes onboarding friction, proof-of-insurance chasing, and claims confusion, or simply adds more support, finance, and exception handling. Insurance is truly embedded only when quote, bind, document delivery, and servicing happen inside workflows your team already owns.
Treat Italy as a lane choice, not a generic freelancer signup market. If you cannot separate **Regime Forfettario** eligibility, VAT treatment, and payout controls, delay launch.

**Freelance contract templates are useful only when you treat them as a control, not a file you download and forget.** A template gives you reusable language. The real protection comes from how you use it: who approves it, what has to be defined before work starts, which clauses can change, and what record you keep when the Hiring Party and Freelance Worker sign.