Skip to main content

How Tokenized Gold Works

Kulce brings physical gold on-chain through KGOLD, an ERC-20 token on Ethereum Mainnet. Each KGOLD represents one gram of gold, with pricing anchored to the international XAU/USD gold market and delivered through transparent, verifiable on-chain execution.

The experience is designed to feel simple and dependable: you can hold KGOLD in your Ethereum wallet, follow your balance in the Kulce dashboard, and buy or sell through a structured market flow. Kulce is built to make gold ownership more accessible, more transparent, and easier to manage without losing the discipline expected from a real-world precious metals product.

The Core Idea

Traditional gold ownership is often handled through physical custody, vaulting, invoices, and manual settlement. Kulce modernizes that experience by representing gold ownership as ERC-20 tokens on Ethereum. Instead of relying only on private records, your KGOLD balance is visible on-chain and can be followed directly from your wallet or dashboard.

KGOLD uses 18 decimals like many ERC-20 tokens, but its business unit is simple:

1 KGOLD = 1 gram of gold

KGOLD supply is controlled by the protocol. New KGOLD is created only through authorized issuance flows, mainly when a purchase is completed through the Kulce market. When KGOLD is sold back through the market, those tokens are removed from circulation during settlement.

Market Flow at a Glance

Why Whitelisting Is Part of the Market

KGOLD is an ERC-20 token, but Kulce's primary buy and sell market is available only to verified wallets. Before you can buy or sell through the Kulce market, your wallet must be approved in the on-chain whitelist smart contract.

This whitelist mirrors the identity verification process completed in the portal. Once your verification is approved, your wallet can be whitelisted for market activity. The market checks this approval before accepting buy and sell requests.

This means eligibility is enforced by the smart contracts, not only by the web interface.

Buying KGOLD

When your wallet is approved, buying KGOLD starts as a market request rather than an instant swap.

  1. You enter the amount you want to buy or the amount of USDT you want to spend.
  2. The portal fetches a fresh XAU/USD price from Pyth and prepares the transaction.
  3. The market checks whitelisting, trading limits, price data, spread, fees, and slippage protection.
  4. Your USDT is locked in the market.
  5. A pending purchase request is recorded on-chain.
  6. The request is approved and completed by Kulce's settlement process.
  7. KGOLD is issued to your wallet.

This request-and-approve model keeps Kulce's regulated issuer operations in the loop while still leaving the important state transitions visible on-chain. For requests below Kulce's configured auto-approval limits, the auto-approval mechanism can complete the flow automatically, helping you receive KGOLD without unnecessary waiting.

The portal is also designed to make Ethereum transactions easier to use. You can cover transaction costs through USDT, so you do not need to keep separate ETH just for gas.

Selling KGOLD

Selling works in the opposite direction.

  1. You submit a sell request for a KGOLD amount or target USDT amount.
  2. The market checks whitelisting, limits, Pyth pricing, fees, and slippage protection.
  3. Your KGOLD is locked in the market.
  4. A pending sell request is recorded on-chain.
  5. The request is approved and completed by Kulce's settlement process.
  6. The locked KGOLD is burned.
  7. USDT is sent to your wallet.

How Pricing Is Calculated

Kulce's market price is anchored to Pyth's XAU/USD price feed, one of the industry's real-time oracle networks for financial market data. This gives the protocol an independent reference point for gold pricing instead of relying on an internal or manually entered price.

The market does not rely only on the headline price. It also considers Pyth's confidence interval, which reflects how certain the feed is at that moment. This creates a disciplined pricing method that is designed to avoid executing trades against weak, stale, or unusually uncertain market data.

After that, Kulce applies the configured market spread and the relevant buy or sell fee. Before you confirm a transaction, the portal shows the quote based on the latest available feed, including the expected KGOLD or USDT amount. If the price data is too old or the confidence range is too wide, the transaction is rejected instead of being executed against unreliable data.

Market Availability

The portal only supports trading when fresh Pyth XAU/USD pricing is available. In UTC, the regular availability window depends on New York daylight-saving time:

During daylight-saving time:

  • Open from Sunday 22:00 UTC to Friday 21:00 UTC.
  • Daily pause from 21:00 UTC to 22:00 UTC, Monday through Thursday.
  • Closed from Friday 21:00 UTC to Sunday 22:00 UTC.

During standard time:

  • Open from Sunday 23:00 UTC to Friday 22:00 UTC.
  • Daily pause from 22:00 UTC to 23:00 UTC, Monday through Thursday.
  • Closed from Friday 22:00 UTC to Sunday 23:00 UTC.

When the market is closed or price data is stale, the portal disables trading instead of allowing you to submit a transaction that would fail on-chain.

Contract Addresses

Ethereum Mainnet contract addresses will be added after deployment.

ContractEthereum Mainnet Address
KulceGoldToken
KulceGoldMarket
Whitelist Smart Contract
KulceGoldTreasury
KulceGoldPythOracleAdapter
KulceGoldTimelock

Together, these contracts make KGOLD more than a simple ERC-20 token. They define a regulated tokenized-gold market where eligibility, oracle pricing, settlement, and operational controls are enforced on-chain.