Twin Documentation
  • Overview
  • Consumer
  • Developer
  • Operations
Dashboard Guide
    Cron JobsMinteo (Minting)Circulacion (Circulation)Uniswap PoolsBridge AdminRewardsSeguimiento de Circulante (Balance Tracking)Oracle Wallets (Configuración)Tokens (CRUD)
Deploy
MonitoringContracts & AddressesTroubleshooting
powered by Zudoku
Dashboard Guide

Minteo (Minting)

Access Paths

  • Operations > Minteo -- Operational view: create mint transactions, view TX history
  • Configuracion > Minteo -- Configuration view: manage minting wallets

Wallet Configuration

Each minting wallet has the following fields:

FieldDescription
nameDescriptive name for the wallet
walletAddressOn-chain wallet address
networkNetwork (BASE, POLYGON)
opsTokenIdAssociated OpsToken (determines which token to mint)
bitgoWalletIdBitGo wallet ID (for BitGo mints)
bitgoCoinBitGo coin identifier (e.g., baseeth:argt)
passphraseEncryptedEncrypted BitGo wallet passphrase

BitGo Mint Flow

  1. Select a minting wallet and enter the amount (in human-readable units).
  2. The backend converts to base units and calls BitGo Express sendMany.
  3. BitGo handles signing and broadcasting.
  4. TX is recorded with source='bitgo' in minting_transaction.
  5. The MINTING_TX_SYNC cron checks BitGo for status updates every 2 minutes.

Wallet Mint Flow (Safe / EOA)

  1. Connect wallet via RainbowKit (ConnectButton in the top bar).
  2. Select a minting wallet and enter the amount.
  3. Click "Mint con Wallet Conectada" to open the WalletMintModal.
  4. The modal builds the contract call and sends it via the connected wallet.
  5. For Safe multisig wallets, the transaction returns a safeTxHash (not an on-chain TX hash). It must reach the signing threshold in Safe{Wallet} before it goes on-chain.
  6. TX is recorded with source='wallet' and signer_address in minting_transaction.
  7. Endpoint: POST /api/operations/minting/wallet-mint.

Important: useWaitForTransactionReceipt is NOT used for wallet-mints because Safe multisig returns a safeTxHash that never appears on-chain until the threshold is met. Similarly, useSwitchChain() is not used because Safe wallets do not support wallet_switchEthereumChain -- instead, an Alert is shown asking the user to connect on the correct network.

TX History

The minting transactions table shows all mints with columns for token, amount, status, source (bitgo/wallet), signer address, network, and timestamps.

Tips

  • MINTING_TX_SYNC syncs BitGo-mint statuses every 2 minutes. Wallet-mints are not auto-synced (their status is final once submitted or confirmed in Safe).
  • Cancel is only available for BitGo-mints. Wallet-mints must be cancelled directly in Safe{Wallet}.
  • The minting endpoint POST /api/operations/minting/wallet-mint is registered BEFORE /minting/transaction/:id in the route file to avoid Fastify capturing "wallet-mint" as a :id param.
Last modified on April 29, 2026
Cron JobsCirculacion (Circulation)
On this page
  • Access Paths
  • Wallet Configuration
  • BitGo Mint Flow
  • Wallet Mint Flow (Safe / EOA)
  • TX History
  • Tips