APM User Documentation

This FAQ is the user-facing source of truth for how to participate in APM. It is written for people who have no prior knowledge of this platform, wallets, prediction markets, or the current testing setup.

Use this guide to understand how to create an account, fund your wallet, browse markets, buy predictions, track positions, claim eligible winnings or refunds, and ask support for help.

1. What APM Is

APM, Asian Prediction Market, is a prediction-market application where users can participate in markets by choosing between two possible outcomes.

In a simple market, a question has two sides:

  • Yes
  • No

Example:

  • Question: Will Bitcoin close above a certain price by a certain date?
  • You may buy Yes if you think the outcome will happen.
  • You may buy No if you think the outcome will not happen.

APM is not a bank, broker, exchange, investment adviser, legal adviser, tax adviser, or guaranteed-profit platform. Users are responsible for understanding the market, the rules, the token they use, and the risk of losing their prediction amount.

2. Production Network and Supported Token

APM runs on Polygon mainnet for production use.

The supported production token is Polygon USDT as shown inside the app. Use only the network and token displayed by APM when depositing, buying predictions, claiming, refunding, or withdrawing.

Sending unsupported tokens or using the wrong network may result in funds not appearing in the app.

3. Basic User Journey

The normal user journey is:

1. Sign in with an APM in-app wallet. 2. Add the supported token to the wallet. 3. Browse available markets. 4. Open a market detail page. 5. Choose Yes or No. 6. Enter the prediction amount. 7. Confirm the wallet transaction. 8. Wait for the app to sync the transaction. 9. Track the position in Dashboard. 10. Wait for the market to end and be resolved. 11. Claim winnings or refunds if eligible. 12. Withdraw supported funds to an external wallet when withdrawal is available for the active network.

4. Account Creation and Login

Users sign in through the APM in-app wallet flow.

The app supports these login methods:

  • Email;
  • Google;
  • Facebook;
  • passkey.

Phone, Apple, and external-wallet login are intentionally disabled.

After login, APM creates or restores an app session for the active wallet. The app session is what allows private pages such as Dashboard, Profile, and support chat to recognize the signed-in user.

If the wallet is connected but the app still looks logged out, refresh the page once. If it still does not work, open the wallet menu and sign in again.

5. Wallet Address Basics

Your APM account is tied to the active Privy APM wallet address used by the app session.

On Polygon mainnet production testing, the active APM wallet is the wallet address shown inside the app. This is the address used for APM balance, deposits, buys, claims, and withdrawals.

Use the wallet address shown inside the app when asking support about:

  • deposits;
  • predictions;
  • claims;
  • refunds;
  • withdrawals;
  • transaction sync issues.

Never share your seed phrase, private key, password, one-time code, API key, or recovery phrase with support or the chatbot.

6. Supported Tokens

The active supported token depends on the deployment network.

For production use:

  • network: Polygon mainnet;
  • token: Polygon USDT;
  • purpose: predictions, claims, refunds, and withdrawals inside APM.

Only use the token and network shown by the app. Sending unsupported tokens or using the wrong network may result in funds not appearing in the app.

7. Deposits

Use Deposit from the desktop navbar or mobile bottom navigator to open Manage Funds, then choose Deposit.

For Polygon mainnet production testing, Deposit/Wallet uses the restored guided wallet route and sends the final Polygon USDT to your active APM wallet address. Deposit/Manual shows your active APM wallet address and QR for direct Polygon USDT receive.

A wallet authorization may appear if the selected funding route needs owner approval. When the route returns control to APM, the modal shows either a submitted state or a plain failure state. If APM says the deposit was submitted and Polygon is still confirming, you may close the window; APM will update the balance when the confirmation is recorded. Only use Manual deposit for direct Polygon mainnet USDT to the APM wallet address shown by APM.

If a Deposit flow gets stuck after returning from an external wallet, ask support from the signed-in APM wallet and include what the external wallet showed. APM support should first check the user's account records, provider route status, and current balance.

Before depositing, check:

  • the wallet address is your active APM wallet;
  • the network is Polygon mainnet when using Manual deposit;
  • the token is Polygon USDT and the contract shown by APM ends with 58e8f;
  • the amount is correct;
  • you are not sending from an unsupported chain.

If a deposit succeeds outside APM but does not appear in the app, ask support from the signed-in APM wallet. Support should first check your APM account records and current balance. Tell support which deposit path you used and what the external wallet or exchange showed; do not rely on Manage Funds to expose deposit-record details. If you used manual transfer, support should confirm whether it was direct Polygon mainnet USDT, because manual deposits from another chain or token may not be recoverable.

8. Withdrawals

Use Deposit from the desktop navbar or mobile bottom navigator to open Manage Funds, then choose Withdraw. Withdrawals are intended to move supported funds from the APM wallet to an external wallet.

For Polygon mainnet production testing, the Withdraw tab sends Polygon USDT from the APM wallet to the selected EVM destination through the APM wallet withdrawal route. Manual withdrawal uses the typed destination address. Wallet withdrawal uses the connected external wallet only to fill the destination address and selected destination chain/token. If you switch accounts inside MetaMask, reconnect the external wallet in APM before previewing a deposit or withdrawal. Same-chain Polygon USDT deducts the entered amount from the APM wallet and sends the displayed net amount to the destination after the configured token fee. Wallet withdrawal can also bridge from Polygon USDT to Ethereum, Arbitrum, or BNB Chain USDT using APM-sponsored Polygon source execution. When the configured APM fee appears in Wallet Ledger, it is labelled Withdrawal gas. In Wallet Ledger, Withdrawal is the net source-side amount sent to the destination or bridge route, and Withdrawal gas is the companion APM gas/fee row; together they equal the amount deducted from the APM wallet. Cross-chain routes may receive less after bridge/provider route costs.

Withdrawal behavior depends on the active production routes shown inside the app.

Before withdrawing, check:

  • the destination wallet address is correct;
  • the destination network is correct;
  • the destination token is supported;
  • the amount is correct;
  • you understand that blockchain transfers usually cannot be reversed.
  • Any deposit or withdrawal to the wrong chain may be permanently lost.

After a successful withdrawal, APM shows a simple success screen with the amount, destination, and withdrawal method. It does not show transaction hashes to normal users.

The chatbot cannot withdraw for you. If withdrawal fails, ask support from the signed-in APM wallet and provide player-visible details such as destination wallet, destination chain/token, approximate amount, approximate time, and the visible error message.

If a withdrawal was already confirmed on-chain to the wrong address or wrong chain, blockchain transfers usually cannot be reversed by chat or APM support. Check the destination wallet or exchange on the exact chain used; support can review only the APM-side record if one exists.

9. Browsing Markets

The public app lets users browse markets from pages such as Home, Browse, and market detail pages.

Markets may be organized by categories and taxonomy paths such as topic, sector, or subtopic.

On desktop, the navbar search can show matching markets while you type. Results may match market titles, market links, categories, answer labels, or description text. Selecting a result opens that market's detail page directly. Pressing Enter or submitting the search opens Browse with the search term applied.

On mobile, use the bottom navigator Search item or the search field on Browse/Home to search available markets.

Market cards may show:

  • market title;
  • image;
  • Yes/No buttons;
  • market volume;
  • probability or current market display values;
  • favourite controls;
  • market status.

Public pages should load without requiring login. Wallet and private user information should load separately after the public page is visible.

10. Single-Answer Markets

A single-answer market is one binary question with Yes and No sides.

Example:

  • Will a specific event happen by a specific deadline?
  • Yes means you think it will happen.
  • No means you think it will not happen.

When buying a prediction, choose the side that matches your view.

11. Multi-Answer Market Groups

A multi-answer market group displays several possible answers under one topic.

Each answer is still handled as its own binary Yes/No child market.

Example:

  • Topic: Which team will win?
  • Child answer: Team A
  • Child answer: Team B
  • Child answer: Team C

Buying Yes on Team A means you are buying the binary market for Team A. Buying No on Team A means you are buying against that specific Team A outcome. It does not automatically buy every other answer.

For multi-answer markets, always check that the selected answer label is correct before confirming the transaction.

12. Buying a Prediction

To buy a prediction:

1. Open the market. 2. Select the answer or side. 3. Enter the amount. 4. Click the visible buy or Confirm Buy button. 5. The buy confirmation button starts APM processing the buy. 6. Confirm any wallet prompt shown by the app wallet. 7. Wait for the screen to finish processing and finalizing. If approval is needed, the app may approve a reusable bounded allowance before submitting the buy. 8. The buy screen should end inside the buy card with either Buy success or Buy failed to mine on chain. Your balance is not deducted. Please try again. If it fails, the card also shows a smaller technical reason that Polygon did not confirm the blockchain transaction in time, so APM did not record the buy.

The app should write the position only after the server verifies the transaction receipt and the expected on-chain purchase event.

For custodial Up/Down price markets, the prediction window can be shorter than the full round. The buy card tells you how long predictions are open from the round start, and predictions are always closed before the final seconds of the round.

If a custodial Up/Down buy is submitted just before predictions close, Polygon may confirm the transfer shortly after the visible buy button turns off. APM should still finish syncing the position when the app can verify that the buy was started before the prediction cutoff. If the round has already been cancelled before that sync finishes, APM should refund the verified transfer. If the round has already been resolved and payouts were already sent, APM treats the verified late-synced transfer as a refund-only support recovery instead of changing the settled winner or fee math. If the position or refund remains missing, ask support from the signed-in APM wallet with the market title, side, amount, approximate time, and visible status.

If the wallet transaction is rejected, no prediction is bought.

If the buy appears to succeed but the app does not show the position, ask support from the signed-in APM wallet and provide the market title, selected answer or Yes/No side, amount, and approximate time.

After a buy is confirmed, you cannot switch or edit that existing Yes/No position. If the market is still open and your balance and market limits allow it, buying the other side creates a separate position; it does not cancel or replace the earlier side.

APM can show positions on both Yes and No if you buy both sides, but they are separate stakes. The final result still decides which side is eligible for winnings. If the market is cancelled, eligible stakes are refund-based instead.

If the screen keeps loading for a long time after clicking Yes/No and entering an amount, wait briefly without closing or refreshing the page. The app may still be preparing the buy, waiting for wallet confirmation, waiting for chain confirmation, or finalizing the app record. If the buy was submitted but Polygon confirmation is still pending after the normal foreground wait, APM should unblock the card and keep checking in the background. If Dashboard does not update, ask support from the signed-in APM wallet and include the market title, selected answer or Yes/No side, amount, approximate time, and what the app showed.

13. Prediction Amounts and Limits

Markets may enforce minimum and maximum prediction amounts.

The current contract expects 6-decimal supported tokens such as USDT or USDT-style tokens.

If an amount is rejected, common causes include:

  • amount is below the minimum;
  • amount is above the maximum;
  • wallet has insufficient token balance;
  • market is closed;
  • market is already resolved;
  • unsupported network or token is active.

14. Buy Screen Loading States

When buying a prediction, the app may show loading states such as processing, preparing the buy, buying, or finalizing.

From the user's point of view, these are part of the buy flow. The user should follow the visible app prompts and wallet prompts, then wait for the buy to finish.

If the screen keeps loading for too long, do not keep clicking repeatedly. Wait briefly, then check:

  • whether the wallet shows a transaction prompt waiting for confirmation;
  • whether the wallet shows a completed, pending, rejected, or failed action;
  • whether the Dashboard position or Activity updated after the transaction;
  • whether the market is still open.

If the buy still does not complete, ask support and include the market title, selected answer, Yes/No side, amount, approximate time, and what the app showed.

15. Market Closing Time

Each market has an end time.

Before the end time:

  • users may buy predictions if the market is open and unresolved.

After the end time:

  • buying should be blocked;
  • the market waits for resolution;
  • users cannot claim until the market is resolved or cancelled.

Markets use an exact closing time. The app should display user-friendly dates and times, but the blockchain closing time is the rule.

16. Market Resolution

After a market ends, it can be resolved to one of the supported outcomes.

Possible outcomes are:

  • Yes wins;
  • No wins;
  • cancelled.

If the market is cancelled, eligible users should be able to claim a refund of their prediction amount for that market.

If a market would resolve with no winning-side shares, the contract cancels the market instead of paying an empty winning side. Eligible stakes are then refundable, and no platform fee is charged.

The chatbot cannot resolve markets and cannot change outcomes.

17. Winnings

If your selected side wins, you may be eligible to claim:

  • your original winning-side amount;
  • plus a pro-rata share of the losing-side pool after platform fees.

If your selected side loses, you normally do not receive a payout for that position.

If the market is cancelled, the flow is refund-based rather than winner-payout-based.

The general winning payout formula is:

payout = winning-side amount + ((winning-side amount x (losing-side pool - platform fee)) / total winning-side pool)

Your profit before any network, wallet, or third-party fees is:

profit = payout - winning-side amount

Example: if Yes wins, the total Yes pool is 300 USDT, the total No pool is 200 USDT, and the platform fee is 5%, the platform fee is 10 USDT from the losing No pool. The remaining losing-side pool is 190 USDT. If you staked 30 USDT on Yes, your payout is 30 + ((30 x 190) / 300) = 49 USDT. Your profit before any network, wallet, or third-party fees is 19 USDT.

The exact payout is determined by the smart contract and verified claim transaction, not by the chatbot.

18. Platform Fee

For non-cancelled resolved markets, a platform fee is taken from the losing side only.

Cancelled markets should not charge the platform fee.

The chatbot can explain the general fee concept, payout formula, and example calculations. It cannot guarantee a final payout for a specific wallet unless the approved app records already show the result.

19. Claiming Winnings or Refunds

To claim:

1. Open Dashboard. 2. Find the claimable position. 3. Click the claim or refund action shown by the app. 4. Confirm the wallet transaction. 5. Wait for the app to verify and sync the claim or refund. 6. The claim screen should end with either Claim success or Claim failed to mine on chain. Your balance is not deducted. Please try again. 7. Check Dashboard Activity for the recorded claim or refund.

You can claim only when:

  • the market is resolved or cancelled;
  • your position is eligible;
  • you have not already claimed;
  • the claim period has not expired;
  • the app and contract both allow the claim.

If a claim appears to succeed but Dashboard does not update, ask support from the signed-in APM wallet and provide the market title, claim/refund action, approximate amount, approximate time, and what Dashboard shows now. If Polygon confirmation is still pending after the normal foreground wait, APM should unblock the claim button and keep checking in the background.

20. Claim Period

The current contract includes a claim period after resolution.

Users should claim winnings or refunds promptly after a market is resolved. Waiting too long may make funds unavailable through the normal claim flow.

If you think you missed a claim window, ask support. The chatbot cannot reopen an expired claim.

21. Dashboard

Dashboard is the private user area for account-specific records.

Dashboard may show:

  • active positions;
  • claimable positions;
  • closed positions;
  • activity history;
  • favourites;
  • profit/loss style summaries;
  • total prediction amounts.

Dashboard records come from verified app database records. Normal contract markets still use the smart contract as the source of truth for on-chain token transfers and claim eligibility. Custodial Up/Down price markets use accepted price-market prediction records and payout records; a winning price-market payout may show as pending until APM submits and confirms the automatic payout from the pool wallet.

22. Activity History

Activity history shows user actions recorded by the app, such as:

  • prediction buys;
  • claims;
  • refunds;
  • pending or confirmed custodial price-market payouts.

Each activity row shows the market title first. The next row shows the action, the Yes/No side, the selected answer label when applicable, and the amount.

If an activity row looks wrong or is missing, ask support from the signed-in APM wallet and provide the visible action, market title, amount, and approximate time.

If a transaction happened on-chain but is missing from Activity, ask support to review it.

23. Favourites

Favourites are a user convenience feature for saving markets you want to revisit.

Favouriting a market does not buy a prediction, reserve a price, or change your payout.

24. Profile

Profile lets users manage user-facing identity details such as username or avatar when available.

Do not put private keys, seed phrases, passwords, API keys, or personal secrets into profile fields.

25. Support Details

APM support should first check your signed-in account records and visible app history. Players are not expected to find database IDs, raw verifier errors, stack traces, or transaction hashes that APM does not show in the UI.

When asking support for help, use player-visible details:

  • the affected action: deposit, withdrawal, buy, claim, or refund;
  • the market title when relevant;
  • the selected answer or Yes/No side when relevant;
  • the approximate amount;
  • the approximate time;
  • the APM screen and visible status or error;
  • which item you mean if support lists matching positions or activity rows.

26. Pending Transactions

A pending transaction means the wallet or blockchain has not finished processing it yet, or the app is still waiting for confirmation.

Normal steps:

1. Wait a short time. 2. Refresh the page. 3. Check wallet activity. 4. Check Dashboard Activity. 5. If it remains stuck, ask support with the affected action, market title when relevant, amount, approximate time, and visible status.

Do not submit duplicate transactions unless you understand the effect.

27. Failed Buy

A buy can fail for several reasons:

  • rejected wallet prompt;
  • insufficient token balance;
  • buy confirmation was not completed;
  • wallet confirmation was not completed;
  • wrong network;
  • wrong token;
  • market closed;
  • market already resolved;
  • transaction reverted;
  • app sync error after a successful transaction.

If the wallet transaction failed or was rejected, no prediction was bought.

If the buy appears to succeed but the app does not show the position, ask support with the market title, selected answer or side, amount, approximate time, and visible status.

28. Failed Claim or Refund

A claim or refund can fail for several reasons:

  • market is not resolved or cancelled yet;
  • position is not eligible;
  • claim was already completed;
  • claim period expired;
  • wallet rejected the transaction;
  • transaction reverted;
  • app sync failed after a successful transaction.

If the claim or refund appears to succeed but the app does not update, ask support with the market title, action, amount, approximate time, and visible Dashboard status.

29. Missing Funds or Wrong Balance

If funds appear missing:

1. Check that you are signed into the correct APM wallet. 2. Check that you are on the correct network. 3. Check that the token is supported. 4. Check wallet activity. 5. Check Dashboard Activity. 6. Note the affected action, market title if relevant, approximate amount, approximate time, and visible app status. 7. Ask support to review the signed-in account history.

When AI-only support is enabled, it can use recent support conversation context, inspect approved APM records for the signed-in user through bounded server tools, read the signed-in APM wallet funding-token balance, and flag real operational issues for internal admin review. If the player specifically asks the AI to move funds, correct balances, retry sync jobs, or issue refunds, the answer should explain that those actions require verified APM records and staff review rather than claiming the action was performed.

30. App Sync and Support Review

The app verifies blockchain activity before showing buys, claims, and refunds in your account records.

Some actions may take time while the app verifies blockchain activity.

If records are pending, failed, stale, missing, or inconsistent, the AI support agent should not guess. When AI-only support is enabled, it should explain the visible state and create or reuse an internal admin review task when the issue needs staff action.

31. What the Chatbot Can Do

The chatbot can:

  • explain how the platform works;
  • explain account and wallet basics;
  • explain how to browse markets;
  • explain how to buy predictions;
  • explain Dashboard records;
  • explain claim and refund flows;
  • explain common error messages;
  • check approved user-scoped support records through the trusted server route;
  • read the signed-in APM wallet funding-token balance when the user asks for their balance amount;
  • use recent AI support conversation context so follow-up questions can refer to earlier support turns;
  • flag complex operational issues for internal admin review when AI-only support is enabled.

32. What the Chatbot Cannot Do

The chatbot cannot:

  • buy predictions for you;
  • claim winnings for you;
  • withdraw funds for you;
  • refund funds;
  • retry failed jobs;
  • change balances;
  • resolve markets;
  • change market outcomes;
  • provide financial advice;
  • provide legal advice;
  • provide tax advice;
  • provide investment advice;
  • provide regulatory advice;
  • provide passwords, private keys, seed phrases, API keys, bearer tokens, JWTs, or one-time codes.

33. When Support Should Flag Internal Review

When AI-only support is enabled, the support agent should flag an internal admin review when:

  • funds are missing;
  • a buy failed;
  • a claim or refund failed;
  • a transaction succeeded but the app does not reflect it;
  • a player-visible action has no matching support record;
  • a sync job is pending, verified but not applied, or failed;
  • records conflict with each other;
  • a market has ended but remains unresolved for the signed-in user;
  • you ask the agent to perform an action it is not allowed to perform.

The support agent may ask a clarifying question when multiple records match. If one operational issue is clear, it may tell you the issue has been flagged for admin review. It cannot promise a resolution time or perform the action itself.

Legacy human-support handoff may still appear only where the older n8n support workflow is enabled. In the AI-only support path, the user-facing chat remains with the AI support agent while internal review tasks are handled by staff separately.

34. What to Send Support

When asking support for help, provide:

  • your APM wallet address;
  • the affected action: deposit, withdrawal, buy, claim, or refund;
  • the market title;
  • the selected answer or side;
  • the amount;
  • what you expected to happen;
  • what actually happened;
  • a screenshot if helpful.

Never send:

  • seed phrase;
  • private key;
  • password;
  • one-time code;
  • API key;
  • bearer token;
  • JWT;
  • recovery phrase.

35. Common Error Meanings

Support is unavailable right now:

  • the chatbot feature may be disabled;
  • the support workflow may be temporarily unavailable;
  • the app could not safely reach the support workflow.

Message is required:

  • the chat input was empty.

Message is too long:

  • shorten the question and try again.

Sign in from your app wallet:

  • you need an active app session before using support chat.

Market trading is closed:

  • the market end time has passed or the market is no longer open for buying.

Unsupported market or token:

  • the app is not configured to use that contract, token, or network.

We could not verify this purchase yet:

  • wait briefly, refresh, and ask support with the market title, selected answer or side, amount, approximate time, and visible status if the position remains missing.

36. Security Rules for Users

Never share secrets with anyone, including the chatbot.

APM support should never need:

  • private key;
  • seed phrase;
  • recovery phrase;
  • wallet password;
  • email one-time code;
  • 2FA code;
  • API key;
  • bearer token;
  • JWT.

If you accidentally paste a secret, rotate it where possible and stop using that exposed secret.

37. Practical Checklist Before Buying

Before buying a prediction, confirm:

  • you are signed into the correct APM wallet;
  • the market title is correct;
  • the selected answer is correct;
  • the Yes/No side is correct;
  • the amount is correct;
  • the network is correct;
  • the token is supported;
  • the market is still open;
  • you understand you can lose the prediction amount.

38. Practical Checklist Before Claiming

Before claiming, confirm:

  • the market is resolved or cancelled;
  • the Dashboard shows the position as claimable;
  • the wallet prompt is for the expected action;
  • you are using the correct APM wallet;
  • you wait for the app to sync after transaction confirmation.

39. Practical Checklist Before Withdrawing

Before withdrawing, confirm:

  • destination wallet address is correct;
  • for Manual withdrawal, the typed destination address is correct;
  • for Wallet withdrawal, the connected external wallet address and selected destination chain/token are correct;
  • token is supported;
  • amount is correct;
  • you understand blockchain transfers usually cannot be reversed.
  • cross-chain withdrawal routes can include bridge/provider route costs before funds arrive.