Raven Transfer Skill
Execute safe NGN payouts through Raven Atlas.
Package artifacts
- -
scripts/raven-transfer.mjs (transfer CLI implementation) - INLINECODE1 (runtime metadata and env requirements)
- INLINECODE2 (workflow, command contract, safety, install)
- INLINECODE3 (unit and live-contract checks)
Use this skill process
- 1. Identify payout target type:
bank or merchant. - Validate funding by checking NGN wallet balance before any transfer.
- Resolve account name from account number and bank input.
- Request explicit confirmation token from transfer preview.
- Execute transfer exactly once with
--confirm="CONFIRM TXN_...". - Report normalized result fields (
available_balance, fee, total_debit, status, raw_status).
Do not skip confirmation token checks. Do not auto-retry transfer submission.
Failed transfer note: yes, a failed Raven transfer is typically auto-reversed/refunded after a few minutes; wait, then re-check transfer-status and wallet balance before any retry.
Required environment
- - One auth source must be available in the runtime environment:
-
RAVEN_API_KEY_FILE (preferred, points to a
chmod 600/
chmod 400 file)
-
RAVEN_API_KEY
- - Optional runtime overrides:
-
RAVEN_API_BASE (default:
https://integrations.getravenbank.com/v1)
-
RAVEN_TIMEOUT_MS (default:
30000)
-
RAVEN_READ_RETRIES (default:
2)
-
RAVEN_RETRY_DELAY_MS (default:
300)
- - Optional safety hardening:
-
RAVEN_DISABLE_LOCAL_STATE=1 disables on-disk transfer state.
Invocation policy
- - Implicit model invocation should be disabled for this skill.
- Invoke explicitly with
$raven-transfer when a transfer workflow is required.
Run commands
Run all commands from this skill folder with:
CODEBLOCK0
Available commands:
- -
balance: check wallet balances and normalize NGN availability. - INLINECODE28 : list banks (optional
--search). - INLINECODE30 : resolve account name (
--account_number plus --bank or --bank_code). - INLINECODE34 : fetch latest transfer status by
trx_ref/merchant_ref and detect reversals. - INLINECODE37 : preview or execute bank transfer with confirmation token.
- INLINECODE38 : preview or execute merchant settlement transfer.
Merchant payouts
Treat a merchant payout as a normal bank transfer to the merchant settlement account.
Required merchant transfer details:
- - merchant name
- merchant settlement bank name and bank code
- merchant settlement account number
- resolved account name from lookup
- amount
- expected fee estimate for pre-check
- narration
Reference files
Read these before execution when needed:
Raven 转账技能
通过 Raven Atlas 执行安全的 NGN 支付。
包构件
- - scripts/raven-transfer.mjs(转账 CLI 实现)
- agents/openai.yaml(运行时元数据和环境要求)
- references/.md(工作流、命令合约、安全性、安装)
- tests/.test.mjs(单元测试和实时合约检查)
使用此技能流程
- 1. 识别支付目标类型:bank(银行)或 merchant(商户)。
- 在任何转账前,通过检查 NGN 钱包余额来验证资金。
- 根据账号和银行输入解析账户名称。
- 从转账预览中请求明确的确认令牌。
- 使用 --confirm=CONFIRM TXN... 精确执行一次转账。
- 报告标准化结果字段(availablebalance、fee、totaldebit、status、rawstatus)。
不要跳过确认令牌检查。不要自动重试转账提交。
转账失败说明:是的,失败的 Raven 转账通常会在几分钟后自动撤销/退款;请等待,然后在任何重试前重新检查 transfer-status 和钱包余额。
所需环境
- RAVEN
APIKEY_FILE(首选,指向一个 chmod 600/chmod 400 的文件)
- RAVEN
APIKEY
- RAVEN
APIBASE(默认值:https://integrations.getravenbank.com/v1)
- RAVEN
TIMEOUTMS(默认值:30000)
- RAVEN
READRETRIES(默认值:2)
- RAVEN
RETRYDELAY_MS(默认值:300)
- RAVEN
DISABLELOCAL_STATE=1 禁用磁盘上的转账状态。
调用策略
- - 此技能应禁用隐式模型调用。
- 当需要转账工作流时,使用 $raven-transfer 显式调用。
运行命令
在此技能文件夹中运行所有命令,使用:
bash
node ./scripts/raven-transfer.mjs --cmd= [flags]
可用命令:
- - balance:检查钱包余额并标准化 NGN 可用性。
- banks:列出银行(可选 --search)。
- lookup:解析账户名称(--accountnumber 加上 --bank 或 --bankcode)。
- transfer-status:通过 trxref/merchantref 获取最新转账状态并检测撤销。
- transfer:使用确认令牌预览或执行银行转账。
- transfer-merchant:预览或执行商户结算转账。
商户支付
将商户支付视为向商户结算账户进行的普通银行转账。
所需的商户转账详情:
- - 商户名称
- 商户结算银行名称和银行代码
- 商户结算账号
- 通过查询解析的账户名称
- 金额
- 预检查的预期费用估算
- 备注
参考文件
需要时在执行前阅读以下文件: