Security

How Orientim protects you

A typical swap acts with the wallet's authority for the whole transaction. Orientim builds each swap so that the swap program never gets it: only the amount your agent approves is placed within its reach, under a one-time key that exists for this one transaction.

What happens when your agent swaps

  1. Your agent asks Orientim for a swap. Orientim finds a route across Solana's markets, builds one transaction around it and checks it against its rules.
  2. With the skill, the command line or the MCP server, the exact transaction is checked again on your own connection to Solana before signing. A direct API client must run the same independent check before handing bytes to its signer.
  3. Your agent's wallet signs first. Orientim then adds the one-time key's signature and sends it.
  4. The swap runs. If less than your agent's minimum would arrive, the whole transaction is cancelled.

What every protected swap enforces

  • The swap can spend only the amount your agent approves, plus a market's one-time account deposit when one is stated first.
  • The wallet's other tokens, its NFTs and the rest of its SOL are never given to the swap program.
  • No permission over your wallet is granted, and none outlives the transaction.
  • The wallet receives at least the minimum, or nothing happens and only the network fee is paid.
  • Orientim never holds your funds and never asks for your seed phrase.

This describes how Orientim is designed. What is and is not guaranteed is set out in the Terms.

The 7 rules, checked before your wallet signs

The open-source verifier decodes the exact bytes your wallet will sign and checks them against seven rules, with every account read from your own RPC. Your wallet signs only a transaction that passes all seven.

  1. R1

    Your wallet stays out of reach

    The swap program never receives your wallet, or any of its token accounts except the one that receives what you buy.

  2. R2

    Only the instructions expected

    Every instruction Orientim adds fills one expected place, with the exact accounts and amounts: the approved amount, the minimum checked on chain, the fee to the pinned treasury, the cleanup.

  3. R3

    A new one-time key

    The one-time key and its token accounts do not exist on chain yet, so nothing was prepared in them beforehand.

  4. R4

    A capped network fee

    The network fee your wallet pays, priority fee included, stays under a fixed maximum.

  5. R5

    One transaction, nothing left open

    One transaction within the size limit, each account loaded once, and every temporary account created and closed in it.

  6. R6

    Only two signers

    Your wallet pays the fee, and the only signers are your wallet and the one-time key.

  7. R7

    Only tokens it can isolate

    Both tokens, and any token the route passes through, are standard tokens or Token-2022 tokens without the features that would break the protection.

The code is in packages/verifier, under Apache-2.0.

Where the protection ends

  • It protects your wallet, not the price or the future value of the token you buy.
  • Orientim swaps only tokens it can isolate, and names the reason for any other: those whose issuer can run code on every transfer or move balances through a program.
  • It cannot stop an agent that can read the signing key from using it outside Orientim. For unattended funds, keep the key in a separate signer with its own limits and use a wallet funded only for the agent's job.
  • Give your agent its own RPC, never Orientim's, and use the skill as published: check a download against its GitHub release (gh attestation verify), not against this site.

Fees

Every cost is in Orientim's answer, with the exact amounts, before your agent signs.

CostAmountWho receives it
Orientim fee0.25% of the swap: of the amount in, when taken from the input; of the enforced minimum, when taken from the output; of the swap’s value in SOL, when paid in SOL from your walletOrientim. Inside the transaction you sign: in SOL, USDC or USDT when the swap has one of them, otherwise in the input token or in SOL from your wallet.
Network feeUsually under 0.0001 SOL; with the skill, never more than 0.001 SOLSolana's validators. The exact amount is stated before your agent signs.
Market account feeOnly on some markets, such as a Pump.fun launch curveThe market. Stated before your agent signs, with what comes back.
Token transfer taxOnly on tokens that tax transfersThe token's issuer. Stated before your agent signs.
  • No fee for an API key, or for a swap your agent does not sign.
  • A swap that does not run, because less than the minimum would arrive or its time ran out, costs at most the network fee.
  • Swaps smaller than about 0.004 SOL, or $1 of USDC or USDT, are not taken, so the costs never outweigh the swap. Selling the whole balance of a token (not SOL) is allowed at any size.

Supported tokens and wallets

Most Solana tokens are supported. Orientim takes only the swaps it can protect, and says why when it cannot.

KindAnswer
SOL and standard SPL tokensSupported
Token-2022 tokens with metadata, groups, close authority or confidential transfersSupported
Token-2022 tokens with a transfer taxSupported; the tax is stated before your agent signs
Stablecoins whose issuer can move balances with its own key (PYUSD, USDG, AUSD, CASH)Supported, with a warning
Pump.fun launch curve and PumpSwap routesSupported when the route fits and passes verification
Tokens whose issuer can move balances through a program, or with an active transfer hook, frozen by default, pausable, non-transferable, interest-bearing, requiring a memo, with a scaled UI amount, or with a Token-2022 extension Orientim has not reviewedNot supported, with the reason
Tokens whose issuer can freeze accounts or mint more (USDC and USDT among them)Supported; shown to your agent before it signs
A token account of your wallet that its issuer has frozenNot supported, with the reason: the swap could not land
Routes through a market that would leave an account openNot supported
Routes too large for one transactionNot supported: Orientim never splits a swap
  • A key file or a signing service your agent controls: supported. A signing service keeps the key away from the agent.
  • For the API key: a browser wallet that can sign a message, such as Phantom, Solflare or Backpack, or the skill's command line.
  • Signers that can only sign and send at once, and multisig vaults: not supported, because the agent's wallet must sign first and Orientim last.

Report a vulnerability

If you find a security problem in Orientim, write to [security email] before telling anyone else, with enough detail to reproduce it. We answer, keep you informed while we fix it, and credit you if you wish.

We will not take legal action against research done in good faith that avoids harm to users and their funds, does not access other people's data, does not disrupt the service, and gives us reasonable time to fix the problem before it is disclosed. Never test with other people's wallets or funds.