Key takeaways

  • Every reward is payout times conversion rate times split to user / 100 times (1 + bonus / 100), rounded step by step, and the wall shows the sum of the rounded steps.
  • Credit the {reward} postback value exactly as it arrives: it is already in your currency, while {payout} is what you earn in US dollars.
  • New settings apply to steps credited after you save, a bonus never changes your own payout, and an offer whose reward rounds to 0 is hidden.

How do you set up offerwall currency settings?

In your Sharklio dashboard, click Apps, click Manage next to your app, and open the Currency tab. Set the Currency name, the Conversion rate (how many units of your currency equal $1 of your earnings, before the split), Split to user (%), and Reward rounding, then click Save changes. The optional Bonus box on the same tab adds a time-limited boost, and the currency icon is uploaded on the Design tab. Every reward on your wall and every {reward} in your postbacks comes from these settings.

This page covers the settings themselves: exact labels, limits, defaults, and where users see the result. To decide which rate and split to choose, read How to set your virtual currency exchange rate. Labels and limits were checked in the dashboard on November 2, 2026.

What each currency setting does

The Add a new app form has the same four currency fields, filled in with the defaults below. The Bonus box only appears on the Currency tab once the app exists.

SettingWhat it doesAllowed values and defaultWhere users see it
Currency nameThe unit your users collect1 to 10 letters, numbers or spaces, or a currency sign such as $. Default: CoinsAfter every amount on the wall; {currency} in postbacks; currency in the Offers API
Currency icon (Design tab)A small picture next to every rewardOptional. PNG, JPG, WebP or GIF, square, resized to 128 pxNext to every reward on the wall
Conversion rateUnits of your currency per $1 of your earnings, before the splitMore than 0, up to 2 decimals. Default: 1000Never as a number; it sets every amount
Split to user (%)The share of your earnings your users receive as currencyA whole number from 1 to 100. Default: 100Never as a number; it sets every amount
Reward roundingHow amounts are roundedWhole numbers (default) or Up to 3 decimalsIn how amounts look, for example 74 or 74.2; offers that round to 0 are hidden
BonusA temporary boost on top of every rewardOff by default. 0 to 500 percent, optional start, end and repeatA “+10% on every reward” banner, an Ends in countdown, and the normal amount struck through

The settings apply to the whole app: the offerwall (link, iframe or floating button), the Offers API, and the mobile SDKs, which open the same wall.

Step by step: set up your app currency

  1. Click Apps in the sidebar under Publish, then Manage next to the app. For a new app, click New app; How to create your first app covers that form.
  2. Open the Currency tab.
  3. Currency name. Type what your users collect, for example Coins, Points or Gems. Emoji and punctuation are rejected. Type the plural form. When a reward is exactly 1, the wall drops a plain plural “s” (“1 Coin”, “1 Point”), and names without an obvious singular, such as Cookies or Lives, stay as typed.
  4. Conversion rate. Enter how many units equal $1 of your earnings, before the split, for example 1000. It must be more than 0, with up to 2 decimals. Leave out thousands separators: a comma counts as a decimal point, so “1,000” is rejected.
  5. Split to user (%). A whole number from 1 to 100. As the hint says, “You are paid in USD either way.”
  6. Reward rounding. Whole numbers for coins and points, or Up to 3 decimals for dollar balances. See the rounding section below.
  7. Check the How your users are rewarded box. It shows what “Your user gets” for every $1 you earn, the reward for offers that pay you $0.050, $0.370 and $2.500, and a row where you type any payout. “0, offer hidden” means offers paying that little will not appear. With the Bonus switch on, the box includes the bonus.
  8. Click Save changes. The dashboard confirms with “Saved.”
  9. On the Design tab, under Images, click Upload next to Currency icon, pick a PNG, JPG, WebP or GIF (up to 3MB, or 2MB for a GIF), and click Save changes. Preview shows it on your wall; How to customize your offerwall design covers the rest of the tab.

Make the icon work at 16 pixels

The wall shows the icon in a small circle no wider than 20 pixels, on a white backing, or a dark one when the image is mostly light. Use one simple shape centered in a square image, keep detail away from the corners (the circle crops them), and skip text. On narrow phone screens, offer cards show only the icon and the number, without the name, so the icon must make sense on its own.

The reward formula, with an illustrative example

The wall, the Offers API and every credit use this:

reward = payout × conversion rate × split to user / 100 × (1 + bonus / 100)
then rounded with your Reward rounding rule

payout is what you earn for one step of an offer, in US dollars, the same number that arrives as {payout}. The bonus is 0 when none is running. Each step is rounded on its own, the wall shows the sum of the rounded steps, and halves round up, so 2.5 becomes 3.

Illustrative example (sample figures only). A game sets Currency name Gems, Conversion rate 250, Split to user 80 and Whole numbers, so users get 200 Gems per $1 the game earns. One offer has two steps: “Install and play” pays the game $0.422 and “Reach level 10” pays $1.237.

StepPays youBefore roundingRewardDuring a 15% bonus
Install and play$0.4220.422 × 250 × 80 / 100 = 84.484 Gems84.4 × 1.15 = 97.06, so 97
Reach level 10$1.2371.237 × 250 × 80 / 100 = 247.4247 Gems247.4 × 1.15 = 284.51, so 285
Offer on the wall$1.659331 Gems382 Gems, with 331 struck through

Rounding the total would give 332 (1.659 × 200 = 331.8), one Gem more than the wall shows. That is expected: each step is credited and rounded as its own transaction, with its own {transaction_id} and postback. If the first step is credited during the bonus, the game’s server receives something like:

https://yourgame.example/postback?user=u_8812&tx=a41f0c9e7b2d58e3c6f1a0b9&status=1&reward=97&payout=0.422&currency=Gems&hash=...

If the second step is credited after the bonus ends, it arrives with the normal reward=247, even if the user started the offer during the bonus. The virtual currency calculator lets you try other rates and splits.

Rounding and decimals

  • Whole numbers rounds to the nearest unit: the field hint’s example turns 16.65 into 17.
  • Up to 3 decimals turns 0.0084 into 0.008.
  • Offers that would give 0 are not shown. With Whole numbers, an offer needs at least 0.5 before rounding. At a rate of 10 and a 50% split, an offer paying you $0.09 gives 0.45 and is hidden, while one paying $0.10 gives 0.5 and shows as 1.
  • Paying in dollars. The hints say “Paying in dollars? Use $.” for the name and “Set the conversion rate to 1 and choose up to 3 decimals.” At a 60% split, the two steps above would give 0.253 and 0.742, shown as “0.253 $”.
  • Number format. The wall writes thousands with a comma (1,250 Gems). Postbacks send plain numbers with a dot, no thousands separator and no trailing zeros, such as 1250 or 0.253.

With three decimals, store balances in an exact decimal type, never a float. The MySQL manual says DECIMAL and NUMERIC are “used when it is important to preserve exact precision, for example with monetary data”, and the PostgreSQL docs recommend numeric “for storing monetary amounts and other quantities where exactness is required”. In Python, parse {reward} with the decimal module; its docs show binary floating point displaying 1.1 + 2.2 as 3.3000000000000003.

Add a time-limited bonus

The Bonus box on the Currency tab explains itself: “A temporary boost on top of your rate, paid from your own share. With a 10% bonus, a user who normally gets 100 Coins gets 110. Your payout from Sharklio does not change.” It has:

  • An On/Off switch. The bonus only runs while it is on.
  • Bonus percentage, 0 to 500. Turning the switch on without one gives “Set the bonus percentage, or turn the bonus off.”
  • Repeat: Does not repeat, Every day, or Every week. A repeating bonus needs a start and an end; a daily window must last less than 24 hours, a weekly one less than 7 days.
  • Bonus starts: empty starts it right away. Bonus ends: empty runs it until you turn it off; with an end, users see a live countdown.

Times are in your account’s time zone, and a repeating bonus keeps its local hours when clocks change; the guide to time zones in your reports shows where that zone is set. After saving, a badge shows the state, such as “Active now, ends today 22:00”, “Next: every day 18:00 to 22:00”, or “Ended”.

While it runs, the wall shows “+10% on every reward” (or your percentage), an Ends in countdown when you set an end, and the normal amount struck through before each boosted reward. A step gets the bonus only if it is credited while the bonus runs. The extra currency comes from your own share; Offerwall bonus events has the break-even math and timing advice.

Keep the countdown honest. The FTC staff report Bringing Dark Patterns to Light lists a “Baseless Countdown Timer”, a fake countdown clock that goes away or resets when it times out, as a dark pattern. The Sharklio countdown follows the real end you set, so do not stretch a bonus at the last minute or relaunch it the moment it ends.

Which values carry your currency in postbacks and the API

Some values are in your currency, for your users; others are in US dollars, for you.

ValueWhereUnitWhat it holds
{reward}PostbackYour currencyThe reward after rate, split, bonus and rounding, fixed when the step is credited. A reversal (status 2) carries the same amount.
{payout}PostbackUS dollarsWhat you earn for that step
{currency}PostbackTextYour currency name, for example Gems
reward, goals[].rewardOffers APIYour currencyThe offer total and each step
reward_before_bonusOffers APIYour currencyThe reward without your bonus, or null when none runs
payout_usdOffers APIUS dollarsWhat you earn when the offer is credited
currency, bonus_percentOffers APIText, percentYour currency name, and your running bonus or null
  • Credit {reward} as it arrives. The Rewards and currency docs say: “Add it to the user as it is, and never convert it again.” Recomputing from {payout} misses the bonus, per-step rounding, and later settings changes.
  • Check the hash with the raw string. {hash} signs the transaction ID, user ID, reward and status, so turning 0.25 into 0.250 first breaks the match. See the postback docs.
  • Treat {currency} as a label. It carries the name your app has when the postback is sent, so after a rename, a reversal of an older credit arrives with the new name.
  • Credit once per {transaction_id}, as Prevent duplicate reward credits shows.

To test the chain, use Send a test postback in Integration status on the Integration tab. You pick a User ID, Status and Payout (USD), and the reward uses your current settings, including a running bonus: in the Gems example, a $1.00 test arrives as reward=200. The guide to Integration status covers that panel. Reports, Conversions shows a Reward column in your currency next to Payout in US dollars, and Build your own offerwall with an Offers API shows how to display reward_before_bonus on your own wall.

Changing your currency settings later

  • After Save changes, the wall shows new amounts at once, and steps credited from then on use the new settings. Rewards already credited do not change, and neither do their reversals.
  • The wall’s own totals (Earned today, Last 30 days, and Total earned in My rewards) add up amounts as credited, so they stay right.
  • Your users’ balances live on your server, and Sharklio never touches them. If you change what a unit is worth, decide what happens to existing balances and tell users first.
  • Each app has one currency. For a second one, add a second app; see Multiple apps in one publisher account.

If your currency also has a store price, Virtual economy design helps keep earned and bought currency in balance.

Currency setup mistakes to avoid

Recomputing rewards from {payout} instead of crediting {reward}; storing three-decimal rewards in an integer or float column; typing the rate as “1,000”; a bonus with no end date left running for weeks; and server logic that depends on the {currency} name.

Your currency on Sharklio

Sharklio is a pay-per-result affiliate network: your users earn your own currency for completed offers, and you earn per completed offer. Each app sets its own currency name and icon, conversion rate, user split, rounding, optional time-limited bonus and wall design with a live preview, and every credit and reversal reaches your server through a signed postback. See how the wall works, or get in touch with questions.

Frequently asked questions

Where do I change my offerwall currency name?

Open Apps, click Manage next to the app, change it on the Currency tab, and click Save changes. The currency icon is on the Design tab.

How is the offerwall reward calculated?

Payout × conversion rate × split to user / 100 × (1 + bonus / 100), rounded with your rounding rule. Each step is rounded on its own, and the wall shows the sum.

Is the postback reward in my currency or in dollars?

{reward} is in your currency, after rate, split, bonus and rounding. {payout} is what you earn in US dollars.

Can I pay users in dollars instead of coins?

Yes. Set the conversion rate to 1, choose Up to 3 decimals, and use $ as the name. Store balances in an exact decimal type with at least three decimals.

Why did some offers disappear after I lowered my rate?

An offer whose reward rounds to 0 is hidden. Raise the rate or choose Up to 3 decimals; the Currency tab calculator shows “0, offer hidden” for payouts that are too small.

Does a bonus lower what I earn?

No. Your payout in US dollars stays the same. Your users get more of your currency for the same earnings.

Do credited rewards change when I edit my settings?

No. New settings apply to steps credited after you save. Earlier credits and their reversals keep their original amount.