Asi crypto-fiat-bridge
Automated APT-to-fiat payment pipeline via PYUSD stablecoin bridge. Load when converting APT holdings to OpenRouter API credits, bridging Aptos tokens to Ethereum, or executing crypto-to-fiat payments.
install
source · Clone the upstream repo
git clone https://github.com/plurigrid/asi
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/plurigrid/asi "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/crypto-fiat-bridge" ~/.claude/skills/plurigrid-asi-crypto-fiat-bridge && rm -rf "$T"
manifest:
skills/crypto-fiat-bridge/SKILL.mdsource content
crypto-fiat-bridge
Overview
Automated crypto-to-fiat payment pipeline for converting APT holdings to OpenRouter API credits via the PYUSD stablecoin bridge. All operations require explicit approval.
Architecture
APT (Aptos) --[Liquidswap DEX]--> PYUSD0 (Aptos) --[Wormhole Bridge]--> PYUSD (Ethereum) --[Coinbase Commerce]--> OpenRouter
Workflow Steps
1. Check APT Balance
THRESHOLD = 0.5 APT (minimum for gas + fees) aptos_balance() -> current_apt IF current_apt < THRESHOLD: ABORT "Insufficient APT balance"
2. Execute APT -> PYUSD0 Swap
aptos_swap( fromCoin: "APT", toCoin: "PYUSD0", amount: swap_amount, dex: "liquidswap", slippage: 0.5 ) -> Returns decision_id for approval
3. Bridge PYUSD0 -> PYUSD
Wormhole bridge transaction: - Source: Aptos PYUSD0 - Destination: Ethereum PYUSD - Finality: ~15 minutes
4. Pay OpenRouter via Coinbase Commerce
swapAndTransferUniswapV3Token( recipient: OPENROUTER_MERCHANT_ADDRESS, token: PYUSD_ADDRESS, amount: payment_amount, poolFee: 3000 )
MCP Tools Used
- Check APT/PYUSD0 holdingsaptos_balance
- Execute APT -> PYUSD0 via Liquidswapaptos_swap
- Send tokens to bridge addressaptos_transfer
- Confirm pending transactionsaptos_approve
Security
Approval Requirements
- All transactions use
approvalconfirmation_mode - No automatic execution of value transfers
- Each step requires explicit
aptos_approve(decision_id, approve: true)
Key Management
# Keys accessed ONLY via fnox/age encryption fnox get aptos-private-key | age -d -i ~/.age/key.txt
NEVER store raw private keys in environment variables, config files, skill definitions, or database tables.
Verification Queries
-- Validate pending transactions SELECT tx_hash, amount, timestamp FROM crypto_bridge_transactions WHERE status = 'pending' ORDER BY timestamp DESC;
Ledger location:
/Users/alice/worldnet/ledger.duckdb