Veranta (formerly Avantis)
Base-native perpetuals through Thirdfy catalog actions. Market, limit, coin-sized and TWAP orders, TP/SL at open, the LP vault, and referrals, from a managed wallet with a Thirdfy-held delegate.
Category: Trading
Catalog providers: avantis (perps, onboarding, referrals, builder fees), avantis-vault (LP vault). veranta and veranta-vault are accepted wherever a request names a provider.
Veranta, formerly Avantis v2, runs perpetuals on Base 8453 in USDC. The trader is the managed agent_wallet. During onboarding, Thirdfy mints and stores a delegate key. After that, the delegate signs each order and Veranta relays it. Gas is sponsored.
Pass chainId 8453 on writes. Other chain IDs fail closed.
Names. The catalog lists every action under its Veranta name, for example place_veranta_perps_order. The *_avantis_* names are permanent aliases with the same params, policy, billing and results. Error codes keep the AVANTIS_ prefix.
Networks
| Chain | chainId | Explorer | Collateral |
|---|---|---|---|
| Base | 8453 | basescan.org | USDC |
Action coverage
All 37 actions are live on Base 8453.
| Group | Actions |
|---|---|
| Market reads | get_veranta_markets, get_veranta_pair, get_veranta_price, get_veranta_spread |
| Account reads | get_veranta_positions, get_veranta_open_orders, get_veranta_allowance |
| Setup | get_veranta_funding_status, get_veranta_setup_status, get_veranta_delegation_status, get_veranta_onboarding_plan, prepare_veranta_onboarding (dry run), complete_veranta_onboarding |
| Orders | place_veranta_perps_order (market or limit, TP/SL at open), cancel_veranta_perps_order (limit), close_veranta_position (full or partial) |
| TP/SL | update_veranta_tp_sl (whole position or partial trigger), cancel_veranta_tp_sl |
| Coin-sized | place_veranta_coin_perps_order, increase_veranta_coin_position, close_veranta_coin_position |
| TWAP | place_veranta_twap_order, close_veranta_twap_order, cancel_veranta_twap_order |
| LP vault | get_veranta_vault_info, get_veranta_vault_position, deposit_veranta_vault, request_veranta_vault_withdrawal, redeem_veranta_vault |
| Referrals | get_veranta_referral_status, get_veranta_referral_stats, set_veranta_referral_code, register_veranta_referral_code, claim_veranta_referral_rebate |
| Builder fee | get_veranta_builder_fee_status, approve_veranta_builder_fee, revoke_veranta_builder_fee |
Retired: the market-maker order actions, which never placed an order (a coin-sized market order is Veranta's market-maker path), and claim_veranta_vault (the v2 vault has no claim).
Credential model
| Path | Authority |
|---|---|
| Hosted agents | Default agent_wallet on Base 8453 |
| Delegate | complete_veranta_onboarding mints and stores an encrypted delegate, and the trader wallet registers it on-chain (DelegateReq). Callers authenticate with Thirdfy (email OTP or agent API key). |
| Funding | Base USDC in the managed execution wallet. Gas is sponsored. |
| Venue secret | None for callers |
| Execution rail | Relayer only (executionMode: "relayer"). direct is refused. |
Onboarding and allowance
complete_veranta_onboarding runs whatever setup is still missing:
- Mints the stored delegate.
- Signs
DelegateReqfrom the trader wallet. - Approves USDC to Veranta's TradingStorage.
The approval covers the larger of targetCollateralUsdc and the wallet balance, not a fixed $5. Spend limits count onboarding as a $1 setup write, because an approval moves no capital.
Every open spends allowance. An order above the remaining allowance is refused up front with AVANTIS_ALLOWANCE_TOO_LOW. To top it up, run complete_veranta_onboarding again with targetCollateralUsdc. Once the trader is ready, get_veranta_onboarding_plan lists the approval as an optional step (reason: allowance_top_up). It is required only below the setup minimum.
Orders
Side and size.
sideislongorshort, not Hyperliquid'sisBuy.collateralUsdcis in USDC;leverageis the plain multiplier (20means 20x).- A position must clear the pair's minimum size (
minLevPosUsdconget_veranta_markets): $100 on the main crypto pairs, $10 on some commodity pairs.
TP/SL at open.
takeProfitPriceandstopLossPriceare USD prices, signed into the open, so the position is protected from the fill.- For a long, the take-profit sits above entry and the stop below it; for a short, the reverse. A wrong-side price is refused (
AVANTIS_TAKE_PROFIT_WRONG_SIDE/AVANTIS_STOP_LOSS_WRONG_SIDE). - A stop may lose at most 80% of collateral at the order's leverage (
AVANTIS_STOP_LOSS_BEYOND_CAP). - A filled market order returns
fillwithpairIndex,tradeIndex,openPrice,leverage,takeProfitPrice,stopLossPriceandcollateralUsdc.
Limit orders. Pass orderType: "limit" with limitPrice; TP/SL may be included. The order appears in get_veranta_open_orders, and cancel_veranta_perps_order removes it by pairIndex and orderIndex.
Closing.
close_veranta_positionwithoutcollateralToCloseUsdccloses the whole position.- With
collateralToCloseUsdcit closes part and leaves the rest open. - The on-chain TP/SL close with the position, so there is nothing to cancel first.
Changing TP/SL.
update_veranta_tp_slmoves the whole-position levels.- With
partialClosePercentit arms a partial trigger that closes that share of the position. The result carries itsentityId, and passing that id astriggerIdreplaces the trigger. cancel_veranta_tp_slwithtriggerIdremoves one partial trigger. Without one, it removes the stop and resets the take-profit to the pair's maximum-gain cap.
Coin-sized orders.
place_veranta_coin_perps_orderfixes the exposure in base-asset units (coinExposure: 0.5means 0.5 ETH); the fill leverage floats betweenminLeverageandmaxLeverage.increase_veranta_coin_positionadds exposure. Each added slice must clear the pair minimum on its own.close_veranta_coin_positioncloses part (coinExposure) or all of it.
TWAP.
place_veranta_twap_ordersplits an open into slices overrunTimeSeconds. The run time must fall within the pair's TWAP range and be a whole multiple of its slice frequency, and each slice must clear the pair minimum. It takesmaxLeverageand returnstwapId.cancel_veranta_twap_orderstops the remaining slices.close_veranta_twap_ordercloses an open position in slices, usingpairIndex,tradeIndexandrunTimeSeconds.
Upside pairs. _UPSIDE pairs (for example ETH_UPSIDE/USD) are profit-share markets: no opening fee, and a share of the profit on close. They take market orders only; a limit order is refused with AVANTIS_UPSIDE_MARKET_ONLY. Their leverage range is the pair's PnL range shown on get_veranta_markets.
Close-only pairs. get_veranta_markets marks close-only and delisted pairs (closeOnly, isPairListed). Opens on those pairs are refused.
Reads
get_veranta_positions:- leverage is the plain multiplier;
unrealizedPnlUsdis net of the close fee (or the Upside profit share), rollover and funding, settled the way the contract settles it (pnlBasis: "net", with apnlBreakdown);rawkeeps Veranta's fixed-point fields (prices and leverage at 1e10, USDC at 1e6).
get_veranta_spreadneeds a size (coinSize10, orcollateralUsdcwithleverage) and returnsspreadPercent. If Veranta cannot quote a spread, the read fails withAVANTIS_SPREAD_UNAVAILABLE_DO_NOT_TRADE; it never reports zero.get_veranta_marketsincludesminLeverage,maxLeverage,minLevPosUsdc,isOpen,closeOnly,isPairListedandisUpsidefor every pair.
LP vault
The v2 vault has one tranche (junior).
deposit_veranta_vaultapproves the tranche first when its allowance is short.request_veranta_vault_withdrawalwithdraws USDC right away. It is limited to the live headroom less the vault's withdrawal fee (about 1.5%); an amount above that is refused before anything is sent (AVANTIS_VAULT_WITHDRAW_ABOVE_MAX).redeem_veranta_vaultredeems a number of shares.get_veranta_vault_positionshowsshares,maxWithdrawandmaxRedeem.
Referrals and builder fee
- Trader wallet only. Referral, vault and builder-fee writes are sent by the trader wallet itself. A
traderAddressnaming a different wallet is refused (AVANTIS_TRADER_NOT_CALLER). - Builder fee.
approve_veranta_builder_feeapproves USDC to Veranta's builder-fee registry, and only once Thirdfy's builder code is registered there. Until then it is refused withAVANTIS_BUILDER_CODE_NOT_REGISTERED.revoke_veranta_builder_feesets that approval to zero.
Write outcomes
- Confirmed. A write reports success only once Veranta or the chain confirms it.
- Unknown. If the result cannot be confirmed (a relayer or stream timeout), the write returns
WRITE_OUTCOME_UNKNOWNwithnextAction: reread_state_before_retry. Re-read positions or open orders before sending it again. - Reverted. A reverted transaction returns
TRANSACTION_REVERTED. - Venue refusal. A refusal returns the Veranta reason, for example
AVANTIS_ORDER_FAILED: ... BelowMinPosition().
Discovery
| Surface | Example |
|---|---|
| MCP | getProviderActions { provider: "avantis" } |
| CLI | thirdfy-agent actions --provider avantis --json |
| REST | GET https://api.thirdfy.com/api/v1/agent/actions/catalog |
Reads
For agent_wallet setup and status reads, the CLI fills a missing traderAddress from that wallet.
Onboarding
Place, protect and close
Writes take confirmWrites: true and an estimatedAmountUsd (the order notional). Confirm before any onboarding or trade write.
Execution lanes
runMode | Use |
|---|---|
agent_wallet | Agent-owned managed wallet for onboarding, orders, vault and referrals. Send it explicitly for Veranta writes. |
thirdfy / hybrid | Delegated user capital with an active binding |
MCP sequence (summary)
getProviderActions { provider: "avantis" }get_veranta_funding_statusand market reads (get_veranta_markets,get_veranta_spreadwith a size)complete_veranta_onboardingon Base when setup is incomplete.get_veranta_onboarding_planandprepare_veranta_onboardingpreview it.get_veranta_setup_statusbefore live writesplace_veranta_perps_orderwithtakeProfitPrice/stopLossPrice, then manage it withupdate_veranta_tp_slor close withclose_veranta_position
See Thirdfy MCP for the full recommended sequence.
Readiness checklist
- Set
chainIdto 8453. Other chain IDs fail closed. - Fund Base USDC in the execution wallet.
- Complete onboarding so the stored delegate exists, delegation is on-chain, and the USDC allowance covers your orders.
- Check the pair on
get_veranta_markets: open, not close-only, and your size aboveminLevPosUsdc. - Re-run
get_veranta_setup_statusbefore the first live order. - Confirm before any onboarding or trade write.
Console Command
Ask in Command to list Veranta markets, complete Base onboarding, or open a position with a stop and take-profit and close it. The operator uses the trading tool pack, sets Base, and confirms before a write.