Otsukai's own endpoints take payments now: a stock quote for $0.01, a holdings read for $0.02.

Protocol

Contracts and security

Three contracts on chain 4663, Solidity 0.8.28, OpenZeppelin 5.4, with no admin over accounts and no upgrade path.

Contracts

ContractRoleAddress
OtsukaiFactoryCreates accounts (ERC-1167 clones). Sets the fee vault once. No other power.0x4ae34E501263f36A63A5396CE985707C7518d33C
OtsukaiAccountOne per user. Holds USDG, keys, payees; runs pay().clones of the factory's implementation
OtsukaiStakeStake OTSU, earn USDG and ETH. Deployed after the token.

Refusals

pay() reverts with a named error, so the reason is readable in any explorer:

ErrorMeaning
AccountPausedThe owner paused the account.
AgentInactiveThe signer is not an active key (revoked, never added, or a forged signature).
AgentExpiredThe key is past its expiry.
PayeeNotAllowedThe payee is not on the allow-list.
OverPerCallCapThe amount is above the key's cap.
OverDailyLimitThe key would pass its daily limit.
NonceUsedThe payment was already settled (replay).
PaymentExpiredThe payment's validBefore has passed.

What you trust

  • The contract code. It is short and covered by unit, fuzz and mainnet-fork tests, including every refusal above.
  • USDG. Paxos can freeze any address, including an account or the vault.
  • Your agent's machine, up to the limits you set.

You do not trust Otsukai with your funds: the factory owner cannot touch an account, and the facilitator can only submit payments your key signed.

External addresses

USDG0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168
Uniswap QuoterV20x33e885ed0ec9bf04ecfb19341582aadcb4c8a9e7
StockFactory0x4783C67b63dE2B358Ac5951a7D41F47A38F3C046
Pons fee escrow0xd3AFEB2a57f70eF218Aa82451c51B2fb0416Ac9e
Endpoints payee0x3F745575b764288403b2A079A9e79FaC525F08Cb
© 2026 OtsukaiPrivacyTermsCookiesX