post
https://api.testnet.rise.trade/v1/orders/builder-fee/approve
Approve a builder's maximum per-order fee ceiling. User signs the approval off-chain; server submits via Router.approveBuilderFee(). Gas sponsored by API service.
Set max_fee_bps=0 to revoke a previously granted approval.
Permit: Client signs an EIP-712 VerifyWitness permit; the server recovers the signer off-chain and matches it to permit.signer (server holds no keys).
Prerequisites:
GET /v1/auth/eip712-domain— EIP-712 domain (name,version,chainId,verifyingContract= Authorization contract)GET /v1/nonce-state/{account}—nonce_anchorandcurrent_bitmap_index(pass it aspermit.nonce_bitmap_index; if 208 the anchor is full — usenonce_anchor+1with bitmap index 0)GET /v1/system/config—routeraddress (RISExUniversalRouter), used as thetargetfield below
Action hash:
actionHash = keccak256(abi.encode(
keccak256("RISE_APPROVE_BUILDER_FEE_V1"), // bytes32 action selector
uint16(builder_id),
uint16(max_fee_bps)))
Permit digest (EIP-712):
VerifyWitness(address account,address target,bytes32 hash,uint48 nonceAnchor,uint8 nonceBitmap,uint32 deadline)
Sign as standard EIP-712 typed data (e.g. ethers signTypedData) with hash = actionHash, target = RISExUniversalRouter address (NOT the account, NOT the domain verifyingContract), nonceBitmap = permit.nonce_bitmap_index.
Signature: 64-byte EIP-2098 compact (r + yParityAndS) or 65-byte (r+s+v, auto-converted).
Recent Requests
Log in to see full request history
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Loading…