이체마다 승인·한도 규칙 적용
커스터디 지갑
25개 이상 네트워크에서 핫·웜·콜드 지갑을 쓰고, 이체마다 정책 검사를 거칩니다.
콘솔에서 정해 둔 규칙을 이체할 때마다 먼저 확인합니다.
필요한 기능부터 사용하세요. 나머지는 원하는 시점에 연동을 바꾸지 않고 추가할 수 있습니다.
25개 이상 네트워크에서 핫·웜·콜드 지갑을 쓰고, 이체마다 정책 검사를 거칩니다.
USDC·USDT로 받고, 보내고, 정산합니다.
원화와 스테이블코인은 제휴 사업자가 교환합니다.
서명 전에 스크리닝과 트래블룰을 마칩니다.
발행과 소각은 다중 승인을 거칩니다.
잔고와 승인을 한눈에 볼 수 있습니다.
위험 주소 검사, 트래블룰 확인, 담당자 승인을 마쳐야 출금되고, 모든 출금을 한 번에 멈출 수도 있습니다.
금융당국의 감독을 받는 사업자 기준으로 설계했습니다.
승인 절차 없이 바로 개발하고, 검토를 거쳐 메인넷으로 전환합니다.
다중 서명 지갑을 쓰고, 키는 나눠서 보관합니다.
서명 전에 한도, 허용 주소, 다중 승인을 모두 검사합니다.
기준 금액과 항목을 국가별로 설정할 수 있습니다.
변경·승인·서명 이력을 모두 내보낼 수 있습니다.
클라우드, 전용 환경, 온프레미스 중에서 고를 수 있습니다.
REST API와 서명 웹훅, Node.js·Python·Java SDK로 연동하며, 테스트넷 정책도 메인넷과 같습니다.
curl https://api.octet.im/2.0/wallets/wlt_8f2a/transfers \ -H "Authorization: Bearer $OCTET_API_TOKEN" \ -H "Idempotency-Key: 7f3c2a1e" \ -d '{ "asset": "USDC", "amount": "250000.00", "to": "0x4b3…9c1e", "travel_rule": { "beneficiary_vasp": "LEI:5493…" } }'
import Octet from "@octet/sdk"; const octet = new Octet(process.env.OCTET_API_TOKEN); const transfer = await octet.transfers.create("wlt_8f2a", { asset: "USDC", amount: "250000.00", to: "0x4b3…9c1e", travelRule: { beneficiaryVasp: "LEI:5493…" }, }, { idempotencyKey: "7f3c2a1e" }); console.log(transfer.state); // "awaiting_approval"
from octet import Octet client = Octet(api_key=os.environ["OCTET_API_TOKEN"]) transfer = client.transfers.create( "wlt_8f2a", asset="USDC", amount="250000.00", to="0x4b3…9c1e", travel_rule={"beneficiary_vasp": "LEI:5493…"}, idempotency_key="7f3c2a1e", ) print(transfer.state) # awaiting_approval
// POST https://your-app.example/octet/webhook // Octet-Signature: t=1760950985,v1=3f1a… { "type": "transfer.approved", "data": { "id": "trf_01J9K4", "state": "broadcast", "tx_hash": "0x9d2c…", "approvals": { "required": 2, "received": 2 } } }