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 USDT0 / 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 powered by Thirdweb.
The app may support login methods such as:
- email;
- Google;
- Apple;
- Facebook;
- passkey.
Phone login is 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 Thirdweb wallet address used by the app session.
On production, the active wallet may be a smart-account address rather than a traditional externally owned wallet address. This is normal for the current gas-sponsored testing setup.
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 USDT0 / 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 the app's Deposit flow from the navbar wallet controls.
Deposits should use the configured Polygon USDT0 / USDT token. Do not send other assets unless the app explicitly supports them.
Before depositing, check:
- the wallet address is your active APM wallet;
- the network is correct;
- the token is correct;
- the amount is correct;
- you are not sending from an unsupported chain.
If a deposit transaction succeeds on-chain but does not appear in the app, keep the transaction hash and ask support to review it.
8. Withdrawals
Withdrawals are intended to move supported funds from the APM wallet to an external wallet.
For planned production behavior:
- Polygon withdrawals use direct ERC20 transfer;
- cross-chain withdrawals may use Thirdweb Bridge routes when supported;
- possible destinations may include Polygon USDT0 / USDT, Ethereum USDT, Arbitrum USDT, and Binance USDT, depending on what the app exposes.
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.
The chatbot cannot withdraw for you. If withdrawal fails, save the transaction hash or error message and ask support whether to review it.
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.
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 buy button. 5. Review the confirmation screen showing the market title, selected answer, Yes/No side, and amount. 6. Click Confirm or Confirm Buy Shares when the app asks you to confirm the buy. 7. Confirm any wallet prompt shown by the app wallet. 8. Wait for the screen to finish processing and finalizing. 9. Wait for the app to verify and sync the transaction.
The app should write the position only after the server verifies the transaction receipt and the expected on-chain purchase event.
If the wallet transaction is rejected, no prediction is bought.
If the chain transaction succeeds but the app does not show the position, keep the transaction hash and ask support to review it.
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 it stays stuck, if the wallet shows a successful transaction but the Dashboard does not update, or if you cannot find a transaction result, ask support and include the market, side, amount, wallet address, and transaction hash if available.
13. Prediction Amounts and Limits
Markets may enforce minimum and maximum prediction amounts.
The current contract expects 6-decimal supported tokens such as USDT0 / 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 transaction hash;
- 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, selected answer, Yes/No side, amount, and transaction hash if available.
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.
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 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, but it cannot calculate or 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. 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 the claim transaction succeeds on-chain but the dashboard does not update, keep the transaction hash and ask support to review it.
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. The smart contract remains the source of truth for on-chain token transfers and claim eligibility.
22. Activity History
Activity history shows user actions recorded by the app, such as:
- buys;
- claims;
- refunds.
If an activity row has a transaction hash, use that hash when asking support about the transaction.
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. Transaction Hashes
A transaction hash is the blockchain reference for a submitted transaction.
Support may ask for a transaction hash when investigating:
- deposits;
- buys;
- claims;
- refunds;
- withdrawals;
- missing dashboard records.
A transaction hash is safe to share with support. It is not the same as a private key or seed phrase.
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, save the transaction hash and ask support to review it.
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 transaction succeeded on-chain but the app does not show the position, ask support to review the transaction hash.
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 transaction succeeded on-chain but the app does not show the claim or refund, ask support to review the transaction hash.
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. Save any transaction hash. 7. Ask support to review the account history.
The chatbot cannot move funds, correct balances, retry sync jobs, or issue refunds. It can ask whether to pass the issue to support.
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 your records are pending, failed, missing, or inconsistent, the chatbot should not guess. It should ask whether to pass the issue to support.
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 account support records;
- ask whether to pass complex issues to support.
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 the Chatbot Should Ask to Pass You to Support
The chatbot should ask whether to pass you to support when:
- funds are missing;
- a buy failed;
- a claim or refund failed;
- a transaction succeeded but the app does not reflect it;
- a transaction hash has no matching support record;
- a sync job is pending, verified but not applied, or failed;
- records conflict with each other;
- you ask the bot to perform an action it is not allowed to perform;
- you repeatedly ask out-of-scope questions.
After you confirm that you want to be passed to support, the chatbot will ask you for a concise explanation of what happened. Support escalation is created only after you send that explanation.
Human support is available from 9:00 AM to 6:00 PM, Monday to Friday, GMT+8. If you send an escalation outside those hours, the chatbot will still record the issue and will ask you to also email support@asianpm.com with a clear explanation. Support will get back to you within 24-48 hours.
34. What to Send Support
When asking support for help, provide:
- your APM wallet address;
- the transaction hash if available;
- 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 transaction hash 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;
- destination chain is correct;
- token is supported;
- amount is correct;
- you understand blockchain transfers usually cannot be reversed.