Devnet prototype. FYAT Agent is unaudited, has no token, and uses no real funds.
Getting started
Quickstart
Configure a mandate in the Builder, preview the flow and copy the SDK code. Previewing needs no funds.
Try the Builder
Open the Builder and work from top to bottom.
- Choose an action: Swap or Transfer.
- Set the per-action cap, the total budget and the expiry.
- Pick the approved venue (swap) or recipient (transfer).
- Enter an amount for the agent's attempt and choose an approved or unlisted target.
- Read the Build, Verify, Simulate and Execute steps.
- Copy the generated SDK snippet.
Simulate a transfer
Connect a wallet on Devnet with a little SOL for fees, then run the dry-run. The plan is tested on Solana RPC; nothing is signed or broadcast.
Swap simulation is not configured yet and shows as unsupported.
The SDK snippet
The Builder generates code like this. @fyat/sdk is not published yet, so treat it as an illustration of the intended API.
const client = createFyatClient({
network: "devnet",
rpcUrl: "https://api.devnet.solana.com",
});
const mandate = await client.createMandate({
vaultPda: "<YOUR_VAULT_PDA>",
sessionSigner: agentKeypair.publicKey,
permissions: {
action: "SWAP",
venue: "METEORA_DAMM",
maxPerAction: 5_000_000, // 5 USDC
maxTotal: 50_000_000, // 50 USDC
expiresInHours: 24,
},
});
const plan = await mandate.build({ amountIn: 3_000_000, venue: "METEORA_DAMM" });
await plan.simulate(); // verifies the rules before broadcasting
const signature = await plan.executeWithSession(agentKeypair);