Assetiko Developers

XRPL integration guide

Add Assetiko assets to decentralized platforms.

Assetiko assets are issued on the XRP Ledger and organized around verified issuer metadata, product documentation, public TOML files and USDV prime market pairs.

const pair = {
  base: "ASPX",
  quote: "USDV",
  chain: "XRPL"
}

// Primary route:
// USDV -> Assetiko asset

// Optional route:
// RLUSD or USDC -> USDV -> Assetiko asset
Quickstart

Integrate in four steps.

01

Resolve metadata

Load the relevant Assetiko TOML file and verify issuer accounts, currency code, product page and documentation links.

02

Prepare trust lines

Ask the user to create required XRPL trust lines for USDV and the selected Assetiko asset before presenting execution.

03

Quote the route

Prefer the prime USDV pair. If the user starts with RLUSD or USDC, use explicit pathfinding through USDV.

04

Submit deliberately

Use slippage limits, destination minimums, issuer validation and product disclaimers before submitting XRPL transactions.

Architecture

How Assetiko assets fit into XRPL apps.

Assetiko assets are tokenized products with issuer accounts, public metadata and product-specific documentation. A platform integrating Assetiko assets should treat the token, issuer account, product page, TOML file, supported pair and risk disclosure as one information set.

Wallet / DEX UI
XRPL pathfinding
USDV prime pair
Assetiko asset
Prime pairing

USDV is the primary quote layer.

Assetiko uses USDV as the prime pairing asset for its XRPL product markets. USDV is a permissioned asset. Integrators should expect trust-line authorization, compliance controls, issuer-side rules and possible transfer restrictions to affect routing and execution.

Integration rule

Display Assetiko product markets as Assetiko asset / USDV wherever possible. Use non-USDV assets only as entry currencies routed into USDV through explicit pathfinding.

export const USDV = {
  currency: "USDV",
  issuer: "rfffsukWALJB1PXYk7H8xkR6UJUDT8nMJE",
  role: "prime_quote_asset",
  permissioned: true
};
Routing

Use explicit pathfinding for RLUSD or USDC entry routes.

Applications can support users who hold RLUSD or USDC by explicitly routing through USDV into Assetiko assets, where liquidity exists and the user satisfies the required trust-line and compliance conditions.

Direct routeUSDV -> ASPX
Multi-hop routeRLUSD -> USDV -> ASPX
Multi-hop routeUSDC -> USDV -> XAUa
import xrpl from "xrpl";

const client = new xrpl.Client("wss://xrplcluster.com");
await client.connect();

const user = "rUSER_RECEIVING_ACCOUNT";

const RLUSD = {
  currency: "RLUSD",
  issuer: "VERIFY_OFFICIAL_RLUSD_ISSUER"
};

const USDV = {
  currency: "USDV",
  issuer: "rfffsukWALJB1PXYk7H8xkR6UJUDT8nMJE"
};

const ASPX = {
  currency: "ASPX",
  issuer: "rE63VEywx9eX2mWgfLWNRBf7JDdKtTS27R"
};

const quote = await client.request({
  command: "ripple_path_find",
  source_account: user,
  destination_account: user,
  destination_amount: {
    currency: ASPX.currency,
    issuer: ASPX.issuer,
    value: "1"
  },
  send_max: {
    currency: RLUSD.currency,
    issuer: RLUSD.issuer,
    value: "100"
  }
});

const route = quote.result.alternatives?.[0];
if (!route) throw new Error("No executable path found");

const payment = {
  TransactionType: "Payment",
  Account: user,
  Destination: user,
  Amount: {
    currency: ASPX.currency,
    issuer: ASPX.issuer,
    value: "1"
  },
  SendMax: route.source_amount,
  Paths: route.paths_computed
};

// Submit with the user's wallet after showing route, issuer and slippage.

Production integrations should test whether their wallet flow supports path-based same-account delivery. Where it does not, use the platform's supported XRPL DEX execution pattern, still preserving the explicit route and issuer checks.

Trust lines

Prepare users before execution.

XRPL issued assets require trust lines. Permissioned assets may also require issuer authorization. Your interface should detect missing trust lines, frozen trust lines, authorization failures and insufficient limits before opening a swap or exposure flow.

const trustSet = {
  TransactionType: "TrustSet",
  Account: user,
  LimitAmount: {
    currency: "ASPX",
    issuer: "rE63VEywx9eX2mWgfLWNRBf7JDdKtTS27R",
    value: "1000000"
  }
};
Registry

Current Assetiko assets.

AssetTypeIssuerPrime pairDocs
ASPXIndex trackerrE63VEywx9eX2mWgfLWNRBf7JDdKtTS27RASPX / USDVOpen
ANDXIndex trackerrsAqnjvsTUxvQQw9f5ehoYkQJwsfEiqXwcANDX / USDVOpen
ASEMIndex trackerrG8nNXFhBHKu3PUReMrkPtQMYSb9iWWDc7ASEM / USDVOpen
ADEFIndex trackerraLiXSY1AsAqD4tz3SNEY1iTn81ULUrPqoADEF / USDVOpen
AENGIndex trackerr368W5E4Bc8FKvq6hNCGU5dTJ2mkoMMCawAENG / USDVOpen
AEMXIndex trackerrsE5j8AzAMi2Z7dPsi9NM7dTqBBamvXYnPAEMX / USDVOpen
XAUaTokenized goldrJanYBNcgXZFRqTNcaY5AoPdSEgveJofGwXAUa / USDVOpen
NEXFPrivate market assetrLP4u2mkmqbSUhjnDJvDqawMdccdC4pp7xNEXF / USDVOpen
Metadata

Use TOML files as the public metadata layer.

Each product subdomain may publish an XRPL TOML file containing accounts, currency metadata, issuer metadata, token metadata and links. Applications should cache TOML responses, but refresh them regularly and treat issuer mismatch as a blocking condition.

const tomlUrls = {
  ASPX: "https://aspx.assetiko.com/.well-known/xrp-ledger.toml",
  ANDX: "https://andx.assetiko.com/.well-known/xrp-ledger.toml",
  ASEM: "https://asem.assetiko.com/.well-known/xrp-ledger.toml",
  ADEF: "https://adef.assetiko.com/.well-known/xrp-ledger.toml",
  AENG: "https://aeng.assetiko.com/.well-known/xrp-ledger.toml",
  AEMX: "https://aemx.assetiko.com/.well-known/xrp-ledger.toml",
  XAUa: "https://gold.assetiko.com/.well-known/xrp-ledger.toml",
  NEXF: "https://nexf.assetiko.com/.well-known/xrp-ledger.toml"
};
Market data

Show route-aware prices.

Assetiko product pages may display pool-implied prices. Developer platforms should show the price implied by the selected route, the prime USDV pair, liquidity depth, slippage, issuer, destination amount and fees. Do not present RLUSD or USDC entry quotes as official Assetiko prices unless the route explicitly passes through USDV.

Operations

Handle failure states clearly.

No pathNo route exists for the selected source asset, amount or destination token.
Authorization requiredThe user may need issuer authorization for USDV or another permissioned asset.
Trust line missingPrompt the user to create a trust line before quoting or execution.
Issuer mismatchBlock execution when TOML, UI constants and on-chain issuer accounts do not match.
Frozen lineExplain that issuer controls can prevent transfer or execution.
Slippage exceededRequire a new quote and never silently widen user limits.
Launch checklist

Before enabling Assetiko assets in production.

  • Verify token issuer accounts against product pages and TOML files.
  • Verify USDV issuer metadata and permissioning requirements.
  • Display product terms, risk disclosures and supported pair information.
  • Use route-specific quotes with explicit pathfinding for RLUSD or USDC entry assets.
  • Detect missing trust lines, authorization failures, frozen lines and insufficient limits.
  • Show slippage, destination amount, source amount, issuer accounts and route hops before signing.
  • Cache metadata with a refresh policy and block execution on mismatch.
  • Keep logs for route, issuer and transaction diagnostics.