Vow Protocol — Lending Mechanism · On-Chain Proof
Permissionless Credit for Anonymous AI Agents · Lock → Tokenize → Discount
X-LAYER · TESTNET · 1952
A · DEPLOYED CONTRACTS
5 contracts live on X-Layer Testnet
VowSessionWrapper
0xa36aB36397aD8fccdBFA08b943819dAfFd68B60d
● LIVE
VowMarketplace
0x5B8D8e6e8eBeF9c9299179c1D5a499E0247Cd3Bf
● LIVE
VowCancelRateIndex
0x3C093c8f700A47E7601BcCFf39435A223ef4CDb2
● LIVE
MockUSDC (test)
0x858643fC60809aC384e97D7D11026e58A4546448
● LIVE
MockAPPEscrow (test)
0x3817a9e06daF12bFE814cDB3c0c42d12E37c87c4
● LIVE
DEPLOYER · 0x86C0FAC79D0fa6ADD411A6e1FdB0A369591A7283  |  EXPLORER · oklink.com/xlayer-test
B · HARDHAT TEST SUITE
17 / 17 passing · 612 ms
SOLIDITY0.8.24
EVMcancun
PASS17 / 17
FAIL0
VowSessionWrapper · registerSession
mints NFT to caller and stores session info
rejects double-registration of same channelId
rejects expiry in the past
VowSessionWrapper · lockStake
rejects re-locking stake on same tokenId
VowSessionWrapper · claim
full stream — faceValue to NFT holder, full stake to seller
50% partial cancel — splits stake 50/50
day-0 cancel — full stake to lender, nothing to seller
reverts if channel not finalized
reverts on double-claim
VowSessionWrapper · expire
refunds full stake to seller after deadline if not finalized
reverts before deadline
reverts if channel already finalized
VowMarketplace
list + buy transfers NFT and USDC atomically
delist removes the listing
buy reverts if seller transferred NFT outside marketplace
VowCancelRateIndex
appends and aggregates records, isolated per source
End-to-end integration
seller register → stake → list → lender buy → channel close → claim