PACTDocumentationExplore PACT ↗

Agents act.
You set the terms.

PACT gives an agent a defined USDG budget on Robinhood Chain, chain ID 4663. You approve its recipient, action, spending limits and expiry.

Connect an EVM wallet, describe a USDG transfer or a USDG-to-WETH swap, review the policy, then sign an exact token allowance and Pact creation. Your wallet holds the signing key. PACT does not create a replacement wallet or issue balances.

Your permission is the boundary.

The vault records the owner, agent, recipient, total budget, remaining allowance, per-action limit, expiry and maximum action count. A swap also records a minimum WETH-per-USDG rate. These terms cannot be changed by the agent. Close the Pact and create another to change them.

USDG uses six decimals; WETH uses eighteen. The contract represents its minimum rate as output base units per input base unit, scaled by 10¹⁸, and rounds required output upward. The console displays the rate as WETH per USDG.

Access ends. Funds return.

Revoke an active Pact to return its unspent USDG. After expiry, anyone can trigger reclamation, but the refund always goes to the recorded owner. Completion also returns any unused budget.

Your Pacts are indexed in the contract. Reconnect the same wallet after a browser or service restart to load them. No agent session is required for direct revocation or reclamation. If the website is unavailable, use your wallet and the published ABI to call revoke(id) or reclaimExpired(id) on the deployed vault.

Live routing. Bounded execution.

Qwen interprets an instruction into one action and one amount. It cannot approve spending. You choose the receiving address separately, review the policy and sign it. The Run agent button requests execution by the service's separate signer.

Swaps use KyberSwap's Robinhood routes through a fixed router. Quotes expire after 30 seconds; the execution transaction has a short deadline. The router receives an allowance for that action only, which is cleared afterward. The vault measures actual USDG spent and WETH received by the locked recipient, reverting the entire action if either fails its policy. Partial fills are not accepted. There is no arbitrary router address supplied by the browser.

The suggested minimum incorporates 0.5% slippage. Your approved floor stays fixed for the life of the Pact. If the market moves below it, the swap fails rather than silently lowering your requirement. Integrator fees are not added by PACT; pool fees are reflected in quotes, and network fees apply.

The service pays gas for agent actions subject to per-transaction and daily ETH limits. Users pay for their own approvals, Pact creation and owner recovery actions. An unfunded or unavailable agent cannot execute; it cannot stop owner recovery.

What the system enforces.

Execution requires the designated agent, matching action sequence, sufficient allowance and a valid deadline. The sequence prevents duplicate execution of a submitted action. A disk-backed journal stores signed pending transactions before broadcast and resumes the same transaction after interruption.

Wallet sign-in uses an expiring, one-use signature bound to the site origin, chain, vault and wallet. It grants no token allowance. Sessions expire after two hours. Owner transactions are signed in the connected wallet, and the API does not accept arbitrary transaction submissions.

The contract has no administrator, upgrade function or operator withdrawal. It has not received an independent security audit. Token issuers and external routers have their own controls and risks; network or provider failure can delay transactions. On-chain enforcement does not guarantee profits or eliminate smart-contract risk.

Inspect the implementation.

Vault source · Contract ABI · Deployment addresses

Canonical USDG: 0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168

Canonical WETH: 0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73

KyberSwap router: 0x6131B5fae19EA4f9D964eAc0408E4408b66337b5

The server validates the chain, token metadata, pinned router bytecode and vault bytecode against this release at startup. The source package includes contract checks and an isolated fork integration runner.