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
Platform Overview
For Investors
For Issuers
For Developers
Regulatory and Compliance
GROO Utility Token
Module 2 — Real Estate Specifics
Module 3 — CORECM Specifics
Part 2 — Troubleshooting
Transfer Hook Error Code Reference
CEDEX Trading Issues
Wallet and Connection Issues
Oracle and System Issues
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 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)?
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)
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)
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)
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)
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)
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)
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)
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
"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
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)
Related Documentation
CEDEX API Reference — Full API documentation with module-aware endpoints and error codes.
SDK Reference —
@rwatokens/sdkTypeScript 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?