Wallet Services

Aptos Wallet Services FAQ

Note:for billing questions see our Aptos Billing FAQ.

FAQ

How do I view my API requests, errors, and latency?

On the Aptos Wallet Services page select the "API Insights" tab:

Here are some tips:

  1. Filter by key, method, and/or time range. Changing these filters re-fetches all the insights on the page. Note that wallet service keys are network agnostic as wallet-only operations are not tied to Testnet or Mainnet (e.g. creating a wallet). So, if you have a specific key you use for Testnet and Mainnet, you can filter by that key instead of the default of "All keys".
  2. Summary metrics for a quick look at your error rates. Of course, a low error rate over a long period could hide one day that had a high error-rate, so it's worth occasionally looking at the graphs below. In this case, my test account has a lot of non-rate-limit errors so I should investigate what they are.
  3. If you hover over a section of a chart bar, you'll see details about what it represents.
  4. You can click items in the legend to hide or show them.
  5. There are more graphs below! Scroll down to view error and latency insights.

What each graph shows

  1. Request count by method: This shows the count of all requests, including all errors, broken down by method name (assuming you've selected "All methods" in the filter at the top of the page).
  2. Error count by JSON RPC error code: This shows the count of requests that got a JSON-RPC error, grouped by code. If you filter the page by an individual method, e.g. wal_executeGaslessTransaction, you'll see the JSON-RPC errors you received on only that method. This graph pairs well with our Error Guide's section on the Aptos Wallet Service.
  3. Error ratio by method: This shows the JSON-RPC error ratio for each method. For example, if you sent 100 wal_executeGaslessTransaction requests in a time bucket (e.g. a day) and you got a JSON-RPC error on two of them, your error ratio would be 2% for that method in that time bucket. If you see a high error ratio it's useful to scroll up to the "Request count by method" graph to see how many of that method you sent in a time bucket: a 100% error ratio could happen if you send one request and it gets an error.
  4. Requests latency by method - P50: This shows the 50th percentile latency for each method across all of its requests, including errors. This is the latency within our system, so the latency you observe will be a little higher because of network travel time.
  5. Requests latency by method - P95: This shows the 95th percentile latency for each method across all of its requests, including errors. This is the latency within our system, so the latency you observe will be a little higher because of network travel time.
  6. Successful requests latency: This shows the 50th and 95th percentile latencies for all of your successful requests (no HTTP or JSON-RPC error). It does not group by method.
  7. Requests with non-rate-limit errors latency: This shows the 50th and 95th percentile latencies for all of your requests that got a JSON-RPC error (excluding rate-limit-errors since they have very low latency). It does not group by method.

How do I view my wallet activity (creations, active wallets)?

On the Aptos Wallet Services page select the "Wallet Insights" tab:

  1. Filter by key and/or time range. Changing these filters re-fetches all the insights on the page. Note that wallet service keys are network agnostic as wallet-only operations are not tied to Testnet or Mainnet (e.g. creating a wallet). So, if you have a specific key you use for Testnet and Mainnet, you can filter by that key instead of the default of "All keys".
  2. Summary metrics for a quick look at your activity.
  3. If you hover over a bar you'll see details about what it represents.
  4. The Active wallets graph is below.

What each graph shows

  1. Wallets created: successful wallet creations.
  2. Active wallets: We define an "Active wallet" as one that has any operation in the time range, including creation and fetching the wallet.

How do I migrate my existing users to Invisible Wallets?

You can easily create an Invisible Wallet for them behind the scenes. There's no need for them to go through any authentication again. When you create an Invisible Wallet, you associate a walletID with each of your users and use that in Invisible Wallet API requests. This can be their existing userID, or another ID you tie to their userID. Just make sure a walletID - and is associated walletSecret - never change. The steps are:

  1. Generate unique (walletID, walletSecret) pairs for each user.
  2. Make an API request to create a wallet for each user.
  3. If you are migrating from a pre-existing embedded wallet, you can create and execute a transfer transaction to move the contents to their new, Invisible Wallet.