The agent SDK and the MCP server are served from this site.Read the docs
SEC-DOCS

Docs

Onchain accounts

NetworkSolana, explorer Solscan
USDCEPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v (SPL Token program, 6 decimals)
Facilitator fee payerHAuK2WNDKetKK84tLK6HJC2b2TYGonH2eiqwjMxMVyAG
Relay fee account7ar53VLy3cBgywMrP6p5bvn7DMryQ8jEGCdv8Sxrzsf2 (USDC, owned by the fee payer)
ProgramsSystem, SPL Token, Memo, ComputeBudget. No program of ours.

Arm addresses

arm(owner, n) = PublicKey.createWithSeed(owner, "allow-arm-" + n, TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA)   // n = 0..7
fee account   = PublicKey.createWithSeed(feePayer, "allow-fees", TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA)

The app finds every arm from the wallet address alone, the same way anyone can.

Instructions by action

give     createAccountWithSeed | allocateWithSeed, InitializeAccount3(arm, USDC, owner),
         TransferChecked(owner ATA -> arm), ApproveChecked(arm, delegate = session key, budget),
         Memo "allow:arm:<n>:<rule hash>"                                      signer: owner
refill   TransferChecked(owner ATA -> arm)?, ApproveChecked(arm, session key, budget),
         Memo "allow:refill:<n>"                                               signer: owner
pay      TransferChecked(arm -> payTo ATA, authority = session key),
         TransferChecked(arm -> fee account, authority = session key),
         Memo "allow:pay:<host>"                     signers: facilitator (fee payer), session key
close    TransferChecked(arm -> owner ATA)?, CloseAccount(arm -> owner),
         Memo "allow:close:<n>"                                                signer: owner
ink      the close pair for every open arm, Memo "allow:ink:<count>"           signer: owner

Read API

GET https://www.allowanceengine.com/api/arms?owner=<wallet> returns the eight arms (balance, delegate, budget left, rules, spend and calls today read from the chain) and the last transactions of each.

Rules message

Allowance Engine arm rules
owner: <wallet>
arm: <n> <arm address>
agent: <session key>
label: <name>
daily cap: <units> (USDC units, 6 decimals, UTC day)
allow: <payTo>,<payTo>
issued: <ISO time, UTC>

The wallet signs this text (ed25519). The first 16 bytes of its sha256, in hex, are the rule hash written in the give Memo.

Docs: Onchain accounts · Allowance Engine