Machine Commerce Enabler

TLAY User Guide

TLAY lets a connected device sell what it can do, per use, by amount or by time period. Sellers manage devices and services in the operator app. Buyers pay from their own wallet in the shop. An on-chain contract holds the money in escrow, and settlement follows the metering that the device signs.

This guide follows the order in which each of the two kinds of users works. Every step has a screenshot of the current version. The apps are in English, and this guide names buttons and labels exactly as they appear on screen, for example Sign in. Click any screenshot to enlarge it.

TLAY Operator

The operator app, for sellers: device owners and their operations teams.

Manage products, devices, services, orders, disputes, earnings, firmware and team members, and receive notifications and email. You sign in with your email and password.

TLAY Market

The shop, for buyers: anyone with a wallet.

Browse services, place orders, pay, start devices, accept deliveries or dispute them, and receive order notifications. You do not register. You sign in by signing with your wallet, and you pay no network fees.

Basic concepts

ConceptName in the appWhat it is
ProductProductsA description of a kind of device (a manifest, in JSON): which actions it can perform, which parameters each action accepts, and what it measures. The device maker provides it.
DeviceDevicesA real machine. After you claim it, it belongs to your organization, and only your organization can use it.
ServiceServicesWhat a device sells: which action, at what price, and who gets paid. There are three kinds: pay for what you use, timed access and subscription.
OrderOrdersAn agreement between a buyer and a seller. The terms are fixed when the order is placed, and nobody can change them after that.
Escrow contractcontract / escrowThe buyer pays into an on-chain contract. The money does not pass through the platform and does not go straight to the seller. After delivery, the contract splits it among the parties according to the terms. The part that was not delivered goes back to the buyer.
Payout addresspayout addressThe on-chain address where a service receives money. If you use your own address, every order needs a signature from that address's key before it takes effect (see Use your own payout address).
Metering and evidenceMeasured / EvidenceThe device measures how much it delivered (for example, 618 milliseconds of running) and signs the number with the device key. Settlement uses this signed number.
Dispute and resolverDispute / resolverA buyer opens a dispute when they disagree with the delivered amount. The service terms can name a resolver (an on-chain address, usually a third party both sides trust) that decides how much was actually delivered. If there is no resolver, or the resolver does not decide in time, the buyer gets a full refund.
NotificationsNotificationsThings you need to act on or should know about: orders waiting for your signature, disputes, devices offline, deliveries waiting for acceptance, refunds and more. They show in the app and can also be sent by email.

How the money moves

Take the most common kind, pay for what you use (in the app: Pay for what you use / Metered service):

flowchart LR
  B["Buyer's wallet"] -- "Signs an authorization (no fee)" --> C["Escrow contract"]
  D["Device"] -- "Signed metering: how much was delivered" --> P["Platform checks"]
  P -- "Reports the delivered amount" --> C
  C -- "Pays for what was delivered" --> S["Seller's payout address"]
  C -- "Part not delivered" --> B
  C -- "Platform fee" --> F["Platform"]
  1. When the buyer places the order, they pay the most the order can cost (unit price × quantity ordered). The money goes into the contract.
  2. The buyer starts the device. The device runs, measures what it actually delivered, signs the measurement and reports it.
  3. The buyer accepts the delivery or disputes it within the dispute window. If the buyer does nothing, the order settles automatically when the dispute window ends.
  4. The contract pays the seller for what was actually delivered (minus the platform fee) and returns the rest to the buyer's wallet automatically.

Timed access and subscriptions differ only in steps 1 and 4. Timed access is paid in full once, and the seller is paid when access starts. A subscription prepays several periods. The seller is paid for each period when it starts, and periods that have not started are refunded if the buyer cancels.

Part 1

Sellers: start selling with TLAY Operator

A new seller goes from zero to the first payment in this order:

  • Sign in
  • Add a product
  • Claim a device
  • Create a service
  • List it
  • Handle orders
  • Withdraw

The left navigation lists, in order, Overview Notifications Products Devices Orders Disputes Services Earnings Firmware Team. At the bottom left are your name (opens your account settings), your role and Sign out. What you can do depends on your role. See Roles and permissions.

01Sign in and join a team

The operator app has no self-service sign-up. You receive an invitation link from your organization's Owner or Admin. Open it, enter your name, set a password (at least 10 characters) and click Join. You join the organization and go straight to the overview. If you already have an account with this email, enter your existing password.

The sign-in page. From then on, sign in with the email you were invited with and your password. After 5 wrong attempts in a row, the account is locked for a while.

Forgot your password: on the sign-in page, click Forgot your password?, enter the email you sign in with and click Email me a link. If that email has an account, you receive an email with a link. The link works for one hour and only once. Open it and set a new password. This signs you out on every device where you are signed in. The page does not reveal whether the email is registered.

If the platform has no email service set up, the page asks you to have your organization's Owner or Admin create a reset link on the Team page instead.
You pass on invitation links yourselfThe link created when you invite a new member shows on the page only once. Send it to the person yourself. The platform does not send invitation emails.

02Overview: what needs your attention now

After you sign in, you see Overview first. The four numbers at the top are online devices, open orders, funds held in escrow for orders, and firmware rollouts in progress. Click one to open the matching page.

Needs attention lists things that need you. Act means you need to deal with it (disputed orders, orders waiting for your signature, devices that do not meet the security policy). Check means keep an eye on it (devices offline, rollouts paused). Waiting means it is waiting for the buyer.

03Notifications and email

Things you need to act on or should know about appear in Notifications. The red number in the navigation is the unread count (it refreshes every 30 seconds). Act items need you to act: an order is waiting for your signature, an order was voided because it was not signed, a buyer opened a dispute, a dispute has a new message, a dispute is waiting for you to decide as resolver, a device has been offline for more than 10 minutes, a device does not meet the security policy, or a firmware rollout paused automatically after too many failures. Info items tell you something happened: an order was paid, an order settled, a rollout finished.

Clicking a notification marks it as read and opens the matching order, device or firmware page. "emailed" means it was also sent by email.

To choose which notifications also go by email, open your account page (click your name at the bottom left), tick each one under Email notifications and click Save email choices. By default only the ones marked urgent are emailed. The read-only role (Viewer) gets no email by default. You set this separately for each organization.

Each email has a link that opens the matching page. If the platform has no email service set up, this page tells you so, and notifications only show in the app.

04Add a product

A product describes what a kind of device can do. When you claim a device, you say which product it is, and services sell the product's actions. So the first step is to add a product.

  1. Go to Products and click New product (only Owners and Admins see it).
  2. Enter a Name (the name buyers and installers see, for example Dispenser D2).
  3. Choose the manifest file (.json) from the device maker, or paste its contents.
  4. Click Add product. The platform checks the manifest. If there is a problem, it tells you exactly what is wrong.
The product_id in the manifest becomes the product ID, and product_version becomes the first version.

The product page lists every action the latest version can perform (parameters, units, ranges, what it measures, whether it can only be used under an order) and all versions. You cannot edit a version after you publish it. To make changes, publish a new version under Versions.

The Security policy at the bottom of the product page sets the security state this kind of device must meet (secure boot, flash encryption, how keys are stored, debug port disabled and so on). Devices that do not meet it are flagged. If you choose "refused to sell or buy", they cannot trade until they meet it.

05Claim a device

Claiming makes a device belong to your organization. The device signs a one-time challenge with its own key to prove that it is the device it says it is. Go to Devices, click Add devices and follow three steps:

  1. Which device: choose the Product and enter the Module ID or serial (the module number or serial number on the device label). Optionally enter a name that is easy to recognize, for example line-2. Click Continue.
  2. Let the device sign this challenge: the page shows a challenge that is valid for 15 minutes. In the board's serial console, run the claim … command shown on the page (the page also explains how to do this for simulated devices and your own firmware). The device must be able to reach the platform.
  3. Paste what the device printed: paste the line the device printed that contains claim_proof, then click Claim the device.
On success, the page shows "Claimed". Within a few seconds the device connects to the platform and appears in the device list. On the right, For an installer on site lets you issue an installer credential (valid for 1–365 days) to someone on site, so they can claim devices without signing in to this app. Keep this credential safe, like a password.

The device page shows connection status, firmware version, security check results, the values the device reports, recent actions and events, and all orders for this device. You can run actions that are not sold under an order directly in Run an action, for debugging and day-to-day operations.

Device events marked "Signed by the device" are signed with the device's own key. Only the buyer can start an action sold under an order, so those actions do not appear here.

06Create and list a service

A service is what a device sells. Go to Services and click New service:

  1. Choose the device that delivers the service and how it is sold (How it is sold), then click Continue:
    • Metered service (pay for what you use): the buyer first pays the most the order can cost. The device measures what it actually delivers. The buyer is charged only for what was delivered, and the rest is refunded.
    • Access lease (timed access): paid in full once. The buyer can use the device a set number of times within a period.
    • Subscription: several periods are prepaid. The buyer can use the device a set number of times in each period.
  2. Enter the name, price and limits, and choose the currency you are paid in. For pay for what you use, the limits are the maximum amount per order and how many hours the buyer has to dispute. For timed access and subscriptions, they are the allowed actions, the duration and the number of uses (0 means no limit).
  3. For a pay-for-what-you-use service, also set If the buyer disputes a delivery. In Resolver's address, enter the address of a resolver both sides trust (optional). Days to decide is the resolver's deadline (3 days by default). If you leave the resolver empty and a buyer disputes, the buyer gets a full refund when the deadline passes.
  4. Enter the Payout address. Optionally add a second payee under Also pay with a percentage share, for example an installer or the site owner (timed access can have only one payee).
  5. Click Create service.
Step one: choose the device and how it is sold.
Step two (pay for what you use): "If the buyer disputes a delivery" in the middle is the resolver setting. The page shows the fee the platform charges on new orders. You cannot change the terms after you create the service. You can only publish a new version to replace them.

New services are private by default. To make one appear in the shop, click List in the marketplace in the Services list. Click Remove from the marketplace to take it down. For a fixed-price service, you can change the price under Change the price. This publishes a new version of the terms. Orders already placed keep the original price.

One card per service. In the marketplace means it is listed. Private means it is not.

07Handle orders

After a buyer places an order in the shop, it appears in Orders. You can filter by Open (in progress), Disputed and Finished.

Each row is one order: service kind, buyer address, price, amount paid and state. For what each state means, see Order states.

The order page explains one order in full: what was bought, where the money is now (paid, sent to the seller, fees, refunded to the buyer, still in escrow), the deadlines, how much each party gets after settlement, and what the device did for this order, how much it measured and whether the device signed it.

The escrow contract holds the funds. The platform does not. A pay-for-what-you-use order moves to "Awaiting acceptance" after the device reports delivery. It settles when the buyer accepts or the dispute window ends.

08Use your own payout address: sign orders

There are two kinds of payout address:

  • An address the platform holds for you (for trying things out only): the platform signs every order for you, and orders take effect right away. This suits trying things out. The safety of the money this address earns depends on the platform.
  • Your own address (required in production): the contract only accepts orders signed with this address's key. So every order waits for your signature, for up to about 10 minutes (how long the quote is valid). In that time the buyer can pay first, but the money does not leave the buyer's wallet until you sign.

Orders waiting for a signature appear at the top of Orders under Waiting for your signature, and the overview flags them in red. Check that the payees under "Who is paid" are right. Then click Sign with wallet, and review and sign in your browser wallet (such as MetaMask). Once you sign, the buyer's payment takes effect immediately.

The order page has the same signing card and deadline. If you do not sign before the deadline, the order is voided and the buyer's signed payment becomes invalid. No money is taken.
When you have many orders: the automatic signing toolOn the machine that holds the private key, run mce seller sign-orders. It automatically signs orders that match rules you set in advance (a fixed contract address, your payout address, accepted currencies, a maximum fee, a minimum price). It refuses the rest and records why. The private key never leaves that machine. The exact commands are under How you get paid on the Earnings page.

09Handle disputes

When a buyer disputes a delivery, the order state changes to Disputed, and you receive a notification and an email that quotes the buyer's reason. Open the order. The Disputed by the buyer card at the top shows:

  • The buyer's reason: the buyer's own words, written when they signed. The platform shows it only after checking that it matches the signature recorded on the chain.
  • Who decides: the resolver address named in the service terms. If none was named, the card shows "No one arbitrates".
  • Deadline: the resolver must decide before this time. If it does not, the buyer gets a full refund. Until then, the money stays in the contract.
Reply in Write to the buyer and the resolver. Both the buyer and the resolver are notified. The device run log further down the page (metering signed by the device) is the evidence the resolver uses to decide.
What the seller can do in a disputeReply to explain and provide evidence. Under the contract rules, the seller cannot change the outcome or issue a refund. Only the resolver can decide where the money goes, or it all goes back to the buyer when the deadline passes. To avoid a full refund when nobody decides, name a resolver when you create the service (see Create and list a service).

10Decide disputes as a resolver

If your organization resolves disputes for other people's services (or a seller names their own organization as resolver), use the Disputes page:

  1. Under Addresses you decide as, click Add the address of my wallet. Your wallet asks you to sign a statement (it moves no money) to prove the address is yours. The resolver address in the service terms must be this address.
  2. After that, every dispute whose terms name this address appears under Disputes to decide, and you are notified about new disputes.
  3. Open a dispute. Review the buyer's reason, the messages from both sides, the amount ordered and the amount reported as delivered, and the metering records signed by the device. You can leave messages for the buyer and the seller.
  4. Under Decide, enter the delivered amount you accept (0 means a full refund, and the most is the amount ordered) and click Decide with wallet. The decision is an on-chain transaction sent from this address itself, so the wallet needs a small amount for network fees. Once the transaction confirms, the order settles at this amount and the rest goes back to the buyer.
Only disputes for registered addresses appear here. You can remove an address at any time.
The page works out how much the buyer pays at this amount. Check it before you click to decide. Once the decision is on the chain, it cannot be changed.

11Earnings and withdrawals

After an order settles, the contract records what each payee is owed. Earnings lists, by payout address, total earnings and the amounts still in the contract waiting to be sent.

Click Send to 0x… to send the waiting amount to that payee's own address. The platform pays the network fee, and the money can only go to the payee's own address. Payees can also withdraw from the contract directly themselves.

12Firmware releases and staged rollouts

Devices only install firmware signed by a publisher key they trust. To publish a release:

  1. Before your first release, register your publisher public key under Register a publisher key. The private key always stays on the signing machine.
  2. Sign the firmware with mce firmware sign on an offline machine. Then upload the signature file (.json) and the firmware image (.bin, up to 4 MiB) under Add a release.
  3. Under Releases, click Roll out for that release, set how the rollout runs and click Start rollout.
Each rollout shows the current batch, how many devices finished and failed, and when the next batch starts. You can Pause, Resume or Cancel it.
You can choose all devices or only some, and push in batches at a pace such as 1% → 10% → 50% → all. The rollout pauses automatically when the failure rate goes above the threshold. A device that cannot start the new firmware goes back to its previous version automatically.
No confirmation stepA rollout's Cancel takes effect as soon as you click it. Be sure before you click.

13Team and account

Owners and Admins invite members in Team: enter an email, choose a role and click Create invitation link. Send the link that appears to the person. It is shown only once. For existing members, you can change the role, create a password reset link or remove them from the organization. You can revoke unused invitations.

"Remove from …" and "Revoke" have no confirmation step.
Click your name at the bottom left to open your account page. There you can change your name and password, choose which notifications are emailed, and switch between the organizations you belong to.
Part 2

Buyers: buy and use services in TLAY Market

You do not need an account to buy. You only need an ordinary wallet (such as MetaMask) with the stablecoin you will pay with. As a buyer, you only sign in your wallet and never send a transaction, so you do not need coins for network fees.

  • Browse services
  • Connect a wallet
  • Place an order
  • Sign the payment
  • Start the device
  • Accept the delivery
  • Get the rest back automatically

01Browse services

The shop's home page lists every service that is listed. You can search, show only services whose device is online now, or filter by kind: Pay for what you use, Timed access and Subscription.

Each card shows the price, the limits, whether the device is online, and the kind.

Open a service to see how it works and which device is behind it (whether it is online, whether it meets the seller's security policy, and its on-chain identity). You also see all the terms you agree to: price, limits, what happens in a dispute, which currency you pay in and who gets paid. These terms are fixed in your order exactly as shown, and the seller cannot change them later.

For a pay-for-what-you-use service, the "If you dispute" row says who decides a dispute. If a service has no resolver, you get a full refund when a dispute times out.

02Connect a wallet

Click Connect wallet at the top right or in the order panel. Your wallet asks you to sign a sign-in message that says "Signing this moves no money". This signature does not touch your money. You stay signed in for 7 days. Only the wallet that paid can see its orders. Click Disconnect to sign out.

Once you connect, your wallet address shows at the top right, and you can enter a quantity in the order panel.
Smart contract wallets are not supported yetFor now, you can only sign in with an ordinary wallet (EOA).

03Place and pay for an order

  1. For a pay-for-what-you-use service, enter How much, the most you want in this order (for example 1000 milliseconds). The page shows "You pay in at most …", the most you will spend. Timed access and subscriptions show the total price directly.
  2. Click Continue. You have not paid yet. This only creates the order and holds the price for you for a while (the page shows the deadline).
  3. On the order page, click Pay … and sign a payment authorization in your wallet. The authorization is valid only for this order and this amount. The platform pays the network fee.
For pay for what you use, you pay the most the order can cost. Whatever the device does not deliver is refunded.

Some sellers use their own payout address and confirm each order themselves. In that case, after you sign the payment, the order shows Waiting for the seller. Your payment is signed and ready, and the money has not left your wallet yet. If the seller does not confirm before the deadline, the order is voided and your signature becomes invalid. No money is taken.

Order limitsEach wallet can have at most 5 unpaid orders at a time. Pay one or let it expire before you place a new one. You cannot buy services sold at a seller's quoted price in the shop yet.

04Start the device

After the payment confirms on the chain (usually within a few seconds), the order becomes Paid or In use, and Use it appears on the page. For a pay-for-what-you-use order, enter the amount for this run (no more than the amount ordered) and click Start: ….

A pay-for-what-you-use order can run only once, up to the amount ordered. If the device is offline, you can still place the order and start the device when it comes back online. The order page refreshes automatically every few seconds.

05Accept the delivery or dispute it

When the device finishes, the order becomes Delivered. Check the delivery on the page shows three numbers: the amount actually delivered, what you pay and what you get back. The delivered amount comes from the device's own signed measurement.

For example, you order 1,000 ms and the device runs for 618 ms. You pay only for 618 ms, and the rest is refunded.
  • All good: click Accept the delivery and sign in your wallet. The order settles immediately.
  • Something is wrong: click Something is wrong, describe the problem (up to 500 characters) and click Sign and dispute. The money stays frozen in the contract. If the service names a resolver, the resolver decides how much was actually delivered. If there is no resolver, or the resolver does not decide within the deadline (shown on the service page, often 3 days), you get back everything you paid.
  • Do nothing: when the dispute window ends (shown on the page, for example 5 minutes), the order settles automatically at the delivered amount.
To dispute, you write a reason and sign in your wallet.
After settlement, the platform sends the unused money from the contract straight back to your wallet, with no fee.

After you dispute, Your dispute appears on the order page. It shows the reason you wrote, who decides, the deadline, and messages from the seller and the resolver. You can reply below, and they are notified. After a decision, or a refund at the deadline, the settlement result shows here.

The seller's replies also appear in your notifications. If you gave an email address, you also get an email.

06Timed access and subscriptions

Timed access is paid in full once. You can start the device a set number of times within a set period. The order page shows the uses left and when access ends. To end early, click End access now, confirm and sign. Ending early gives no refund.

A Subscription prepays several periods. You can use the device a set number of times in each period. When each period starts, that period's payment goes to the seller. You can cancel at any time with Cancel subscription. Periods that have not started are refunded. The current period is not refunded, and you can keep using it until it ends.

Timed access: "5 of 5 uses left · until …" shows the uses left and when access ends. The seller gets the money for this order as soon as you pay.
Subscription: shows the uses left in this period and when this period ends.

07Notifications and email

After you connect a wallet, Notifications in the header shows this wallet's unread count. You are notified about deliveries waiting for acceptance (with a deadline), settled orders and refunds, expired orders, and replies from the seller or the resolver in a dispute. Click a notification to open the order and mark it as read.

To get email, enter your address under Email me on the right of the notifications page and click Send me a link. Then open the link in the email and click Confirm my email address (the link works for 24 hours). Emails go to this address only after you confirm. To stop them, click Stop emails.

The email address is used only for this wallet's order notifications.
To confirm, you click the button on the page. An email program that opens the link in advance does not count as confirming.

08My orders and refunds

My orders lists all orders for the current wallet, newest first. Open any order, and Your money on the right shows how much you paid, how much went to the seller, how much was refunded and how much is still in escrow.

After the order settles, refunds go back to the wallet that paid, automatically. You do not need to do anything, and there is no fee.
Reference

Order states

Sellers and buyers see different state names for the same order. Each seller state matches one buyer state:

Seller seesBuyer seesMeaningWho does what next
Awaiting fundingWaiting for paymentThe order exists, but the money is not in the contract yetThe buyer pays. If the service uses the seller's own payout address, the seller must also sign (meanwhile the buyer sees Waiting for the seller).
FundingConfirming paymentThe payment is confirming on the chainWait a few seconds
ReadyPaidThe money is in the contractThe buyer starts the device
ActiveIn useThe service is in progressThe buyer uses it, and the device meters it
Awaiting acceptanceDeliveredThe device has reported the delivered amountThe buyer accepts or disputes. If the buyer does neither, the order settles automatically after the dispute window.
DisputedDisputedThe buyer disputed, and the funds are frozenThe resolver decides. If time runs out, the buyer gets a full refund.
ClosedFinishedSettledThe seller sends out earnings in Earnings. The buyer's remaining money is refunded automatically.
ExpiredExpiredNot paid or not delivered before the deadlineAny money paid goes back to the buyer
CancelledCancelledCancelled before paymentNothing

Roles and permissions (operator app)

What you can doOwnerAdminOperatorViewer
View all pages✓✓✓✓
Run device actions, create and list services, change prices, sign orders, send out earnings✓✓✓—
Reply in disputes; register resolver addresses and decide disputes (the wallet must hold that address)✓✓✓—
Choose which of your own notifications are emailed✓✓✓✓
Upload firmware, start and pause rollouts✓✓✓—
Claim devices✓✓Needs an installer credential—
Add products, publish versions, set security policies, issue installer credentials✓✓——
Invite members, change roles, create password reset links, remove members✓✓ (cannot change the Owner)——
Name a new Owner✓———

The platform makes the final decision on permissions. The app only hides the actions you cannot take. If you see "Your role does not allow this.", your current role cannot do this. Contact your organization's Owner or Admin.

FAQ and current limits

Sellers

  • Not getting emails? First check that this kind of notification is ticked under Email notifications on your account page (by default only urgent ones are emailed). Then check your spam folder. If that page says the platform has no email service set up, notifications only appear on the Notifications page.
  • A buyer disputed. Can I refund them directly or charge less? You cannot change the outcome yourself. The resolver decides where the money goes, or it all goes back to the buyer at the deadline. What you can do is reply on the order and provide evidence.
  • Why is the Disputes page empty? It only lists disputes that your organization must decide as a resolver. Disputes on your own orders are on those order pages.
  • An order stays at Awaiting funding? The buyer may not have paid yet. If the service uses your own payout address, the order may also be waiting for your signature. Check Waiting for your signature at the top of Orders. If you do not sign within about 10 minutes, the order is voided.
  • Claiming a device failed? The challenge is valid for 15 minutes. If it expired, click Start again. You must paste the whole line the device printed that contains claim_proof. The device must be able to reach the platform.
  • I changed the price. Do old orders change? No. Changing the price publishes a new version of the terms. Existing orders follow the terms from when they were placed.
  • Which actions have no confirmation step? Cancelling a rollout, removing a member and revoking an invitation all take effect immediately.

Buyers

  • Do I need coins for fees? No. You only sign in your wallet, and the platform sends the on-chain transactions for you. Your wallet only needs the coin you pay with.
  • I paid, but the device did not deliver? Every pay-for-what-you-use order has deadlines to start and to deliver (shown on the seller's order page). If nothing is delivered by the deadline, the order expires automatically and the money you paid goes back to your wallet.
  • How long until a dispute is decided? If the service has a resolver, it depends on when the resolver decides, at the latest by the deadline on the order page. If there is no resolver, you get a full refund at the deadline.
  • Not getting the confirmation email? Check your spam folder. After one minute, you can send it again from the notifications page.
  • Can I use a pay-for-what-you-use order in several runs? No. A pay-for-what-you-use order can run only once, up to the amount ordered. If you need several uses, choose timed access or a subscription.
  • Why can't I connect my wallet? Only ordinary wallets are supported for now, not smart contract wallets. Also, if there are too many sign-ins from the same network location in a short time, sign-in is limited for a while. Wait a few minutes and try again.