For the complete documentation index, see llms.txt. This page is also available as Markdown.

FAQ & Troubleshooting

FAQ and Troubleshooting

Issuers · Investors · Developers · Compliance · Error Resolution

Answers to the most common questions about the RWA Tokens platform — the institutional infrastructure operated by Groovy Company, Inc. — organized by audience. The Troubleshooting section provides step-by-step error resolution for every Transfer Hook error code and common operational issue across all three production modules: Module 1 (Equities), Module 2 (Real Estate), and Module 3 (CORECM — Carbon Ore, Rare Earth, and Critical Minerals).


Table of Contents

Part 1 — Frequently Asked Questions

  1. Platform Overview

  2. For Investors

  3. For Issuers

  4. For Developers

  5. Regulatory and Compliance

  6. GROO Utility Token

  7. Module 2 — Real Estate Specifics

  8. Module 3 — CORECM Specifics

Part 2 — Troubleshooting

  1. Transfer Hook Error Code Reference

  2. CEDEX Trading Issues

  3. Wallet and Connection Issues

  4. Oracle and System Issues

  5. SDK and API Issues


Part 1 — Frequently Asked Questions


1. Platform Overview

Q: What is RWA Tokens?

RWA Tokens is global institutional infrastructure for tokenizing real-world assets as ST22 Digital Securities on Solana. The platform is operated by Groovy Company, Inc. and currently serves three production modules: Module 1 (Equities — OTC microcap, NASDAQ, AMEX, TSX, and global exchanges), Module 2 (Real Estate — single-asset entities), and Module 3 (CORECM — Carbon Ore, Rare Earth, and Critical Minerals). The platform provides a nine-layer architecture with 42 immutable Transfer Hook security controls plus module-aware extensions, a permanently locked Global Unified CEDEX Liquidity Pool, and real-time Ed25519 custody attestation from Empire Stock Transfer — the SEC §17A-registered qualified custodian.

Q: What is an ST22 Digital Security?

An ST22 Digital Security is a token on Solana (SPL Token-2022 standard) representing direct beneficial ownership in the underlying issuer's equity. The asset class held in custody varies by module: Common Class B shares (Module 1), single-asset entity (SAE) equity (Module 2), or basin-asset entity (BAE) equity (Module 3). Each ST22 token is backed 1:1 by the underlying equity unit, held in irrevocable custody at Empire Stock Transfer. ST22 tokens are classified as Category 5 Digital Securities under SEC Release No. 33-11412 (March 17, 2026).

Q: What is CEDEX?

CEDEX (Compliant Exchange for Digital Securities) is the exclusive trading venue for ST22 tokens, available at cedex.market. It is the only exchange that preserves all 42 Transfer Hook security controls plus module-aware extensions on every trade. CEDEX combines Web2-grade order matching with Web3-grade Solana settlement. Trading operates 24/7/365 across all three modules through a single venue.

Q: Why can't ST22 tokens trade on Raydium, Jupiter, or other DEXs?

External DEXs call the original SPL Token Program — not SPL Token-2022. This bypasses the Transfer Hook entirely, disabling all 42 security controls including custody verification, OFAC/SDN screening, AML scoring, accreditation checks, holding period enforcement, and the module-aware extensions (Module 2 NAV-deviation, Module 3 federal-action freeze). Without these controls, ST22 tokens would become non-compliant securities. CEDEX was purpose-built to solve this problem (see ADR-002).

Q: What is the Global Unified CEDEX Liquidity Pool?

A single protocol-owned capital reserve shared by all ST22 issuers across all three modules. LP tokens were burned at initialization — meaning withdrawal is mathematically impossible (no withdrawal function exists in the code, the code is immutable, and Certora Prover formally verified this property — invariant E.3). Every new issuer inherits immediate secondary market depth. Every trade deepens the pool via a 0.44% fee allocation.

Q: What happens to my tokens if Groovy Company, Inc. goes out of business?

The underlying equity (Common Class B shares for Module 1, SAE equity for Module 2, BAE equity for Module 3) remains in Empire Stock Transfer's irrevocable custody regardless of Groovy Company's status. Empire is an independent, SEC §17A-registered entity. Your direct equity ownership claim is protected through the Certificate of Designation. Protective conversion triggers (Controls PC-35 to PC-38) automatically convert the underlying equity to common stock or platform-arbitrated successor equity upon material adverse events including loss of platform services.


2. For Investors

Q: Who can invest in ST22 Digital Securities?

ST22 tokens are issued under three regulatory regimes:

  • Reg D — US accredited investors (income, net worth, or professional certification thresholds).

  • Reg S — non-US persons (offshore transactions only).

  • Reg CF — US retail crowdfunding through a FINRA-registered funding portal partnership.

All investors must complete KYC, KYB (where applicable), AML, and OFAC/SDN verification through Empire Stock Transfer regardless of regime.

Q: How do I become a verified investor?

Complete the verification process through the platform portal, which routes to Empire Stock Transfer's verification dashboard. You will need government-issued photo ID, proof of address, and — for Reg D — proof of accreditation (income documentation, net worth verification, or professional certification). Entity investors need formation documents and Ultimate Beneficial Owner identification at the ≥25% threshold. Module 3 onboarding includes enhanced beneficial-ownership depth given the strategic-minerals nature of the asset class.

Q: What is the holding period?

Three regimes, each enforced on-chain by Transfer Hook Control HP-24:

  • Reg D (US accredited): 6 months — Rule 144 underpinning.

  • Reg S (non-US): 12 months — Regulation S distribution compliance period.

  • Reg CF (US retail crowdfunding): 12 months.

These periods cannot be shortened, bypassed, or overridden by anyone, including Groovy Company, Inc. The timer starts at the moment tokens are delivered to your wallet.

Q: How do I check when my holding period ends?

Via the CEDEX portfolio dashboard at cedex.market, or via the API:

Q: What is the wallet limit?

The default per-wallet cap is 4.99% of any ST22 token's total supply (4.99% applies to Module 1 and Module 3). Module 2 issuers may configure a higher per-mint cap — up to 9.99% — when warranted by the underlying property's structure. The cap is recorded in the SecurityConfig at mint initialization. Transfer Hook Control PL-16 enforces this on every transfer — if your post-transfer balance would exceed the configured cap, the transaction is rejected with Error 6020 (WalletLimitExceeded).

Q: What are the trading fees?

5% total per trade (500 basis points), distributed automatically on-chain identically across all three modules: 2% to the issuer treasury, 1.5% to GROO staking pool, 1.06% to protocol operations, 0.44% to the Global Pool (permanently locked). Fees are deducted from each trade — they are not charged separately.

Q: What wallet do I need?

Any Solana-compatible wallet that supports SPL Token-2022 tokens. Phantom, Solflare, Backpack, Coinbase Wallet, and Ledger are recommended. Your wallet must be registered with Empire Stock Transfer (KYW — Know Your Wallet) before you can receive ST22 tokens.

Q: What payment methods are accepted?

All ST22 purchases are settled via GENIUS Act-compliant stablecoins: USDC (Circle) or PYUSD (PayPal/Paxos). No fiat wire transfer. No SOL or other cryptocurrency.

Q: What are circuit breakers?

Automated trading halts modeled on traditional exchange mechanisms (NYSE Rule 80B). Cross-module variants:

  • Price halt: price moves >10% in 5 minutes → 15-minute cooldown.

  • Price impact: a single trade would cause >2% impact vs the TWAP → trade blocked.

  • Volume halt: a single wallet sells >30% of circulating supply in 24h → 24-hour wallet suspension.

  • Oracle failure: custody attestation stale → all transfers halt.

Module 2 adds a NAV-deviation variant: when on-chain price deviates from NAV beyond the configured tolerance (default 22%), trades are blocked under Error 6021 (NAV variant). Module 3 adds federal-action freeze under Control 42 when the Classification oracle reports an active federal action affecting the basin asset.

These protections operate at the smart contract level — there is no administrative override.

Q: Can I lose my tokens?

Your tokens are in your Solana wallet — you control them. However, you must safeguard your wallet private key and seed phrase. If you lose your seed phrase, there is no recovery mechanism (Groovy Company, Inc. cannot access your wallet). Transfer Hook controls protect against market manipulation and fraud, but they do not protect against loss of wallet access.


3. For Issuers

Q: What does tokenization cost?

One-time minting fee, tiered by market cap and module: $1,000–$25,000 (Module 1 Equities), $5,000–$50,000 (Module 2 Real Estate, reflecting the SAE setup), $10,000–$75,000 (Module 3 CORECM, reflecting the BAE setup and enhanced compliance overhead). No exchange listing fee. No market maker fee. No ongoing platform fee (the 5% trading fee is paid by traders, not issuers). Legal documentation costs vary based on issuer counsel.

Q: How long does onboarding take?

Approximately 8–12 weeks from application to live CEDEX trading for Module 1. Module 2 typically adds 2–4 weeks for the single-asset entity formation and conversion (often Nevada LLC → Nevada corporation). Module 3 typically adds 4–6 weeks for the basin-asset entity formation and the enhanced classification verification with USGS / DOE / Federal Register baselines. The primary variable is legal documentation preparation, which depends on issuer counsel responsiveness.

Q: What does the issuer earn from secondary trading?

2% of every CEDEX trade flows automatically to the issuer's designated treasury wallet. At $1M daily volume, the issuer earns $20,000/day in passive fee revenue. This is on-chain and automatic — no action required. Identical mechanics across all three modules.

Q: Do we need a market maker?

No. The Global Unified CEDEX Liquidity Pool serves all issuers across all three modules simultaneously. Protocol-owned. LP burned. No market maker required, no market maker fees, no risk of market maker withdrawal.

Q: Do we need blockchain developers?

No. The platform handles all blockchain infrastructure. The issuer's technical involvement is zero. You provide corporate authorization and equity — the platform provides the technology.

Q: What corporate actions are required?

Module
Required Corporate Actions

Module 1 — Equities

Board resolution authorizing Common Class B share creation; Certificate of Designation filed with the Secretary of State of your jurisdiction of incorporation; tripartite agreement with Groovy Company, Inc. and Empire Stock Transfer.

Module 2 — Real Estate

Single-asset entity (SAE) formation (typically Nevada corporation following Nevada LLC → corporation conversion) holding the underlying property; SAE board resolution; Certificate of Designation for SAE equity; appraiser engagement; tripartite agreement.

Module 3 — CORECM

Basin-asset entity (BAE) formation holding the basin asset or mining concession; BAE board resolution; Certificate of Designation for BAE equity; enhanced beneficial-ownership documentation; USGS / DOE classification baseline; tripartite agreement.

Templates are provided; your counsel customizes them.

Q: What happens if our SEC reporting lapses (Module 1)?

Transfer Hook investor verification controls (IV-12 in particular) monitor issuer eligibility via the EDGAR oracle. If SEC registration lapses or an enforcement action is detected, ST22 transfers may be halted for the affected mint until the condition is resolved. EDGAR oracle coverage applies only to Module 1.

Q: Can we create more tokens later?

Additional ST22 tokens can only be minted if additional underlying equity (Common Class B for Module 1, SAE equity for Module 2, BAE equity for Module 3) is deposited with Empire Stock Transfer. Token supply always equals 1:1 with the custodied balance. The custody oracle verifies this on every Solana block (~400ms).


4. For Developers

Q: How do I integrate with CEDEX?

Three options: the TypeScript SDK (@rwatokens/sdk), the REST API (api.cedex.market/v1), or WebSocket streams (wss://api.cedex.market/ws/v1). See the SDK Reference and CEDEX API Reference for complete documentation.

Q: What SDK is available?

The SDK provides typed clients for Transfer Hook operations, CEDEX trading, portfolio queries, oracle monitoring (including module-specific NAV oracle for Module 2 and Classification oracle for Module 3), and WebSocket subscriptions. Full TypeScript support with JSDoc documentation.

Q: How do I simulate a transfer without executing it?

Or via the API:

Q: How do I derive PDAs for platform accounts?

Full PDA registry in Network Configuration.

Q: Can I build a frontend for ST22 tokens?

Yes, but all trades must route through CEDEX. A custom frontend can display market data, portfolio information, and order history via the CEDEX API. However, the Transfer Hook ensures compliance regardless of which frontend is used — compliance is enforced at the Solana runtime level, not the application layer.

Q: How do I handle Transfer Hook errors programmatically?

Q: What is the Anchor IDL?

The Anchor Interface Description Language files define the program instruction schemas, account types, and error codes. Available at:

Or fetch directly from on-chain: anchor idl fetch <PROGRAM_ID>.

Q: How do I subscribe to real-time custody attestations?

Module 2 NAV oracle and Module 3 Classification oracle have dedicated channels (nav and classification respectively) — see CEDEX API Reference for full WebSocket channel listing.


5. Regulatory and Compliance

Q: Are ST22 tokens securities?

Yes. ST22 tokens are Category 5 Digital Securities under SEC Release No. 33-11412 (March 17, 2026). The platform embraces securities classification under Category 1 Model B — not an avoidance strategy.

Q: What is Category 1 Model B?

The SEC framework (January 28, 2026 Joint Staff Statement) for compliant tokenization where the issuer directly authorizes tokenization, DLT is used in official shareholder records, and a regulated custodian holds the backing assets. The platform satisfies all 7 requirements across all three modules.

Q: Who handles investor verification?

Empire Stock Transfer is the sole investor onboarding authority for all ST22 issuers across all three modules. Empire performs KYC (individuals), KYB (entities), AML (Chainalysis KYT + TRM Labs), OFAC/SDN screening, and wallet verification (KYW). Groovy Company, Inc. does not perform investor onboarding.

Q: How does OFAC screening work?

Three-layer screening on every transfer (not just at onboarding): Layer 1 — exact wallet address match. Layer 2 — fuzzy entity name matching. Layer 3 — 2-hop graph clustering (catches proxy wallets). The SDN list is refreshed hourly with emergency push capability.

Q: What happens if my wallet gets flagged by OFAC after onboarding?

Sanctions controls (SC-30 to SC-32) re-screen every wallet on every transfer. If your wallet is added to the SDN list after onboarding, your next transfer attempt is blocked immediately (Error 6003 or 6004). Contact compliance@rwatokens.net.

Q: What is the regulatory freeze (Control 42)?

An immediate halt of all transfers on a specific mint, authorized by Legal Counsel + 3-of-5 multi-sig. Used for SEC enforcement actions, court orders, active exploit containment, OFAC emergency designations, or — for Module 3 — federal action under the federal-action variant. No timelock — executes immediately.


6. GROO Utility Token

Q: Is GROO a security?

No. GROO is a Utility Token — NOT an STO, NOT a security, NOT backed by shares. GROO and ST22 are distinct token classes with entirely different regulatory frameworks. GROO funds the Solana Treasury (which seeds the Global Pool). Under Release No. 33-11412, GROO is classified as either Category 1 (Digital Commodity) or Category 3 (Digital Tool) — explicitly not a security.

Q: How is GROO different from the Groovy Security Token (STO)?

GROO Utility Token
Groovy Security Token (STO)

Classification

Utility token (Category 1 or Category 3)

Security (Common Class B share offering)

Issuer

Groovy Company, Inc.

Groovy Company, Inc.

Distribution

Deterministic linear bonding curve, starting at 0.000001 SOL

$20M Reg D raise

Purpose

Ecosystem utility (governance, staking, fee tiers)

Equity in the platform operator

Backed by shares?

No

Yes — Common Class B of Groovy Company, Inc.

Q: What does GROO do?

GROO provides ecosystem utility: governance voting rights, staking rewards (1.5% of all CEDEX trading fees distributed to stakers), platform feature access tiers, and Solana Treasury funding (which seeds the Global Pool). It does not represent equity ownership in any company.

Q: Can I stake GROO?

Yes. GROO staking earns a share of the 1.5% staking allocation from all CEDEX trading fees. Staking tiers unlock additional platform features including fee discounts, enhanced analytics, and governance voting weight.

Q: When does the GROO ICO happen?

There is no ICO at launch. GROO distribution operates via a deterministic linear bonding curve starting at 0.000001 SOL. No pre-sale, no founder allocation, no treasury reserve. A Scale phase Dutch auction is governance-decided, not currently scheduled.


7. Module 2 — Real Estate Specifics

Q: What is the NAV oracle?

The NAV oracle is a Module 2-specific on-chain account holding the most recent appraised Net Asset Value for a Module 2 mint. Updated by an authorized appraiser at the per-mint reappraisal cadence. Ed25519 signed. Powers the CB-21 NAV-deviation circuit-breaker variant.

Q: What is the NAV deviation tolerance?

Default 22% (2200 basis points), configurable per mint at initialization. When the on-chain price deviates from the most recent NAV by more than the configured tolerance, transfers on the affected mint are blocked with Error 6021 (NAV variant). Trading resumes automatically when the deviation falls back within tolerance — typically after a fresh appraisal.

Q: How often is NAV refreshed?

The reappraisal cadence is set per mint in the SecurityConfig (nav_reappraisal_max_age_secs). Default cadence is 90 days, but the cadence is established by tripartite concurrence among three parties: the SAE issuer, the authorized appraiser, and Empire Stock Transfer. If the NAV oracle becomes stale beyond the configured threshold, transfers are paused until a fresh appraisal is published.

Q: What is a single-asset entity (SAE)?

A single-purpose legal entity (typically a Nevada corporation following a Nevada LLC → corporation conversion) holding a specific real-property asset. The SAE is the issuer of the Module 2 ST22 token. SAE equity is the underlying instrument backing the token; it is held in irrevocable custody at Empire Stock Transfer. Each Module 2 mint corresponds to one SAE corresponding to one underlying property.

Q: Can a Module 2 mint have a higher per-wallet cap than the 4.99% default?

Yes. Module 2 issuers may configure a per-wallet cap up to 9.99% when warranted by the underlying property's structure (for example, a smaller property where a single qualified institutional investor is appropriate). The cap is recorded in SecurityConfig at mint initialization and enforced by Control PL-16.


8. Module 3 — CORECM Specifics

Q: What is the Classification oracle?

The Classification oracle is a Module 3-specific on-chain account holding USGS Critical Minerals List status, DOE Critical Materials Strategy classification, Section 232 applicability, DPA Title III applicability, and federal-action active flag for a Module 3 mint. Updated by the authorized Classification relay monitoring USGS, DOE, and the Federal Register. Powers the REG-42 federal-action freeze variant.

Q: What is the federal-action freeze?

When the Classification oracle reports an active federal action affecting the basin asset (for example, a Section 232 designation, DPA Title III invocation, or executive-order-driven export restriction), transfers on the affected mint are automatically frozen within the platform's 60-minute SLA. Other Module 3 mints not subject to the same action remain tradeable. Trading resumes automatically when the action lifts.

Q: What is a basin-asset entity (BAE)?

A single-purpose legal entity holding a specific mineral basin or mining concession. The BAE is the issuer of the Module 3 ST22 token. BAE equity is the underlying instrument backing the token; it is held in irrevocable custody at Empire Stock Transfer. Each Module 3 mint corresponds to one BAE corresponding to one underlying basin asset.

Q: What federal frameworks apply to Module 3?

The platform tracks the following frameworks through the Classification oracle: USGS Critical Minerals List, DOE Critical Materials Strategy, Section 232 of the Trade Expansion Act of 1962, Defense Production Act (DPA) Title III, IRA critical minerals provisions, Executive Order 14017 on America's Supply Chains, and the Energy Act of 2020 (Title VII).

Q: How are federal actions detected?

The Classification relay monitors three primary upstream sources: USGS publications, DOE Critical Materials Strategy updates, and the Federal Register. When a federal action affecting an active basin asset is detected, the relay updates the on-chain Classification oracle. The Transfer Hook then reads the updated oracle on the next transfer and applies the federal-action freeze. Detection-to-freeze SLA: ≤60 minutes.


Part 2 — Troubleshooting


9. Transfer Hook Error Code Reference

Every Transfer Hook error has a specific cause and resolution. When a transfer is rejected, the error code identifies exactly which control failed. Module-aware error variants (Module 2 NAV-deviation on 6021; Module 3 federal-action on 6042) surface through the details.variant field on the error.

Custody Errors (6001–6002)

Code
Name
Cause
Resolution

6001

CustodyDiscrepancy

Token supply exceeds the custodied balance held by Empire

System-level. All transfers halted automatically. Wait for 2-of-3 oracle consensus to resolve. This has never occurred in production. If you see this, a P0 incident is already in progress.

6002

CustodyOracleUnavailable

Ed25519 attestation stale (>1 Solana slot)

Transient. Retry after ~400ms (1 block). If persistent >30 seconds, the custody relay may be down — check system status at status.cedex.market.

Sanctions and AML Errors (6003–6006)

Code
Name
Cause
Resolution

6003

SenderSanctioned

Sender wallet matches OFAC SDN list

Permanent. Wallet is blocked. Contact compliance@rwatokens.net if you believe this is a false positive. Resolution: 1–4 hours for false positives.

6004

ReceiverSanctioned

Receiver wallet matches SDN list or KYC/accreditation invalid

Check: If KYC-related, complete verification through the platform portal. If OFAC-related, contact compliance.

6005

OfacOracleStale

OFAC SDN list data older than staleness threshold

System-level. If >48h stale, all transfers halt. Check status.cedex.market. Usually resolves within minutes as the OFAC indexer refreshes.

6006

AMLHighRisk

AML risk score exceeds 70/100

Not automatically recoverable. Your wallet has been flagged by Chainalysis KYT or TRM Labs. Contact compliance@rwatokens.net for review.

Holding Period Error (6024)

Code
Name
Cause
Resolution

6024

TokensLocked

Holding period not elapsed (Reg D 6mo / Reg S 12mo / Reg CF 12mo)

Wait. Check your unlock date and regime via the portfolio endpoint. This cannot be shortened or overridden. The CEDEX portfolio page shows your exact unlock date and countdown for each position.

How to check your holding period:

The response includes regime ('RegD', 'RegS', or 'RegCF'), unlockDate, and secondsRemaining for each position.

Position Limit Errors (6020–6023)

Code
Name
Cause
Resolution

6020

WalletLimitExceeded

Post-transfer balance would exceed per-mint cap (4.99% default; up to 9.99% on some Module 2 mints)

Reduce amount. Calculate: maxAllowed = totalSupply × (cap_bps / 10000) - currentBalance. Read the cap from SecurityConfig.maxWalletPercent.

6021

PriceImpactExceeded

Single trade would move price >2% vs TWAP — or, for Module 2, deviation from NAV exceeds tolerance

Split your order into smaller trades. Each trade must cause <2% impact individually. Module 2: if details.variant === 'nav_deviation', the price-NAV deviation has exceeded the configured tolerance — wait for a fresh appraisal or for the on-chain price to converge.

6022

VelocityExceeded

Exceeding 50 transactions/hour for this wallet

Wait. Slow down transaction frequency. Velocity window resets after the limit period.

6023

CrossWalletDetected

Behavioral clustering flagged coordinated activity

Not automatically recoverable. Your wallet has been flagged for coordinated trading patterns. Contact compliance@rwatokens.net.

Circuit Breaker Errors (6005, 6036–6038)

Code
Name
Cause
Resolution

6005

CircuitBreakerTriggered

Price moved >10% in 5 minutes

Wait 15 minutes. Circuit breaker resets automatically when the TWAP normalizes. Check cedex.market for live status.

6036

GlobalCircuitBreaker

Platform-wide trading halt

System-level. All ST22 trading is paused. Activated by 3-of-5 multi-sig. Check status.cedex.market for updates and ETA.

6037

DailySellLimitExceeded

Single wallet sold >30% of circulating supply in 24h

Wait 24 hours. Your wallet-level daily sell limit has been reached. Other wallets are unaffected.

6038

CustodyDiscrepancyHalt

Custody discrepancy confirmed, awaiting oracle consensus

System-level. Trading halted for the affected mint. Incident response in progress. Check status.cedex.market.

Emergency Errors (6039–6042)

Code
Name
Cause
Resolution

6039

OFACEmergencyBlock

Treasury emergency SDN designation matched your wallet

Permanent. Contact compliance@rwatokens.net immediately.

6040

OracleConsensusFail

2-of-3 oracle consensus not reached

System-level. Retry after a few minutes. If persistent, oracle services are being investigated.

6041

ControlledMigration

Smart contract upgrade in progress

Temporary. Wait for the upgrade to complete (typically <1 hour). Check status.cedex.market.

6042

RegulatoryOverride

Legal Counsel + 3-of-5 multi-sig regulatory freeze — or, for Module 3, federal-action freeze

System-level. Trading halted by regulatory authority. Duration varies by situation. Module 3: if details.variant === 'federal_action', the freeze is automatic in response to a federal action affecting the basin asset; trading resumes automatically when the action lifts.

CEI / Integrity Errors (6007–6019)

Code
Name
Likely Cause
Resolution

6007

InvalidSigner

Transaction not signed by wallet owner

Verify you are signing with the correct wallet

6008

WrongAccountOwner

Account not owned by Token-2022 program

Verify you are using the correct token accounts

6009

MintMismatch

Source and destination reference different mints

Verify both accounts are for the same ST22 token

6010

CorruptAccountSize

Account data length unexpected

Account may be corrupted — contact support

6014

ZeroTransfer

Transfer amount is 0

Amount must be greater than 0

6015

SelfTransfer

Source and destination are the same wallet

Cannot transfer tokens to yourself

6016

ArithmeticOverflow

Internal calculation overflow

Reduce transfer amount and retry


10. CEDEX Trading Issues

My order was rejected before going on-chain.

The CEDEX pre-flight compliance check rejected your order before submitting it to Solana. This saves you gas fees. The error response includes the specific control that failed and details about why. For Module 2 mints, the pre-flight also includes NAV-deviation and NAV-staleness checks. For Module 3 mints, the pre-flight includes Classification freshness and federal-action checks. Address the specific issue (see error code table above) and retry.

My order shows "filled" but I don't see tokens.

Check your Solana wallet (Phantom, Solflare, Backpack, Coinbase Wallet, Ledger) for the specific ST22 token. You may need to add the token mint address manually. Tokens appear after block finality (~13 seconds / 32 confirmations).

My limit order expired without filling.

Limit orders execute only when the CPMM pool price reaches your specified price. If the market didn't reach your limit price before expiry, the order expires unfilled. No fees are charged for unfilled orders.

Trading shows "Circuit Breaker Active."

A circuit breaker has been triggered for this token. Wait for the cooldown period (15 minutes for price halt, 24 hours for volume halt). For Module 2 mints, a NAV-deviation circuit breaker may also be active — check the NAV oracle status. Circuit breakers reset automatically — no manual action needed.

Trading on a Module 3 mint shows "Frozen — Federal Action Active."

The Classification oracle has detected an active federal action affecting the basin asset (Section 232, DPA Title III, executive order, etc.). Transfers on the affected mint are automatically frozen until the action lifts. Other Module 3 mints not subject to the same action remain tradeable. Check status.cedex.market for the current federal-action reference and any ETA.

I'm getting rate limited (429 errors).

You are exceeding the API rate limit for your tier. Standard: 120 req/min, 30 orders/min. Verified (Empire KYC complete): 600 req/min, 120 orders/min. Reduce request frequency or contact developer support for institutional tier access.


11. Wallet and Connection Issues

My wallet won't connect to CEDEX.

Verify your wallet supports SPL Token-2022 (Phantom, Solflare, Backpack, Coinbase Wallet, Ledger). Ensure you are on Solana Mainnet-Beta (not devnet). Clear browser cache and retry. If using a hardware wallet (Ledger), ensure the Solana app is open and "blind signing" is enabled.

I see my ST22 tokens in my wallet but can't trade.

Your wallet must be registered with Empire Stock Transfer. Complete KYC/KYB through the platform portal. If already verified, your accreditation or KYC may have expired — check your verification status.

My wallet shows 0 balance but I purchased tokens.

The token may not be automatically added to your wallet display. Manually add the ST22 mint address in your wallet's "Add Token" feature. If balance is still 0, check the transaction on Solana Explorer using your wallet address.

I lost my seed phrase / private key.

Groovy Company, Inc. cannot recover your wallet. Solana wallets are self-custodial — only the seed phrase holder can access the wallet. Your underlying-equity ownership is recorded in Empire's Master Securityholder File, but without wallet access, you cannot trade your ST22 tokens. Contact Empire Stock Transfer to discuss share-level recovery options.


12. Oracle and System Issues

Status page shows "Custody Oracle: Degraded."

The custody oracle relay is experiencing latency. Transfers may be temporarily slower or rejected with Error 6002. This typically resolves within minutes. If transfers are halted, an incident is in progress — check status.cedex.market for updates.

Status page shows "OFAC: Stale."

The OFAC SDN list has not refreshed within the expected window. If stale <24h, trading continues on the cached list. If stale >48h, all transfers halt (Error 6005). The operations team is actively refreshing the oracle.

Status page shows "NAV Oracle: Stale" (Module 2).

The NAV oracle for one or more Module 2 mints has not been refreshed within the per-mint reappraisal cadence. Affected mints are paused until a fresh appraisal is published by the authorized appraiser. Other Module 2 mints with current appraisals are unaffected. Check status.cedex.market for the affected mints and expected resumption time.

Status page shows "Classification Oracle: Stale" (Module 3).

The Classification oracle for one or more Module 3 mints has not refreshed within the 24-hour staleness threshold. Trades on affected mints are flagged for enhanced review. The Classification relay is being investigated. Check status.cedex.market for the affected mints.

Status page shows "Federal Action Active" (Module 3).

A federal action has been detected on one or more Module 3 mints. Affected mints are frozen under Control 42 federal-action variant. Other Module 3 mints not subject to the same action remain tradeable. Trading resumes automatically when the action lifts. Check status.cedex.market for the federal-action reference and any ETA from the Incident Response Playbook §13 runbook.

Status page shows "MEV Protection: Degraded."

Jito Block Engine is unavailable. Trading continues but without private transaction submission — your trades are visible in the public mempool. Consider waiting for MEV protection to be restored before executing large orders. All other 42 controls remain active.

Solana network is congested.

During Solana congestion, transactions may fail with TransactionExpiredBlockheightExceeded. Retry with a higher priority fee. The SDK handles this automatically with exponential backoff (1s, 2s, 4s, up to 3 retries).


13. SDK and API Issues

SDK: @rwatokens/sdk installation fails.

API: Authentication returns 401.

Your bearer token has expired (24-hour lifetime). Complete the challenge/verify flow again:

API: Getting EMPIRE_VERIFICATION_REQUIRED.

Your wallet has not completed Empire Stock Transfer KYC/KYB. Complete verification through the platform portal before accessing authenticated endpoints.

SDK: simulateTransfer returns unexpected error.

Ensure you are passing the correct mint address (base58), valid wallet addresses, and amount in raw units (with decimals applied). For a token with 9 decimals, 1.0 token = 1_000_000_000n (BigInt). For module-aware error inspection, check the controlResults Map for the failing control and read its details.variant field — Module 2 NAV variants and Module 3 federal-action variants surface there.

WebSocket: Connection drops frequently.

Ensure your client responds to ping frames within 10 seconds. The server sends a ping every 30 seconds — if no pong is received, the connection is terminated. Implement automatic reconnection with exponential backoff.

SDK: TypeScript types not resolving.


Quick Reference: Error Resolution

Symptom
Most Likely Error
Action

"Transfer failed" on sell

6024 (TokensLocked)

Check holding period and regime — wait for unlock

"Transfer failed" on large buy (M1/M3)

6020 (WalletLimit)

Reduce amount below 4.99%

"Transfer failed" on large buy (M2)

6020 (WalletLimit)

Reduce amount below configured cap (up to 9.99%)

"Transfer failed" on large trade

6021 (PriceImpact)

Split into smaller orders

M2: "Transfer failed" — NAV deviation

6021 (NAV variant)

Wait for fresh appraisal or price convergence

All transfers failing for a token

6001/6002 (Custody)

System issue — check status page

All transfers failing platform-wide

6036 (GlobalBreaker) or 6042 (RegFreeze)

System issue — check status page

M3: All transfers failing for a basin asset

6042 (federal-action variant)

Federal action active — wait for action to lift

"Not verified" on authenticated endpoint

EMPIRE_VERIFICATION_REQUIRED

Complete KYC through platform portal

Trade rejected before on-chain

Pre-flight compliance failure

Read error code in response

Wallet not showing tokens

Token not added to wallet

Add ST22 mint address manually

429 Too Many Requests

Rate limit exceeded

Reduce request frequency

WebSocket disconnects

Missed pong

Implement ping/pong handler


Getting Help

Channel
Use

Status page

status.cedex.market — system health, active incidents, federal-action status (M3)

Investor support

support@rwatokens.net — account, KYC, trading questions

Issuer support

issuers@rwatokens.net — onboarding, tokenization, revenue (all three modules)

Developer support

developers@rwatokens.net — SDK, API, integration

Compliance

compliance@rwatokens.net — OFAC flags, AML reviews, regulatory

Security

security@rwatokens.net — vulnerability reports (NEVER in public issues)


  • CEDEX API Reference — Full API documentation with module-aware endpoints and error codes.

  • SDK Reference@rwatokens/sdk TypeScript SDK with module-aware methods and error handling patterns.

  • Smart Contract Reference — Transfer Hook error code registry; module-aware program behavior.

  • Transfer Hook Reference — Standalone reference for the 42 controls and module-aware extensions.

  • Issuer Onboarding Guide — Issuer-specific questions across all three modules.

  • Compliance Integration Guide — Regulatory framework, KYC/KYB/AML, federal frameworks (M3).

  • Oracle Integration Guide — Custody, OFAC, AML, TWAP, EDGAR (M1), NAV (M2), Classification (M3).

  • Incident Response Playbook — P0 through P3 runbooks; Module 3 federal-action freeze runbook (§13).


RWA Tokens · FAQ and Troubleshooting · Groovy Company, Inc.

Last updated

Was this helpful?