XYZD / ARCUSBack to dashboard
Mainnet · Step-by-step setup

Your first Arcus bot session.

Sign in to XYZD, connect your Arcus trading account, then choose a market and preset. This guide follows the actual Arcus dashboard—not a developer API tutorial.

Real funds, real risk. This dashboard trades on mainnet. Automated trading can lose money. A preset does not guarantee fills, profit, or a particular cost per million (CPM).

1Before you start

  • Have an Arcus mainnet account with available trading collateral. Complete any access approval required by Arcus.
  • Desktop: use MetaMask or Rabby. Mobile: open this site in Safari or Chrome and choose Connect; MetaMask opens for approval, then return to the same browser. If it does not open automatically, tap Open MetaMask. Keep MetaMask updated. This flow does not use WalletConnect or the wallet’s built-in browser.
  • Have an XYZD access code if you are signing in with a new wallet and the dashboard asks for one. Previously admitted wallets should use the same sign-in address.
  • Check existing positions and orders on Arcus before starting. Avoid having two bots manage the same account and market.
Two separate permissions: a XYZD access code admits your sign-in wallet to our bot. It does not whitelist your trading account on Arcus or grant a reserved preset slot.

2Sign in to XYZD

  1. Open arcus.xyzd.live. Check the domain before signing or entering credentials.
  2. Select the wallet account you want to use for your XYZD dashboard in MetaMask or Rabby.
  3. Click Sign in with wallet (the initial button may say Connect wallet).
  4. If prompted, enter your unused XYZD access code. Approve the dashboard sign-in message in your wallet.
  5. Click Connect Arcus API to open Connect Arcus account. Choose one of the two methods below.

Your sign-in wallet identifies your dashboard and sessions. With manual API import, it can be different from the Arcus account that actually trades. Manual import still requires wallet sign-in to XYZD.

3AConnect with wallet

Use this route when you can sign with the wallet that owns your Arcus account.

  1. In Connect Arcus account, choose Connect with wallet.
  2. Make sure the selected wallet is the intended Arcus account owner. Review any network-switch and authorization prompts before approving.
  3. Approve the Arcus API-key registration message. This authorizes a bot API credential; it is separate from signing in to XYZD.
  4. Wait for the dashboard to finish connecting. If registration fails, read the error instead of repeatedly clicking.
  5. Continue to Start a session. A connected badge alone is not proof that the exchange will accept an order.
Never enter your wallet recovery phrase or wallet private key. The bot uses a separate Arcus API credential.

3BImport an existing Arcus API

Use this route if you already have an Arcus API key, or want to sign in with one wallet and connect a different Arcus trading account.

  1. In the official Arcus mainnet app, open its API-key management page while connected to the account you intend to trade.
  2. Create/register an API credential, or use an existing active credential whose matching private key you securely saved. Ensure it is not expired or revoked and is authorized for the intended account/subaccount. A locally generated key must be registered with Arcus before it can trade.
  3. Return to XYZD, sign in, and open Connect Arcus API or Reconnect Arcus API.
  4. Under Import existing Arcus API, complete all four fields:
Arcus main-account address

The 0x… owner address of the Arcus account you want to trade—not automatically your XYZD sign-in address.

API key / public key

The registered Ed25519 public key: 64 hexadecimal characters, optionally prefixed with 0x. Do not paste your wallet address here.

API private key · raw hex or PKCS8 PEM

The matching Arcus API private key: a 64-character hexadecimal key, or the complete PKCS8 PEM including -----BEGIN PRIVATE KEY----- and its ending line. This is not your wallet private key.

Account index

Use 0 for the main account unless you intentionally use a different Arcus subaccount. The dashboard accepts indices 0–9; your API credential must cover the selected index.

  1. Click Verify & import API once. Wait for the result and resolve any error before proceeding.
  2. Keep your API private key in secure storage. Do not put it in screenshots, chat, email, or support tickets.
  3. Continue to Start a session. If an order later receives Invalid API key, verify registration and expiry on Arcus; account data loading successfully is not sufficient proof of trading authorization.

Importing gives XYZD’s trading server the API credential needed to execute for your account. Only provide credentials on the genuine HTTPS dashboard. Some Arcus documentation examples use testnet; this bot requires mainnet credentials.

4Configure & start

  1. Click + New or Configure & start, depending on your current dashboard view.
  2. Choose Custom settings or a preset: Go To, Hulk, Guru, Apex, or Alpha v2. Presets may have capacity/access restrictions. Read the summary shown for the selected preset; not every preset supports every market.
  3. Select your asset from the market chips. Scroll inside the asset list to reveal additional markets. Apex/Alpha may select BTC automatically—check the selected chip before starting.
  4. Optionally enter Order size per tick ($). This is order notional, not the amount of margin deposited. Leave it blank to use the bot’s automatic sizing. Actual order/fill size may differ due to available margin, sizing limits, position reductions, or partial fills.
  5. For custom settings, review the visible leverage, exposure, and other controls. Higher leverage does not make a larger order risk-free. In Go To, review any stop-loss option shown before enabling it.
  6. Check the account, market, preset, and size, then click Start bot once. Wait for the result; repeated clicks do not solve connection or capacity errors.
Changing a form does not prove a running session has changed. Check the active session’s details after applying settings. Use Restart session only when you intend to restart, not as a routine refresh.

5Verify the session

  1. Check that the intended session remains running after startup—not merely that the start request was accepted.
  2. Check open orders and positions in the official Arcus account as well as the XYZD dashboard. A running process does not guarantee live orders or fills.
  3. Watch verified volume, fills, and PnL. Placing or cancelling an order is not traded volume. Allow time for the dashboard to refresh.
  4. If volume stalls, check whether the bot is holding inventory and waiting for an exit. A large 24-hour exchange-volume number does not guarantee immediate fills, especially outside the underlying asset’s regular market hours.

Reading CPM

CPM expresses cost or PnL per $1 million of executed volume. Where the dashboard displays signed net PnL per $1M, a negative value represents a loss: −$100/M means $100 lost per million. Small-volume samples can swing sharply. Check open-position PnL and any charges not included in the displayed metric before judging total account performance.

6Stop, verify, reconnect

  1. Use Stop session or Stop bot when you want execution to stop.
  2. Wait for the result, then verify both open orders and positions directly on Arcus. Do not assume a “stopped” badge means the position is flat or every order was cancelled.
  3. If cleanup or cancellation verification fails, do not launch an overlapping session. Check the remaining exposure and contact support with the error reference.
  4. To replace an API key, first stop and verify the old session. Then use Reconnect Arcus API and complete either connection method with a valid registered key.

Closing the browser is not a stop command. Do not assume signing out, closing a tab, or revoking a key closes existing positions.

Troubleshooting

Access code required / code already used

Confirm your selected sign-in wallet. Admission belongs to that address, not automatically to a different manually linked trading account. New wallets need an unused XYZD code. Contact XYZD if an admitted wallet is still blocked.

401 · Invalid API key / API reconnect required

The trading credential is being rejected. Check that the saved key is registered and active for the correct mainnet account/subaccount. Stop and verify the old session, then reconnect or import a matching active API credential. Repeatedly starting with an invalid key will not help.

403 · address not on access whitelist

This is an Arcus exchange-account access restriction. Ask Arcus to approve the trading account. A XYZD invite code or permanent preset slot cannot override it.

429 · Too Many Requests / rate limit

Stop repeated retries and wait for any stated retry interval. This can be a shared connection/request limit, not a problem with your wallet. If it persists, send XYZD the reference and time. Do not regenerate a key solely because of a 429.

Previous session orders are not confirmed cancelled

A new session is blocked because old-order cleanup could not be verified. This does not prove orders remain, but the check must not be bypassed. Inspect Arcus orders/positions and send the error reference to support.

Offline / starts then immediately stops

Check whether the page says “sign in required,” “API reconnect required,” or shows a request reference. Refresh once and sign in with the intended wallet. If the session ends again, stop retrying and send the details below; connection limits, invalid keys, and worker errors need different fixes.

Wrong wallet opens / repeated signing prompts

Check the account selected in your wallet and which extension opens. If both Rabby and MetaMask are installed, the dashboard may select Rabby. Temporarily use one enabled wallet extension, or a separate browser profile, then sign in again. Never approve a prompt for an account you did not intend to use.

Matching PKCS8 private key required

Use the Arcus API private key corresponding to the registered API public key. Paste either the complete PKCS8 PEM or a 64-character hexadecimal API private key. Do not paste a wallet seed phrase, wallet private key, public key, or account address into this field.

Preset slots are full

This is preset capacity/access, separate from account connection. Contact XYZD about the intended preset. A reserved Apex slot does not imply access to every other preset.

Orders are present, but volume is low

A post-only resting order needs another participant to trade against it. Queue position, market activity, spread, and held inventory all matter. Increasing order size or repeatedly restarting does not guarantee more fills and can increase risk.

Send useful details. Never send secrets.

Send XYZD support:

  • Your sign-in wallet address and, if different, your Arcus main-account address.
  • The market, preset, order size, and approximate time with timezone.
  • The full error text/reference and whether it appeared during sign-in, API connection, or Start bot.
  • A screenshot with all API keys, private keys, recovery phrases, and authentication details hidden.
This guide does not collect credentials. Never send private keys to support. Enter an API private key only in the genuine dashboard’s connection form.
Open Arcus dashboard