트레저리
모든 거래의 2 %는 마켓의 TreasuryVault로 들어가 토큰화 주식이 되어 나오고, 토큰 홀더에게
에어드랍됩니다. 전체 경로는 다음과 같습니다.
세 행위자
트레이더는 특별한 일을 하지 않습니다: 매수하거나 매도할 뿐입니다. 수수료는 같은 트랜잭션에서 훅이 떼어 갑니다.
컨트랙트가 모든 것을 결정합니다. 볼트는 어떤 바스켓을 보유해야 하는지, 어떤 가격 한도 안에서 거래할지, 무엇을 거부할지 알고 있습니다. 어떤 함수도 바스켓을 바꾸지 않습니다. 가격 한도와 전환 임계값은 2026-10-05부터 StockFun 오너의 설정이며, 모든 볼트가 실시간으로 읽습니다; 그 밖의 규칙은 StockFun의 오너가 볼트를 업그레이드해야만 바꿀 수 있습니다.
키퍼는 트리거만 하는 오프체인 워커입니다. 시점을 고르고, 각 단계의 금액을 지정하고, 경로와 최소 수량을 제안하며, 볼트는 그 최소 수량이 자체 가격 한도보다 느슨하면 거부합니다. 키퍼는 자산도, 현금을 자산 사이에 어떻게 나눌지도, 가격도 선택하지 않습니다. 무엇을 지정하든, 키퍼는 자산을 빼돌리거나 한도를 완화하거나 바스켓의 비중을 바꾸거나 에어드랍을 받을 사람을 선택할 수 없습니다.
경로
NVDA · MSFT · GOOGL · SPY · QQQ] S -->|래핑되어 Ethereum으로| AD[AirdropDistributor] AD -->|에어드랍, 100 %, 비례 배분| H[토큰 홀더]
모든 레그에는 독립적인 Chainlink 오라클로 한도가 설정됩니다: 기본값으로 ETH → USDC는 50 베이시스 포인트, 주식을 매수하는 레그는 200입니다. 볼트는 실제로 받은 양을 측정하고, 그것이 키퍼의 최소 수량에 미치지 못하면 트랜잭션을 거부하며, 이 최소 수량 자체는 결코 한도보다 느슨하지 않습니다(2026-10-05부터; 그 전까지는 한도에 미치지 못하면 거부했습니다). 볼트는 키퍼도, 레일도, 제시받은 가격도 신뢰하지 않습니다.
전환 임계값
볼트는 거래마다 전환하지 않습니다. 24시간마다 한 번, 에어드랍 직전에 쌓인 금액을 전환합니다 — 단, 그 금액이 기본 임계값인 0.1 ETH 이상인 경우에 한합니다. 그보다 적으면 가스비와 슬리피지가 작업을 잠식합니다: 그날은 아무 일도 일어나지 않으며, ETH는 그날 나중에 거래로 임계값을 넘더라도 다음 주기를 기다립니다. 키퍼는 에어드랍 측정 구간이 닫힌 뒤(기본값 13:00 UTC) 루프를 처음 돌 때 이를 확인합니다; 키퍼는 2026-10-06부터 이를 지키며, 그 전에는 볼트가 임계값을 보유하는 즉시 거래 시간 중 루프를 돌 때 어느 때든 볼트의 ETH를 전환했습니다.
기본 임계값은 첫 번째 유동성 밴드를 소진한 마켓이라면 항상 임계값을 넘어 있도록 조정되어 있습니다: 그 시점까지 약 0.159 ETH를 받았으며, 다음 일일 주기에 전환합니다.
2026-10-01부터 각 단계는 잔액 전체가 아니라 키퍼가 지정한 금액을 전환하며, 그 금액은 ETH 단계에서 결코 임계값보다 적지 않습니다. 거래 장소가 한도 안에서 체결할 수 있는 규모를 넘어 커진 볼트는 여러 번에 나누어 전환하고, 나머지는 다음 주기를 기다립니다. 그 전까지는 그런 볼트가 다시는 전환할 수 없었습니다.
바스켓 비중
현금은 들어오는 대로 바스켓 비중에 따라 주식별로 따로 배정됩니다. 각 주식은 자신의 몫만
지출합니다. 발행사가 동결했거나, 피드가 갱신을 멈췄거나, 풀이 너무 얕거나, 2026-10-06부터
Robinhood Chain에서는 그 토큰의 오라클을 일시 중지시키는 기업 행위를 거치고 있어서 어느 날 매수할
수 없는 주식은 자신의 몫을 이후 주기를 위해 유지합니다. 2026-10-05부터 그 주식의 레그는 단독으로
실패하며(LegFailed), 바스켓의 다른 주식들은 같은 호출에서 매수됩니다; 그 전까지는 레그 하나가
실패하면 매수 전체가 실패했습니다.
따라서 2026-10-01부터 키퍼는 주식을 건너뛰는 방식으로 바스켓 구성을 바꿀 수 없습니다. 이전에는 건너뛴 주식의 몫이 바스켓 전체에 다시 나뉘었습니다.
2026-10-01 보안 파이프라인 이후로, 볼트의 현금을 배정된 금액 아래로 떨어뜨리는 긴급 회수는 모든 배정분을 무효로 합니다: 남은 현금과 이후 들어오는 모든 현금은 비중에 따라 새로 나뉩니다. 긴급 모드를 참고하십시오. 매수할 때마다 키퍼는 n을 주식의 수라고 할 때 마지막 주식의 몫에서 n−1 단위를 남겨 두며, 이 단위들은 다음 호출을 위해 배정된 상태로 남습니다. 키퍼를 참고하십시오.
볼트가 보유할 수 있는 것
어느 순간이든 볼트는 다음을 섞어서 보유합니다:
- ETH — 받았지만 아직 전환되지 않음
- USDC, 이어서 USDG — 원격 체인으로 이동 중
- 토큰화 주식 — Robinhood Chain 위의 최종 상태
세 가지 모두 다음 에어드랍을 기다리는 트레저리로 표시되며, 분배되는 것은 매수가 끝난 주식뿐입니다. USDC로 가득 찬 볼트는 고장 난 볼트가 아니라, 이동 중인 볼트입니다.
일어날 수 없는 일
누구도 볼트에서 인출할 수 없습니다. withdraw도, transfer도, sweep도, 오너도 없습니다:
호출하면 실패하는데, 애초에 존재하지 않기 때문입니다.
트레저리의 자산이 빠져나가는 방법은 세 가지뿐입니다: 토큰화 주식으로의 전환, 토큰 홀더를 위해 그 주식을 에어드랍 컨트랙트에 넘기는 것, 그리고 StockFun의 오너가 자산을 어떤 주소로든 즉시 이동하는 긴급 모드. 현재 코드에서 그 밖의 어떤 것도 자산을 움직일 수 없습니다. 2026-10-02부터 StockFun의 오너는 볼트를 업그레이드할 수 있으며, 업그레이드는 즉시 효력을 가집니다: 신뢰 모델을 참고하십시오.
볼트 외에도 두 컨트랙트가 여러 마켓을 위한 프로토콜의 자산을 한꺼번에 보유합니다: 에어드랍
컨트랙트와 리모트 허브입니다. 2026-10-05부터, 둘 중 어느 쪽에서든 긴급 이동이 일어난 뒤에 어떤
마켓도 다른 마켓의 자산으로 지급받지 않으며, 다른 마켓을 위해 도착했지만 아직 적립되지 않은
자산으로도 지급받지 않습니다: 없어진 것은 자산을 되돌려 놓을 때까지(restore; 단순한 전송은
인정되지 않습니다), 또는 StockFun의 오너가 손실을 입은 마켓에서 그 손실을 상각할 때까지
대기합니다. 대기하는 것은 없어진 것뿐입니다: 청구는 여전히 다른 주식들을 지급하며, 리모트 허브에서
한 마켓에 차감되는 긴급 이동은 다른 모든 마켓의 지급을 계속 진행되게 합니다.
긴급 모드를 참고하십시오.